FA-Bench,词和音素时间戳准确度基准
FA-Bench 衡量词和音素时间戳与人工语言学家标注的边界有多接近。它在 TIMIT 和 Buckeye 上,对干净音频和加噪音频,为 ASR 系统和强制对齐器打分。排行榜以 2026 年 10 月的结果为它们排名。
FA-Bench 排行榜 · github.com/olewave/fa-bench · arXiv 论文
于 2026 年 10 月 28 日更新,加入了 10 月的结果。
我们于 2026 年 8 月 17 日发布了 FA-Bench。它衡量词和音素时间戳与人工语言学家标注的边界有多接近。
FA-Bench 会为语音识别系统打分,这些系统会返回自己识别出的词和时间。它也会为拿到文本稿的强制对齐器打分。每个系统都在相同的测试集上运行同一套代码,所以你可以直接比较任意两个数字。FA-Bench 排行榜对 17 个 ASR 系统和 15 个强制对齐器进行了排名。
为什么需要基准
强制对齐器的结果很难复现。每篇论文都选用自己的音素集和测试划分,并用自己的指标打分。所以一篇论文里的数字,很少和另一篇论文里的数字衡量同一件事。语音研究人员无法做出干净的消融实验,语音 AI 工程师也无法判断该部署哪个系统。
FA-Bench 把整个评测以代码形式公开,从标签如何合并,到每个边界如何打分。你运行的流程和我们的完全一样。
FA-Bench 测试什么
FA-Bench 为两个语料库打分,它们的边界都经过人工语言学家手动校正。TIMIT core test 包含来自 24 位说话人的 192 个朗读句子。Buckeye test 包含来自 8 位说话人的 4,513 段对话。FA-Bench 不添加任何自己的标注。它完全保留语料库给出的边界时间,并把音素标签合并到统一的 TIMIT-39 集合中。
每个测试集都会以干净音频和四个劣化副本运行,这些副本由 Kaldi 增强方案以固定随机种子生成。以噪声副本为例,它会以 15、10、5 和 0 dB 信噪比叠加 MUSAN 噪声片段。系统的总分是四个测试单元的平均值。这四个单元是 TIMIT core test 和 Buckeye test,各有干净和加噪两种。
两项任务
带时间戳的 ASR只听音频,并返回自己识别出的词,每个词都有起始和结束时间。听错一个词,系统会同时失去该词的两个时间。所以这个分数会同时计入识别错误和时间错误。
强制对齐会拿到参考文本稿,所以只对它的时间打分。FA-Bench 还会把 Qwen3-ASR 识别出的词交给每个对齐器。F1 Drop 就是对齐器拿到这些词时分数下降的幅度。以 MFA 3.4 为例,它在参考文本稿上得分 0.658,在识别出的词上得分 0.628,F1 Drop 为 0.030。
FA-Bench 如何打分
20 ms 词时间戳 F1 用来给词榜单排名。每个参考词都有一个起始时间和一个结束时间。当系统给出了相同的词,并且该时间与标注者的时间相差在 20 ms 以内时,这个时间算作命中。
20 ms 音素边界 F1 用来给音素榜单排名。当某个音素边界两侧的音素都与参考一致,并且它的时间与标注者的时间相差在 20 ms 以内时,这个边界算作命中。
每个分数都附带一个 95% 区间,它来自对测试语句进行的 2,000 次自助抽样。每个系统还会得到它在这些抽样中取得的名次范围。两个名次范围重叠的系统,在这些测试集上并列。例如,Google Chirp 3 和 CrisperWhisper 的名次范围都是 2 到 3。
FA-Bench 概览用一张示例图解释了排行榜上的每一个数字。
2026 年 10 月的结果
以下是 20 ms 词时间戳 F1,取四个测试单元的平均值,来自排行榜 2026 年 10 月的结果。
在带时间戳的 ASR 上,Google Chirp 2 以 0.486 排名第一,95% 区间为 0.475 到 0.498。CrisperWhisper 得分 0.455,Google Chirp 3 得分 0.452,二者并列第二和第三。
在使用参考文本稿的强制对齐上,MFA 3.4 以 0.658 排名第一,PocketSphinx 以 0.648 排名第二。拿到 Qwen3-ASR 识别出的词时,MFA 3.4 仍然排名第一,得分 0.628。在音素上,按 20 ms 音素边界 F1 打分,MFA 3.4 以 0.436 排名第一。
Olewave 同时开发了 FA-Bench 和 Olign。Olign 已不再参加 FA-Bench,所以没有任何榜单为它排名,排行榜只以未排名的形式列出它最后一次的结果。榜单上的每个系统,都用同一套公开代码,对照同样的人工标注打分。
自己动手运行
在接触任何有授权限制的音频之前,你就可以检查整条测量链。自测会构建一个合成语料库,并在它上面运行每一个步骤。每道关卡都会把结果与事先确定的答案比较,所以出问题的测量链会在关卡处失败。
git clone https://github.com/olewave/fa-bench && cd fa-bench
uv venv --python 3.12 .venv && . .venv/bin/activate
uv pip install -e ".[test]"
fabench selftest
fabench gates
要为真实系统打分,请按各自的许可,从 LDC 获取 TIMIT,并通过 OSU 注册获取 Buckeye。然后运行 fabench init,它会询问每个语料库所在的位置。排行榜上的每个榜单都提供 CSV 格式的数字,所以你可以把自己的结果与我们的对照。
FA-Bench 自 2.0.0 版起以 Apache License 2.0 发布。 任何人都可以使用、修改和分享这些代码,包括用于商业用途。FA-Bench 这一名称仍归 Olewave 所有。用这些代码得出的结果,可以说明是由 FA-Bench 评分器 2.0 版评分的。