项目简介
一款快速、完全本地化的AI语音聊天工具,使用WebSockets实现低延迟语音交互,支持多种语音识别和合成技术
在 7900 类 AMD RDNA3 显卡上,语音到语音的延迟在 1 秒范围内:
在 4090 上,使用更快的 Whisper(faster-distil-whisper-large-v2),我们可以将延迟降低到低至 300 毫秒:
安装
这些安装指南适用于 Ubuntu LTS,并假设您已经设置了 ROCm 或 CUDA。
我建议你使用 conda 或(我更喜欢的)mamba 进行环境管理。这会让你的生活更轻松。
系统先决条件
sudo apt update
sudo apt install byobu curl wget
sudo apt install espeak-ng ffmpeg libopus0 libopus-dev
Checkout code
mamba create -y -n voicechat2 python=3.11
mamba activate voicechat2
git clone https://github.com/lhl/voicechat2
cd voicechat2
pip install -r requirements.txt
whisper.cpp
git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
GGML_HIPBLAS=1 make -j
GGML_CUDA=1 make -j
bash ./models/download-ggml-model.sh large-v2
cd ..
llama.cpp
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make GGML_HIPBLAS=1 -j
make GGML_CUDA=1 -j
wget https://huggingface.co/bartowski/Meta-Llama-3-8B-Instruct-GGUF/resolve/main/Meta-Llama-3-8B-Instruct-Q4_K_M.gguf
cd ..
StyleTTS2
git clone https://github.com/yl4579/StyleTTS2.git
cd StyleTTS2
pip install -r requirements.txt
pip install phonemizer
pip install huggingface_hub
huggingface-cli download --local-dir . yl4579/StyleTTS2-LJSpeech
额外的便利脚本:Translated Text:
run-voicechat2.sh - on your GPU machine, tries to launch all servers in separate byobu sessions
remote-tunnel.sh - connect your GPU machine to a jump machine
local-tunnel.sh - connect to the GPU machine via a jump machine
其他 AI 语音聊天项目
webrtc-ai-voice-chat
演示显示了相当大的延迟(约 10 秒),但这个项目并不接近我们正在做的事情(它使用 WebRTC 而不是 WebSocket)来自 voicechat2(HF Transformers,Ollama)
june
基于控制台的本地客户端(HF 变压器、Ollama、Coqui TTS、PortAudio)
GlaDOS
这是一个非常响应式的基于控制台的本地客户端应用,也支持 VAD 和中断,还有非常聪明的钩子!(whisper.cpp, llama.cpp, piper, espeak)
local-talking-llm
另一种基于控制台的本地客户端,更多的是一个概念验证,但带有博客撰写说明。
BUD-E - 自然语音助手