指标口径(业界标准术语对照)
| 通俗叫法 | 业界标准术语 | 定义 |
| 首包 | Time to First Partial | 开始送音频 → 收到第一个中间识别结果 |
| 首字 | Time to First Text | 开始送音频 → 收到第一个非空识别文本 |
| 尾包 | Time to Final / TTFS / 尾点延迟 | 送完最后一包音频 → 收到最终确认结果 |
| 准确率 | CER(中文)/ WER(英文) | 编辑距离 ÷ 参考文本字数,需先做文本归一化 |
| 尾延迟 | P95 / P99 | 生产环境比中位数更重要,决定对话体验下限 |
评测工具横向对比
落地结论
推荐组合
- 框架骨架:借鉴 pipecat stt-benchmark 的打点方法与报表体系,自建轻量框架(已落地为 asr-bench)
- 测试集:SpeechIO 公开中文集 + 自有客服/外呼真实录音(8kHz 电话信道单独成组)
- 国内厂商:按官方 WebSocket 协议逐家写适配器,事件级打点首包/尾包
- 输出:首包/尾包 P50/P95/P99、CER、成功率、价格/千分钟
实测注意点(多信源印证)
- 延迟必须含网络链路,24h 内多次采样取中位数(Artificial Analysis 做法)
- 中文先做文本归一化再算 CER,否则虚高(SpeechIO pipeline 内置)
- 各厂商统一 ITN/标点开关,保证 CER 口径一致
- 阿里云官方"尾点延迟"定义:发送音频结束 → 完成识别,约 300ms 量级
asr-bench 架构
manifest.jsonl (音频+参考文本)
│
▼
┌─ Runner 批量调度(串行保延迟纯净 / 可选并发)─────────────┐
│ ┌ Adapter (统一接口) ────────────────────────────┐ │
│ │ mock / volcengine(豆包sauc) / aliyun(NLS) │ │
│ │ aws(Transcribe官方SDK) / azure(Speech SDK) │ │
│ │ · 真实语速推流(100ms/包,绝对时钟对齐) │ │
│ │ · Timeline 打点:建连/首包/首字/尾包 │ │
│ └────────────────────────────────────────────────┘ │
│ Metrics: CER(归一化+编辑距离) + P50/P95/P99 聚合 │
└─────────────────────────────────────────────────────────┘
│
▼
results/<run>/ raw_results.jsonl + summary.json + report.md → 本看板
指标打点口径
| 指标 | 起点 | 终点 |
| connect_ms 建连 | 发起 WebSocket 连接 | 服务端任务确认(可发音频) |
| first_pkt_ms 首包 | 第一包音频发出 | 首个识别响应(partial)到达 |
| first_text_ms 首字 | 第一包音频发出 | 首个非空识别文本到达 |
| final_pkt_ms 尾包 | 末包音频+结束指令发出 | 最终确认结果到达 |
| cer 字错误率 | 归一化(全角→半角/去标点/小写)后 编辑距离 ÷ 参考字数 |
快速使用
# 生成中文客服测试集(12条,macOS say 合成)
python3 scripts/gen_dataset.py
# 无凭证先跑 mock 验证全流程
./venv/bin/python -m asr_bench run --vendors mock \
--manifest data/manifest.jsonl --config vendors.example.json --repeats 2
# 配置凭证后跑真实厂商(国内+海外,建议每样本 ≥3 轮)
export VOLC_APP_KEY=xxx VOLC_ACCESS_KEY=xxx
export AWS_ACCESS_KEY_ID=xxx AWS_SECRET_ACCESS_KEY=xxx AZURE_SPEECH_KEY=xxx
./venv/bin/python -m asr_bench run --vendors volcengine,aliyun,aws,azure \
--manifest data/manifest.jsonl --config vendors.json --repeats 3
代码位置:学习用/asr-bench/,新增厂商只需实现一个 Adapter 并登记(详见 README)。
批次:-MOCK 演示
厂商汇总对比
延迟分布(P50 / P95 / P99)
样本明细