RealtimeVoiceChat: diálogo hablado natural de baja latencia con IA

吐司AI

Introducción general

RealtimeVoiceChat 是一个开源项目,专注于通过语音与人工智能进行实时、自然的对话。用户使用麦克风输入语音,系统通过浏览器捕获音频,快速转为文字,由大型语言模型(LLM)生成回复,再将文字转为语音输出,整个过程接近实时。项目采用客户端-服务器架构,强调低延迟,支持 WebSocket 流式传输和动态对话管理。它提供 Docker 部署,推荐在 Linux 系统和 NVIDIA GPU 环境下运行,集成了 RealtimeSTT、RealtimeTTS 和 Ollama 等技术,适合开发者构建语音交互应用。

RealtimeVoiceChat:低延迟与AI进行自然口语对话

 

Lista de funciones

  • 实时语音交互:用户通过浏览器麦克风输入语音,系统实时转录并生成语音回复。
  • 低延迟处理:使用 WebSocket 流式传输音频,优化语音转文字和文字转语音的延迟至 0.5-1 秒。
  • 语音转文字(STT):采用 RealtimeSTT(基于 Whisper)快速将语音转为文字,支持动态转录。
  • 文字转语音(TTS):通过 RealtimeTTS(支持 Coqui、Kokoro、Orpheus)生成自然语音,可选多种语音风格。
  • 智能对话管理:集成 Ollama 或 OpenAI 的语言模型,支持灵活的对话生成和中断处理。
  • 动态语音检测:通过 turndetect.py 实现智能沉默检测,适应对话节奏。
  • Web 界面:提供简洁的浏览器界面,使用 Vanilla JS 和 Web Audio API,支持实时反馈。
  • Despliegue de Docker:通过 Docker Compose 简化安装,支持 GPU 加速和模型管理。
  • 模型自定义:支持切换 STT、TTS 和 LLM 模型,调整语音和对话参数。
  • 开源可扩展:代码公开,开发者可自由修改或扩展功能。

 

Utilizar la ayuda

Proceso de instalación

RealtimeVoiceChat 支持 Docker 部署(推荐)和手动安装。Docker 方式适合 Linux 系统,尤其是配备 NVIDIA GPU 的环境;手动安装适用于 Windows 或需要更多控制权的场景。以下是详细步骤:

Docker 部署(推荐)

需要安装 Docker Engine、Docker Compose v2+ 和 NVIDIA Container Toolkit(GPU 用户)。推荐 Linux 系统以获得最佳 GPU 支持。

  1. almacén de clones::
    git clone https://github.com/KoljaB/RealtimeVoiceChat.git
    cd RealtimeVoiceChat
  1. Creación de una imagen Docker::
    docker compose build
    

    此步骤下载基础镜像、安装 Python 和机器学习依赖,并预下载默认 STT 模型(Whisper base.en)。耗时较长,请确保网络稳定。

  2. Inicio de los servicios::
    docker compose up -d
    

    启动应用和 Ollama 服务,容器在后台运行。等待约 1-2 分钟完成初始化。

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

    此命令拉取默认语言模型。用户可在 code/server.py 中修改 LLM_START_MODEL 以使用其他模型。

  4. 验证模型可用性::
    docker compose exec ollama ollama list
    

    确保模型已正确加载。

  5. 停止或重启服务::
    docker compose down  # 停止服务
    docker compose up -d  # 重启服务
    
  6. 查看日志::
    docker compose logs -f app  # 查看应用日志
    docker compose logs -f ollama  # 查看 Ollama 日志
    

手动安装(Windows/Linux/macOS)

手动安装需要 Python 3.9+、CUDA 12.1(GPU 用户)和 FFmpeg。Windows 用户可使用提供的 install.bat 脚本简化流程。

  1. 安装基础依赖::
    • 确保 Python 3.9+ 已安装。
    • GPU 用户安装 NVIDIA CUDA Toolkit 12.1 和 cuDNN。
    • 安装 FFmpeg:
      # Ubuntu/Debian
      sudo apt update && sudo apt install ffmpeg
      # Windows (使用 Chocolatey)
      choco install ffmpeg
      
  2. 克隆仓库并创建虚拟环境::
    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. 安装 PyTorch(匹配硬件)::
    • 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(性能较慢):
      pip install torch torchaudio torchvision
      
  4. 安装其他依赖::
    cd code
    pip install -r requirements.txt
    

    注意:DeepSpeed 安装可能较复杂,Windows 用户可通过 install.bat 自动处理。

  5. 安装 Ollama(非 Docker 用户)::
    • 参考 Ollama 官方文档安装。
    • 拉取模型:
      ollama pull hf.co/bartowski/huihui-ai_Mistral-Small-24B-Instruct-2501-abliterated-GGUF:Q4_K_M
      
  6. 运行应用::
    python server.py
    

advertencia

  • requisitos de hardware:推荐 NVIDIA GPU(至少 8GB 显存)以确保低延迟。CPU 运行会导致显著性能下降。
  • Docker 配置:修改 code/*.py tal vez docker-compose.yml 前,需重新运行 docker compose build.
  • 许可合规:TTS 引擎(如 Coqui XTTSv2)和 LLM 模型有独立许可,需遵守其条款。

flujo de trabajo

  1. 访问 Web 界面::
    • Abra su navegador y visite http://localhost:8000(或远程服务器 IP)。
    • 授予麦克风权限,点击“Start”开始对话。
  2. 语音交互::
    • 对麦克风说话,系统通过 Web Audio API 捕获音频。
    • 音频经 WebSocket 传输至后端,RealtimeSTT 转为文字,Ollama/OpenAI 生成回复,RealtimeTTS 转为语音并通过浏览器播放。
    • 对话延迟通常为 0.5-1 秒,支持随时中断和继续。
  3. Información en tiempo real::
    • 界面显示部分转录文本和 AI 回复,方便用户跟踪对话。
    • 可点击“Stop”结束对话,“Reset”清除历史记录。
  4. 配置调整::
    • TTS 引擎: en code/server.py 中设置 START_ENGINE(如 coquiykokoroyorpheus),调整语音风格。
    • LLM 模型:修改 LLM_START_PROVIDER responder cantando LLM_START_MODEL,支持 Ollama 或 OpenAI。
    • STT 参数: en code/transcribe.py 中调整 Whisper 模型、语言或沉默阈值。
    • 沉默检测: en code/turndetect.py 中修改 silence_limit_seconds(默认 0.2 秒)以优化对话节奏。
  5. Depuración y optimización::
    • 查看日志:docker compose logs -f(Docker)或直接查看 server.py 输出。
    • 性能问题:确保 CUDA 版本匹配,降低 realtime_batch_size 或使用轻量模型。
    • 网络配置:如需 HTTPS,设置 USE_SSL = True 并提供证书路径(参考官方 SSL 配置)。

Función destacada Operación

  • 低延迟流式处理:通过 WebSocket 传输音频分块,结合 RealtimeSTT 和 RealtimeTTS,延迟低至 0.5 秒。用户可流畅对话,无需等待。
  • 动态对话管理::turndetect.py 智能检测语音结束,支持自然中断。例如,用户可随时插话,系统会暂停生成并处理新输入。
  • Web 界面交互:浏览器界面使用 Vanilla JS 和 Web Audio API,提供实时转录和回复显示。用户可通过“Start/Stop/Reset”按钮控制对话。
  • 模型灵活性:支持切换 TTS 引擎(Coqui/Kokoro/Orpheus)和 LLM 后端(Ollama/OpenAI)。例如,切换 TTS:
    START_ENGINE = "kokoro"  # 在 code/server.py 中修改
    
  • Docker 管理:通过 Docker Compose 管理服务,更新模型只需:
    docker compose exec ollama ollama pull <new_model>
    

 

escenario de aplicación

  1. AI 语音交互研究
    开发者可测试 RealtimeSTT、RealtimeTTS 和 LLM 的集成效果,探索低延迟语音交互的优化方案。开源代码支持自定义参数,适合学术研究。
  2. 智能客服原型
    企业可基于项目开发语音客服系统。用户通过语音提问,系统实时回答常见问题,如技术支持或产品咨询。
  3. 语言学习工具
    教育机构可利用多语言 TTS 功能,开发语音对话练习工具。学生与 AI 对话,练习发音和会话,系统提供实时反馈。
  4. 个人语音助手
    技术爱好者可部署项目,体验与 AI 的自然语音交互,模拟智能助手,适用于个人娱乐或小型项目。

 

CONTROL DE CALIDAD

  1. 需要什么硬件支持?
    推荐 Linux 系统,配备 NVIDIA GPU(至少 8GB 显存)和 CUDA 12.1。CPU 运行可行,但延迟较高。最低要求:Python 3.9+,8GB 内存。
  2. 如何解决 Docker 部署问题?
    确保 Docker、Docker Compose 和 NVIDIA Container Toolkit 正确安装。检查 docker-compose.yml 的 GPU 配置,查看日志:docker compose logs -f.
  3. 如何切换语音或模型?
    modificaciones code/server.py ha dado en el clavo START_ENGINE(TTS)或 LLM_START_MODEL(LLM)。Docker 用户需重新拉取模型:docker compose exec ollama ollama pull <model>.
  4. ¿Qué idiomas se admiten?
    RealtimeTTS 支持多语言(如英语、中文、日语),需在 code/audio_module.py 中指定语言和语音模型。
© declaración de copyright
AiPPT

Artículos relacionados

Sin comentarios

ninguno
Sin comentarios...