🚀 Smart Turn v2
Smart Turn v2 是一个开源的语义语音活动检测(VAD)模型,它通过分析原始波形而非转录文本,来判断 说话者是否已结束发言。与 v1 相比,它具有以下优势:
- 多语言支持:支持 14 种语言(英语、法语、德语、西班牙语、葡萄牙语、中文、日语、印地语、意大利语、韩语、荷兰语、波兰语、俄语、土耳其语)。
- 模型体积缩小 6 倍:约 360 MB,而 v1 为 2.3 GB。
- 速度提升 3 倍:在 NVIDIA L40S 上分析 8 秒音频约需 12 毫秒。
🚀 快速开始
from transformers import pipeline
import soundfile as sf
pipe = pipeline(
"audio-classification",
model="pipecat-ai/smart-turn-v2",
feature_extractor="facebook/wav2vec2-base"
)
speech, sr = sf.read("user_utterance.wav")
if sr != 16_000:
raise ValueError("Resample to 16 kHz")
result = pipe(speech, top_k=None)[0]
print(f"Completed turn? {result['label']} Prob: {result['score']:.3f}")
✨ 主要特性
- 多语言支持:支持 14 种语言,能够满足不同语言环境下的语音活动检测需求。
- 模型体积小:相较于 v1 版本,模型体积大幅缩小,仅约 360 MB,更易于部署和使用。
- 速度快:分析音频的速度提升 3 倍,在 NVIDIA L40S 上分析 8 秒音频仅需约 12 毫秒。
📚 详细文档
预期用途与任务
使用场景 |
模型优势 |
语音助手/聊天机器人 |
等待用户 真正 结束说话后再回复,避免打断用户。 |
实时转录 + 文本转语音(TTS) |
仅在用户发言结束时触发 TTS,避免“双向对话”。 |
呼叫中心辅助与分析 |
为说话人分离和情感分析管道提供准确的分割。 |
任何需要语义 VAD 的项目 |
检测经典基于能量的 VAD 忽略的不完整想法、填充词(如“um …”、“えーと …”)和语调线索。 |
该模型输出一个单一概率值;值 ≥ 0.5 表示说话者已完成发言。
模型架构
- 骨干网络:
wav2vec2
编码器
- 头部网络:浅层线性分类器
- 参数数量:9480 万(float32)
- 检查点:360 MB Safetensors(压缩)
在消融研究中,wav2vec2 + 线性
配置的性能优于 LSTM 和更深层的 Transformer 变体。
训练数据
来源 |
类型 |
划分 |
语言 |
human_5_all |
人工录制 |
训练集/开发集/测试集 |
英语 |
chirp3_1 |
合成(Google Chirp3 TTS) |
训练集/开发集/测试集 |
14 种语言 |
- 句子使用 Gemini 2.5 Flash 进行清理,以去除不合语法、有争议或仅用于书面表达的文本。
- 使用 Claude 和 GPT-o3 为每种语言构建填充词列表(如“um”、“えーと”),并将其插入句子末尾附近,以训练模型识别中断的语音。
所有音频/文本对均发布在 pipecat-ai/datasets 仓库中。
评估与性能
未见合成测试集上的准确率(50% 完整 / 50% 不完整)
语言 |
准确率 |
语言 |
准确率 |
英语 |
94.3% |
意大利语 |
94.4% |
法语 |
95.5% |
韩语 |
95.5% |
西班牙语 |
92.1% |
葡萄牙语 |
95.5% |
德语 |
95.8% |
土耳其语 |
96.8% |
荷兰语 |
96.7% |
波兰语 |
94.6% |
俄语 |
93.0% |
印地语 |
91.2% |
中文 |
87.2% |
- |
- |
人工英语基准测试(human_5_all
):准确率为 99%。
8 秒音频的推理延迟
设备 |
时间 |
NVIDIA L40S |
12 毫秒 |
NVIDIA A100 |
19 毫秒 |
NVIDIA T4(AWS g4dn.xlarge) |
75 毫秒 |
16 核 x86 CPU(Modal) |
410 毫秒 |
oai_citation:7‡Daily
📄 许可证
本模型采用 BSD 2 条款许可证。