语音 AI 技术栈
构建语音助手需要三个组件:语音转文字(STT)、用于推理的 LLM 和文字转语音(TTS)。
语音转文字选项
- Whisper (OpenAI):高准确率,99 种语言,开源。
- Deepgram:实时流式,低延迟,对话 AI。
- AssemblyAI:适合会议转录,支持说话人分离。
文字转语音选项
- ElevenLabs:最自然的声音,声音克隆,情感范围。
- OpenAI TTS:质量好,API 简单,6 种声音。
- Coqui TTS:开源,可自托管,声音克隆。
架构模式
### 简单管道
1. 录音 → STT → 文字
2. 文字发送到 LLM → 回复
3. 回复发送到 TTS → 播放音频
### 流式管道(更低延迟)
1. 实时流式音频块到 STT。
2. 部分转录到达时预热 LLM。
3. 流式 LLM 回复 token 到 TTS。
延迟优化
- 每个阶段使用流式传输。
- 目标:用户停止说话到 AI 开始回复 < 1 秒。
大多数生产级语音助手遵循流水线:语音转文字(STT)→ LLM 处理 → 文字转语音(TTS)。关键设计决策是每个阶段是流式还是缓冲完整响应。流式处理可大幅降低感知延迟——用户在 500ms 内听到第一个词,而不是等待 3–5 秒的完整响应。
延迟预算
好的语音助手应在 1–2 秒内端到端响应。典型预算:STT 增加 200–500ms,LLM 首 token 延迟增加 300–800ms,TTS 增加 200–400ms。要保持在 2 秒以内,使用快速 STT(Whisper large-v3-turbo 或 Deepgram Nova-2)、低延迟 LLM(GPT-5-mini 或 Claude Haiku)和流式 TTS(ElevenLabs 或 PlayHT)。
常见坑
- 回声和打断:没有适当的回声消除,助手会听到自己并循环。使用专用回声消除库。
- 静音检测:判断用户何时停止说话比想象中难。Silero VAD 等语音活动检测模型效果好但需要针对环境调优。
- 口音和方言偏差:大多数 STT 模型在非标准口音上表现较差。用多样化说话者测试。