商业 ASR 评测:工具调研 & 批量测试看板

首包 / 尾包 / CER 全指标 · 调研日期 2026-07-28 · 配套框架 asr-bench

7
调研评测工具
5
已接入厂商适配器
5
核心评测指标
-
演示批量样本数

指标口径(业界标准术语对照)

通俗叫法业界标准术语定义
首包Time to First Partial开始送音频 → 收到第一个中间识别结果
首字Time to First Text开始送音频 → 收到第一个非空识别文本
尾包Time to Final / TTFS / 尾点延迟送完最后一包音频 → 收到最终确认结果
准确率CER(中文)/ WER(英文)编辑距离 ÷ 参考文本字数,需先做文本归一化
尾延迟P95 / P99生产环境比中位数更重要,决定对话体验下限

评测工具横向对比

工具/平台类型延迟指标准确率中文/国内厂商结论
pipecat-ai/stt-benchmark开源框架TTFS P50/P95/P99(VAD打点)Semantic WER❌ 英文集,可扩展方法论最佳,骨架可复用
SpeechIO Leaderboard开源榜单+pipelineCER(中文事实标准)✅ 阿里/腾讯/百度/思必驰等中文测试集与API脚本可复用
Artificial Analysis托管榜单首个partial/final延迟AA-WER❌ 海外模型为主方法论蓝本,直接查数
Picovoice STT/TTS benchmark开源框架TTS首包(TTFA)WER/CER后续测 TTS 首包可用
声网对话式AI评测平台托管平台级联全链路延迟WER✅ 腾讯云/火山/凤鸣国内级联对比参考
zxmfke/asrfactory开源封装(Go)❌(可自行打点)✅ 阿里/百度/字节/腾讯/讯飞等6家国内厂商接口封装参考
HuggingFace Open ASR Leaderboard托管榜单RTFxWER❌ 开源模型为主开源模型选型参考

落地结论

推荐组合

  • 框架骨架:借鉴 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)

样本明细