乐于分享
好东西不私藏

在本地运行 AI 语音助手 - 开源语音对话 Agent

在本地运行 AI 语音助手 - 开源语音对话 Agent

用一个命令就能在本地跑起来的语音 AI 助手,和它说话就像和真人聊天一样自然


什么场景下需要用?

场景 1:想做一个语音助手但不想用云服务

你有一套智能家居,想让 AI 助手通过语音控制家里的灯光、空调,但又不想把语音数据传到云端。或者你想做一个教育机器人,让孩子们通过语音问问题,同样不希望隐私数据泄露。

场景 2:用语音和 AI 编程助手聊需求

你正在写代码,突然想到一个点子,但打字太慢。直接对着麦克风说:"帮我写一个 Python 函数,从 CSV 读取数据并生成折线图",AI 就能听懂并执行。比打字快 3 倍。

场景 3:搭建一个语音聊天机器人

你想做一个自己的"Jarvis",能和你语音对话,还能调用各种工具。这个项目把所有组件——语音识别、大模型、语音合成——都打包在一起,你只需要一个命令就能启动。

怎么用?

安装

pip install speech-to-speech

前提是你需要一个 OpenAI API Key(或兼容的本地模型),以及一个麦克风。

快速开始

export OPENAI_API_KEY=你的API密钥
speech-to-speech

这条命令会启动一个 WebSocket 服务器,默认监听 ws://localhost:8765/v1/realtime。然后打开另一个终端:

python scripts/listen_and_play_realtime.py --host 127.0.0.1 --port 8765

对着麦克风说话,AI 就会回答你。

完全本地运行

如果你想完全离线运行,用本地的 llama.cpp:

# 先跑一个本地大模型
llama-server -hf ggml-org/gemma-4-E4B-it-GGUF -np 2 -c 65536 -fa on --swa-full

# 然后让 speech-to-speech 指向它

speech-to-speech \
    --model_name "ggml-org/gemma-4-E4B-it-GGUF" \
    --responses_api_base_url "http://127.0.0.1:8080/v1" \
    --responses_api_api_key ""

替换语音识别和合成模型

项目支持多种语音后端:

# 使用 Faster Whisper 做语音识别
pip install "speech-to-speech[faster-whisper]"

# 使用 Kokoro 做语音合成

pip install "speech-to-speech[kokoro]"

# 在 macOS 上使用 MLX 加速

pip install "speech-to-speech[whisper-mlx]"

注意事项

  • • 首次运行会下载模型文件,需要网络连接
  • • 语音识别和合成对 GPU 友好,但 CPU 也能跑,只是延迟会高一些
  • • 支持的 LLM 需兼容 OpenAI API 格式(vLLM、llama.cpp、Ollama 都可以)
  • • 该项目由 Hugging Face 团队维护,已在数千台机器人上运行验证

总结

这个项目把语音 AI 助手的门槛降到了最低——一条命令就能跑起来,所有组件都可替换,支持本地离线运行。如果你需要一个能和你说中文的 AI 助手,这是目前最省心的方案。