speech-to-speech Skill:开源低延迟语音代理管道,Hugging Face 出品
总结
Hugging Face speech-to-speech 是一个开源本地语音代理框架,将 VAD(语音活动检测)→ STT(语音转文字)→ LLM(大语言模型)→ TTS(文字转语音)四个环节串联成低延迟管道,对外暴露 OpenAI Realtime 兼容的 WebSocket API。今日 GitHub Trending 狂揽 827 stars,背后是模块化架构 + 全链路可替换设计——用户可以自由混搭 Silero VAD / Parakeet / Whisper / Qwen3-TTS / Kokoro / ChatTTS 等组件,甚至把 LLM 完全跑在本地 llama.cpp 上,实现真正意义上的全离线、全开源语音对话。目前已支撑数千台 Reachy Mini 机器人的对话后端。
功能与原则
核心能力: 开源语音代理全栈管道,支持实时语音对话(realtime)、本地直接对话(local)、自定义 WebSocket / TCP 传输层。
设计原则:
– 全链路模块化:每个环节(VAD / STT / LLM / TTS)均有多个可插拔后端,不绑定供应商
– OpenAI Realtime 兼容:用标准 WebSocket 协议暴露 /v1/realtime 端,任何兼容客户端均可接入
– 本地优先:LLM 可完全跑在本地(llama.cpp / mlx-lm),TTS 可用 Qwen3-TTS GGML / Kokoro / ChatTTS,无需云端
– 跨平台:Linux(CUDA/CPU)、macOS(Apple Silicon MLX)、均自动解析依赖
认可度
- GitHub Star:8,003(截至 2026-07-30)
- 今日新增:827 stars(GitHub Trending 当日排名靠前)
- 生产验证:已作为数千台 Reachy Mini 机器人的生产对话后端
- Trending:2026-07-30 GitHub Trending 榜,827 stars/day
链接
GitHub:https://github.com/huggingface/speech-to-speech
原作者
Hugging Face(GitHub: @huggingface)
Hugging Face 是 AI 开源社区的核心推动者,主导 Transformers 库、Diffusers、Inference Providers 等基础设施,GitHub 全球 star 数排名前十。本项目由 Hugging Face 官方团队维护。
介绍
speech-to-speech 是一个低延迟、全模块化的语音代理管道:VAD 检测语音边界 → STT 将语音转文字 → LLM 生成回复(流式输出文本和工具调用)→ TTS 将回复合成语音并推送回客户端。全链路通过队列在独立线程中运行,延迟低、吞吐高。
该项目开箱支持 OpenAI Realtime 兼容 WebSocket API(ws://localhost:8765/v1/realtime),任何支持该协议的上层应用均可无缝接入。同时提供 local 模式,直接调用本机麦克风和扬声器,无需编写任何客户端代码。最特别的是 LLM 插槽完全兼容 OpenAI 协议——既可以指向 OpenAI / Anthropic 等托管服务,也可以指向本地 vLLM / llama.cpp 服务器,实现真正的全本地化部署。
安装仅需一行 pip install speech-to-speech,默认使用 Parakeet TDT 做语音识别、GPT-5.4-mini 做对话(通过 OpenAI Responses API)、Qwen3-TTS 做语音合成,CUDA 用户开箱即用,Apple Silicon 用户通过 --local_mac_optimal_settings 一键切换 MLX 推理路径。
特点
- 四阶段模块化管道:VAD → STT → LLM → TTS,每阶段均可替换后端,不锁定供应商
- OpenAI Realtime 协议兼容:标准 WebSocket 接口,现有语音应用无需改造即可接入
- 全本地部署支持:LLM 可跑在本地 llama.cpp / vLLM / mlx-lm,TTS 可选 Qwen3-TTS GGML / Kokoro / ChatTTS / Pocket / MMS,零云依赖
- 多传输模式:realtime(标准 WebSocket)、local(麦克风直连)、websocket(裸 PCM)、socket(TCP),覆盖从开发调试到生产部署全场景
- 跨平台自动解析:Linux CUDA/CPU、macOS Apple Silicon MLX,依赖通过
pyproject.tomlplatform markers 自动选择,无需手动配置 - 多语言 STT/TTS:内置 Silero VAD(多语言)、Parakeet、Whisper(多语言)、ChatTTS、Kokoro-82M、MMS 等,覆盖 100+ 语言
使用方法
安装:
pip install speech-to-speech
快速启动(使用 OpenAI API):
export OPENAI_API_KEY=sk-...
speech-to-speech
服务启动在 ws://localhost:8765/v1/realtime,用客户端连接即可语音对话。
本地模式(macOS Apple Silicon):
speech-to-speech --local_mac_optimal_settings
自动使用 MPS 设备 + Parakeet STT + MLX LM + Qwen3-TTS,无需任何配置。
完全本地 LLM(llama.cpp):
# 启动本地 Gemma4
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 ""
安装额外后端:
pip install "speech-to-speech[kokoro]" # Kokoro-82M TTS
pip install "speech-to-speech[chattts]" # ChatTTS
pip install "speech-to-speech[faster-whisper]" # Faster Whisper STT
pip install "speech-to-speech[pocket]" # Pocket TTS
使用场景与人群
适用场景:
– 语音机器人 / 对话智能体开发(本地部署版)
– 具身智能设备对话后端(已有 Reachy Mini 机器人生产验证)
– 隐私敏感场景:语音数据不能上云的医疗、法律、金融对话
– 跨平台语音应用开发(统一接口对接多端)
– AI 语音模型评测(模块化设计方便替换单一组件)
目标用户:
– AI 应用开发者(尤其是语音/具身智能方向)
– 机器人工程师(需要低延迟本地语音 pipeline)
– 隐私安全意识强的企业(数据不离本地)
– 开源 AI 爱好者(Hugging Face 生态深度用户)
输入与输出案例
案例 1:标准实时语音对话
输入(麦克风语音):「请用三句话解释量子计算」
输出(语音):「量子计算是一种利用量子力学原理进行信息处理的技术。它使用量子比特替代传统比特,能够同时表示多种状态。量子计算机在解决特定问题上比经典计算机快得多。」
案例 2:本地模式对话(无互联网)
输入(本地麦克风,LLM 和 TTS 全部跑在本地 MacBook M3 上):「帮我写一个 Python 斐波那契函数」
输出(本地扬声器语音播报):「当然,这是一个递归实现:def fib(n): if n <= 1: return n; return fib(n-1) + fib(n-2)。注意,对于大 n 值建议使用迭代版本以避免栈溢出。」
Star 历史(GitHub)
| 时间 | Stars |
|---|---|
| 2026-07-30 | 8,003(今日新增 827) |
评论区
登录后可评论。