Aprendizagem pessoal com IA
e orientação prática
TRAE

RealtimeVoiceChat: diálogo falado natural de baixa latência com IA

Introdução geral

O RealtimeVoiceChat é um projeto de código aberto que se concentra em conversas naturais e em tempo real com inteligência artificial por meio de voz. Os usuários usam o microfone para inserir a voz, o sistema capta o áudio por meio do navegador, converte-o rapidamente em texto, usa um modelo de linguagem grande (LLM) para gerar uma resposta e, em seguida, converte o texto em saída de voz, e todo o processo é quase em tempo real. O projeto adota uma arquitetura cliente-servidor com ênfase em baixa latência e oferece suporte a streaming de WebSocket e gerenciamento de diálogo dinâmico. Ele fornece a implantação do Docker, é recomendado para execução no sistema Linux e no ambiente de GPU NVIDIA e integra RealtimeSTT, RealtimeTTS e Ollama e outras tecnologias que são adequadas para que os desenvolvedores criem aplicativos de interação por voz.

RealtimeVoiceChat: diálogo falado natural de baixa latência com o AI-1


 

Lista de funções

  • interação de voz em tempo realO sistema transcreve e gera uma resposta de voz em tempo real.
  • Processamento de baixa latênciaOtimize a latência de fala para texto e de texto para fala para 0,5 a 1 segundo com o streaming de áudio usando o WebSocket.
  • Conversão de fala em texto (STT)Conversão rápida de fala em texto usando o RealtimeSTT (baseado no Whisper), com suporte para transcrição dinâmica.
  • Conversão de texto em fala (TTS)Geração de fala natural por meio de RealtimeTTS (compatível com Coqui, Kokoro e Orpheus) com uma variedade de estilos de voz.
  • Gerenciamento inteligente de diálogosIntegração de modelos de linguagem da Ollama ou da OpenAI para dar suporte à geração de diálogos flexíveis e ao tratamento de interrupções.
  • Detecção dinâmica de voz: através de turndetect.py Permite a detecção inteligente de silêncio e se adapta ao ritmo do diálogo.
  • interface da webInterface de navegador limpa: fornece uma interface de navegador limpa, usa o Vanilla JS e a API de áudio da Web e oferece suporte a feedback em tempo real.
  • Implementação do DockerInstalação simplificada com o Docker Compose, suporte para aceleração de GPU e gerenciamento de modelos.
  • Personalização do modeloSuporte para alternar entre os modelos STT, TTS e LLM para ajustar os parâmetros de fala e diálogo.
  • código aberto e extensívelO código está disponível publicamente e os desenvolvedores têm liberdade para modificar ou ampliar a funcionalidade.

 

Usando a Ajuda

Processo de instalação

O RealtimeVoiceChat é compatível com a implantação do Docker (recomendada) e com a instalação manual; Docker para sistemas Linux, especialmente com GPUs NVIDIA, e instalação manual para Windows ou cenários em que é necessário mais controle. Veja abaixo as etapas detalhadas:

Implantação do Docker (recomendado)

Requer o Docker Engine, o Docker Compose v2+ e o NVIDIA Container Toolkit (para usuários de GPU). Os sistemas Linux são recomendados para melhor suporte à GPU.

  1. armazém de clones::
    git clone https://github.com/KoljaB/RealtimeVoiceChat.git
    cd RealtimeVoiceChat
  1. Criação de uma imagem do Docker::
    docker compose build
    

    Essa etapa faz o download da imagem de base, instala o Python e as dependências de aprendizado de máquina e faz o pré-download dos modelos STT padrão (Whisper base.en). Isso leva muito tempo, portanto, certifique-se de que sua rede esteja estável.

  2. Início dos serviços::
    docker compose up -d
    

    Inicie o aplicativo e o serviço Ollama com o contêiner em execução em segundo plano. Aguarde cerca de 1 a 2 minutos para que a inicialização seja concluída.

  3. Modelo Pull Ollama::
    docker compose exec ollama ollama pull hf.co/bartowski/huihui-ai_Mistral-Small-24B-Instruct-2501-abliterated-GGUF:Q4_K_M
    

    Esse comando extrai o modelo de idioma padrão. Os usuários podem encontrar o modelo de idioma padrão na seção code/server.py modificação LLM_START_MODEL para usar outros modelos.

  4. Validação da usabilidade do modelo::
    docker compose exec ollama ollama list
    

    Verifique se o modelo está carregado corretamente.

  5. Parar ou reiniciar o serviço::
    docker compose down  # 停止服务
    docker compose up -d  # 重启服务
    
  6. Ver registro::
    docker compose logs -f app  # 查看应用日志
    docker compose logs -f ollama  # 查看 Ollama 日志
    

Instalação manual (Windows/Linux/macOS)

A instalação manual requer Python 3.9+, CUDA 12.1 (usuários de GPU) e FFmpeg. Os usuários do Windows podem usar o install.bat Os scripts simplificam o processo.

  1. Instalação de dependências básicas::
    • Certifique-se de que o Python 3.9+ esteja instalado.
    • Os usuários de GPU instalam o NVIDIA CUDA Toolkit 12.1 e o cuDNN.
    • Instale o FFmpeg:
      # Ubuntu/Debian
      sudo apt update && sudo apt install ffmpeg
      # Windows (使用 Chocolatey)
      choco install ffmpeg
      
  2. Clone o repositório e crie um ambiente virtual::
    git clone https://github.com/KoljaB/RealtimeVoiceChat.git
    cd RealtimeVoiceChat
    python -m venv venv
    # Linux/macOS
    source venv/bin/activate
    # Windows
    .\venv\Scripts\activate
    
  3. Instalação do PyTorch (hardware correspondente)::
    • GPU (CUDA 12.1):
      pip install torch==2.5.1+cu121 torchaudio==2.5.1+cu121 torchvision --index-url https://download.pytorch.org/whl/cu121
      
    • CPU (desempenho mais lento):
      pip install torch torchaudio torchvision
      
  4. Instalação de dependências adicionais::
    cd code
    pip install -r requirements.txt
    

    Observação: A instalação do DeepSpeed pode ser complicada. Os usuários do Windows podem instalar o DeepSpeed por meio do install.bat Processamento automático.

  5. Instalar o Ollama (usuários que não são do Docker)::
    • Consulte a documentação oficial da Ollama para obter informações sobre a instalação.
    • Puxe o modelo:
      ollama pull hf.co/bartowski/huihui-ai_Mistral-Small-24B-Instruct-2501-abliterated-GGUF:Q4_K_M
      
  6. Executar o aplicativo::
    python server.py
    

advertência

  • Requisitos de hardwareGPUs NVIDIA (pelo menos 8 GB de RAM) são recomendadas para garantir baixa latência; a operação da CPU pode causar uma degradação significativa do desempenho.
  • Configuração do DockerModificação code/*.py talvez docker-compose.yml Antes de fazer isso, você precisa executar novamente o docker compose build.
  • Conformidade com a licençaO mecanismo TTS (por exemplo, Coqui XTTSv2) e o modelo LLM têm licenças separadas e estão sujeitos a seus termos.

fluxo de trabalho

  1. Acesso à interface da Web::
    • Abra seu navegador e acesse http://localhost:8000(ou IP do servidor remoto).
    • Conceda privilégios de microfone e clique em "Start" (Iniciar) para iniciar a conversa.
  2. interação por voz::
    • Fale no microfone e o sistema capturará o áudio por meio da API de áudio da Web.
    • O áudio é transferido para o backend via WebSocket, o RealtimeSTT é convertido em texto, o Ollama/OpenAI gera uma resposta e o RealtimeTTS é convertido em fala e reproduzido pelo navegador.
    • Os atrasos no diálogo são normalmente de 0,5 a 1 segundo, com suporte para interrupção e continuação a qualquer momento.
  3. Feedback em tempo real::
    • A interface exibe texto parcialmente transcrito e respostas de IA, facilitando o acompanhamento do diálogo pelos usuários.
    • Você pode clicar em "Stop" (Parar) para encerrar o diálogo e em "Reset" (Redefinir) para limpar o histórico.
  4. Ajustes de configuração::
    • Motor TTS: em code/server.py configurar START_ENGINE(por exemplo coquiekokoroeorpheus), ajustando o estilo da voz.
    • Modelo LLMModificação LLM_START_PROVIDER responder cantando LLM_START_MODELA seguir estão alguns dos recursos mais populares do Ollama
    • Parâmetros STT: em code/transcribe.py ajuste do estágio central Sussurro Limites de modelagem, linguagem ou silêncio.
    • Detecção de silêncio: em code/turndetect.py modificação silence_limit_seconds(padrão 0,2 segundos) para otimizar o ritmo do diálogo.
  5. Depuração e otimização::
    • Exibir registro:docker compose logs -f(Docker) ou simplesmente dê uma olhada no server.py Saída.
    • Problemas de desempenho: garantir a correspondência da versão CUDA, reduzir realtime_batch_size Ou use um modelo leve.
    • Configuração de rede: Se for necessário usar HTTPS, defina a opção USE_SSL = True e forneça o caminho do certificado (consulte a configuração oficial do SSL).

Operação da função em destaque

  • Processamento de streaming de baixa latênciaChunking de áudio via WebSocket, combinado com RealtimeSTT e RealtimeTTS, com latência tão baixa quanto 0,5 segundo. Os usuários podem ter conversas tranquilas sem esperar.
  • Gerenciamento dinâmico de diálogo::turndetect.py Detecta de forma inteligente o fim da fala e oferece suporte a interrupções naturais. Por exemplo, o usuário pode interromper a qualquer momento e o sistema fará uma pausa para gerar e processar novas entradas.
  • Interação com a interface da WebInterface do navegador: A interface do navegador usa o Vanilla JS e a API de áudio da Web para fornecer transcrição em tempo real e exibição de respostas. Os usuários podem controlar o diálogo com os botões "Start/Stop/Reset".
  • Flexibilidade de modelagemSuporte para troca de mecanismos TTS (Coqui/Kokoro/Orpheus) e backends LLM (Ollama/OpenAI). Por exemplo, a troca de TTS:
    START_ENGINE = "kokoro"  # 在 code/server.py 中修改
    
  • Gerenciamento do DockerO serviço é gerenciado pelo Docker Compose, e só é necessário atualizar o modelo:
    docker compose exec ollama ollama pull <new_model>
    

 

cenário do aplicativo

  1. Pesquisa de interação de voz com IA
    Os desenvolvedores podem testar a integração do RealtimeSTT, RealtimeTTS e LLM para explorar soluções otimizadas para interação de voz de baixa latência. O código-fonte aberto suporta parâmetros personalizados e é adequado para pesquisas acadêmicas.
  2. Protótipo de atendimento inteligente ao cliente
    As empresas podem desenvolver sistemas de atendimento ao cliente por voz com base no projeto. Os usuários fazem perguntas por voz e o sistema responde às perguntas comuns em tempo real, como suporte técnico ou orientação sobre produtos.
  3. Ferramentas de aprendizado de idiomas
    As instituições educacionais podem usar a funcionalidade TTS multilíngue para desenvolver ferramentas de prática de diálogo por voz. Os alunos dialogam com a IA para praticar a pronúncia e a conversação, e o sistema fornece feedback em tempo real.
  4. Assistentes pessoais de voz
    Os entusiastas da tecnologia podem implantar projetos para experimentar a interação de voz natural com IA, simulando um assistente inteligente, para entretenimento pessoal ou pequenos projetos.

 

QA

  1. Qual suporte de hardware é necessário?
    Sistema Linux recomendado com GPU NVIDIA (pelo menos 8 GB de memória de vídeo) e CUDA 12.1. A CPU funciona de forma viável, mas com alta latência. Requisitos mínimos: Python 3.9+, 8 GB de RAM.
  2. Como você resolve os problemas de implantação do Docker?
    Certifique-se de que o Docker, o Docker Compose e o NVIDIA Container Toolkit estejam instalados corretamente. Verificar docker-compose.yml da configuração da GPU para visualizar os registros:docker compose logs -f.
  3. Como faço para alternar entre voz ou modelo?
    modificações code/server.py acertou em cheio START_ENGINE(TTS) ou LLM_START_MODEL(LLM), o usuário do Docker precisa extrair novamente o modelo:docker compose exec ollama ollama pull <model>.
  4. Quais são os idiomas suportados?
    O RealtimeTTS oferece suporte a vários idiomas (por exemplo, inglês, chinês, japonês), que precisam ser definidos na seção code/audio_module.py Especifique o modelo de idioma e fala na seção
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " RealtimeVoiceChat: diálogo falado natural de baixa latência com IA
pt_BRPortuguês do Brasil