FA-Bench 単語と音素のタイムスタンプ精度を測るベンチマーク
FA-Bench は、単語と音素のタイムスタンプが人間の言語学者が置いた境界にどれだけ近いかを測ります。TIMIT と Buckeye を使い、クリーンな音声とノイズを加えた音声の両方で ASR システムと forced aligner を採点し、リーダーボードで 2026 年 10 月の結果に基づく順位を示します。
FA-Bench Leaderboard · github.com/olewave/fa-bench · Paper on arXiv
2026年10月28日に、10月の結果を反映して更新しました。
FA-Bench は 2026年8月17日に公開しました。単語と音素のタイムスタンプが、人間の言語学者が置いた境界にどれだけ近いかを測ります。
FA-Bench は、自ら認識した単語と時刻を返す音声認識システムを採点します。書き起こしを与えられた forced aligner も採点します。すべてのシステムが同じテストセットに対して同じコードで実行されます。そのため、任意の2つの数値を直接比較できます。FA-Bench Leaderboard では、17 の ASR システムと 15 の forced aligner を順位付けしています。
なぜベンチマークが必要か
forced aligner の結果は再現が困難です。論文ごとに独自の音素セットとテスト分割を選び、独自の指標で採点します。そのため、ある論文の数値が次の論文の数値と同じものを測っていることはまれです。音声研究者はきれいなアブレーション研究を行えません。voice AI エンジニアもどのシステムを導入すべきか判断できません。
FA-Bench は、ラベルの統合方法から各境界の採点方法まで、評価のすべてをコードとして公開しています。私たちと同じパイプラインを実行できます。
FA-Bench が試すもの
FA-Bench は、人間の言語学者が境界を手作業で修正した2つのコーパスを採点します。TIMIT core test には、24 人の話者による 192 の読み上げ文が含まれます。Buckeye test には、8 人の話者による会話 4,513 セグメントが含まれます。FA-Bench は独自のアノテーションを加えません。境界時刻はコーパスの値をそのまま使い、音素ラベルは共通の TIMIT-39 セットに統合します。
各テストセットは、クリーンな音声と4種類の劣化コピーで実行します。劣化コピーは、固定したシード値から Kaldi のデータ拡張レシピで作成します。たとえばノイズ版では、SNR 15、10、5、0 dB で MUSAN のノイズクリップを重ねます。システムの総合スコアは、4つのテストセルの平均です。TIMIT core test と Buckeye test の、それぞれクリーン版とノイズ版です。
2つのタスク
タイムスタンプ付き ASR は、音声だけを聞いて自ら認識した単語を返し、各単語に開始時刻と終了時刻を付けます。聞き間違えた単語は、その2つの時刻をどちらも失います。そのため、このスコアは認識の誤りとタイミングの誤りをまとめて評価します。
Forced alignment には参照用の書き起こしが与えられるため、採点されるのはタイミングだけです。FA-Bench は、Qwen3-ASR が認識した単語も各 aligner に渡します。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 以内にあればヒットとなります。
すべてのスコアには、テスト発話を 2,000 回ブートストラップ抽出して求めた 95% 区間が付きます。各システムには、それらの抽出の中で取りうる順位の範囲も付きます。範囲が重なる2つのシステムは、これらのテストセットでは同順位です。たとえば Google Chirp 3 と CrisperWhisper は、どちらも 2 位から 3 位の範囲です。
FA-Bench overview では、リーダーボードのすべての数値を図解つきで説明しています。
2026年10月の結果
以下は、リーダーボードの 2026年10月の結果から、4つのテストセルの平均である 20 ms での単語タイムスタンプ F1 を示したものです。
タイムスタンプ付き ASR では、Google Chirp 2 が 0.486 で 1 位です。95% 区間は 0.475 から 0.498 です。CrisperWhisper が 0.455、Google Chirp 3 が 0.452 で、2 位と 3 位を分け合っています。
参照の書き起こしを使う forced alignment では、MFA 3.4 が 0.658 で 1 位、PocketSphinx が 0.648 で 2 位です。Qwen3-ASR が認識した単語を渡した場合も、MFA 3.4 が 0.628 で 1 位を保ちます。20 ms での音素境界 F1 で採点する音素では、MFA 3.4 が 0.436 で 1 位です。
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
実際のシステムを採点するには、TIMIT を LDC から、Buckeye を OSU の登録を通じて、それぞれのライセンスに従って入手してください。その後 fabench init を実行すると、各コーパスの場所を尋ねられます。リーダーボードのすべてのボードで数値を CSV として取得できるため、自分の結果を私たちの結果と照らし合わせられます。
FA-Bench はバージョン 2.0.0 から Apache License 2.0 のもとで公開しています。商用利用を含め、誰でもコードを使い、改変し、共有できます。FA-Bench という名称は引き続き Olewave に帰属します。このコードで得た結果は、FA-Bench のスコアラー、バージョン 2.0 で採点したものと記載できます。