2026 年 9 月 6 日,HuggingFace 发布 speech-to-speech 的 1.0 正式版——一个用开源模型搭建「语音代理」的 Python 流水线,GitHub 上已有 13.1k star。语音代理就是能听懂人说话、自己组织回答、再开口说出来的 AI 助手,典型场景是语音客服、智能音箱、机器人对话。这个项目解决的核心问题是:把「听、想、说」串成一条低延迟的完整链路,并且支持全本地运行——语音数据不离开你的电脑(用托管大模型的配置,只会把转写后的文字发给云端)。
它是什么:四段级联的流水线
speech-to-speech 把一次语音对话拆成四个环节,每段跑在独立线程里,用队列连接:
- VAD(语音活动检测):判断人什么时候开口、什么时候说完,默认用 Silero VAD v5;
- STT(语音转文字):把语音变成文字,默认用 NVIDIA 的 Parakeet TDT,支持 25 种欧洲语言;
- LLM(大语言模型):根据文字生成回答,槽位兼容 OpenAI 协议,可指向托管服务、HuggingFace 推理服务或本地模型服务器;
- TTS(文字转语音):把回答读出来,默认用 Qwen3-TTS,支持多语言。
四个环节的组件全部可以替换。STT 可换 Whisper、Faster Whisper、Paraformer(默认偏中文)等;TTS 可换 Kokoro-82M、ChatTTS、Pocket TTS(带音色克隆)、MMS 等。其中 OmniVoice 支持 600+ 语言的音色克隆,但它的模型权重采用 CC-BY-NC 许可,不能商用。
三种开箱配置
官方给出三种起步配置,按「大模型跑在哪」区分:
- Apple Silicon 全本地:Mac 上全本地运行,核心模型权重约 7.5GB,不需要 API key;
- NVIDIA GPU 全本地:Linux + NVIDIA GPU 全本地,LLM 权重约 8GB,不需要 API key;
- 本地语音 + 托管 LLM:识别和合成在本地(约 8GB 内存),只有转写文字发给云端大模型,麦克风音频不出本机。
兼容 OpenAI Realtime 协议
对外接口实现的是 OpenAI Realtime 核心事件集,通过 WebSocket 和 WebRTC 暴露,OpenAI 官方 SDK 客户端可以直接连接。LLM 槽位也能指向本地 vLLM 或 llama.cpp 服务器,组成全本地、全开源的语音对话栈。
生产验证
官方称该流水线已作为 Reachy Mini 机器人的对话后端运行在数千台机器人上,属于有生产实例背书的新项目。
适合谁用
- 想自建语音助手、又在意语音数据隐私的开发者;
- 做机器人、智能硬件对话功能的产品团队;
- 已经在用 OpenAI Realtime API、想切到开源方案的团队——协议兼容,迁移成本低。
结论:要搭一个能听会说的 AI 助手,speech-to-speech 是当前少有的「开源、模块化、可全本地、协议兼容 OpenAI」的现成流水线:1.0 已正式发布,从 Mac 到 NVIDIA GPU 都有现成起步配置,组件按需替换,数据隐私可控。