RealtimeVoiceChat:實時收到語音回復的實時AI語音聊天應用
RealtimeVoiceChat是什么?
RealtimeVoiceChat是一個能讓你用語音和智能系統聊天的開源項目,還能實時收到語音回復。它通過網絡傳輸音頻片段,把語音變成文字,讓智能系統處理,再把文字變成語音。這個項目支持多種智能系統(默認用Ollama,也能用Openai),還能靈活選擇語音風格。它采用客戶端-服務器架構,優化了低延遲,能智能檢測對話輪次,讓聊天更流暢。推薦用Docker來部署,如果有CUDA-enabled NVIDIA GPU,性能會更好。
RealtimeVoiceChat核心功能
流式語音交互:用戶語音被瀏覽器捕獲,通過WebSockets傳輸到Python后端,實時轉錄為文本,發送給LLM處理,然后將文本響應轉換為語音流回傳給用戶。
低延遲設計:通過音頻塊流式傳輸優化架構,確保對話流暢。
智能輪次檢測:動態靜默檢測,根據對話節奏自動切換說話權。
靈活的AI后端:支持多種LLM后端(默認為Ollama,也支持OpenAI)。
可定制語音:可以選擇不同的文本到語音引擎(如Kokoro、Coqui、Orpheus)。
簡潔的Web界面:使用Vanilla JS和Web Audio API構建的簡單用戶界面。
Docker化部署:推薦使用Docker Compose進行部署,便于管理依賴。
RealtimeVoiceChat特點
實時交互:用戶可以使用語音與 AI 進行對話,AI 也會以語音形式實時回應。
多組件協作:項目包含前端的音頻處理和 UI 交互,以及后端的語音轉錄、文本處理和語音合成等功能。
可配置性:支持多種 TTS 引擎和 LLM 模型,并且可以通過環境變量進行配置。
技術棧
后端:Python 3.x,FastAPI
前端:HTML、CSS、JavaScript(Vanilla JS、Web Audio API、AudioWorklets)
通信:WebSockets
容器化:Docker、Docker Compose
核心AI/ML庫:RealtimeSTT(語音轉文本)、RealtimeTTS(文本轉語音)、transformers(輪次檢測、分詞)、torch/torchaudio(機器學習框架)、ollama/openai(LLM客戶端)
音頻處理:numpy、scipy
安裝與部署
Docker安裝(推薦)
克隆項目并進入目錄。
構建Docker鏡像(會下載基礎鏡像、安裝Python/ML依賴并預下載默認STT模型)。
啟動服務(App和Ollama)。
拉取所需的Ollama模型。
通過瀏覽器訪問http://localhost:8000,開始語音聊天。
手動安裝
創建并激活Python虛擬環境。
安裝PyTorch(根據硬件配置)。
安裝其他依賴(requirements.txt)。
啟動FastAPI服務器。
通過瀏覽器訪問http://localhost:8000,開始語音聊天。
配置與定制
TTS引擎與語音:在server.py和audio_module.py中配置。
LLM后端與模型:在server.py和llm_module.py中配置。
STT設置:在transcribe.py中配置。
輪次檢測靈敏度:在turndetect.py中配置。
SSL/HTTPS:在server.py中配置。
項目地址
GitHub倉庫:https://github.com/KoljaB/RealtimeVoiceChat
相關文章
- 用戶登錄