FA-Bench, 단어와 음소 타임스탬프의 정확도를 재는 벤치마크

Research

FA-Bench, 단어와 음소 타임스탬프의 정확도를 재는 벤치마크

FA-Bench는 단어와 음소 타임스탬프가 언어학자가 직접 표시한 경계에 얼마나 가깝게 놓이는지 측정합니다. TIMIT과 Buckeye에서 ASR 시스템과 forced aligner의 점수를 매기며, 깨끗한 음성과 잡음을 더한 음성을 모두 다룹니다. 리더보드는 2026년 10월 결과로 순위를 보여 줍니다.

FA-Bench, a Benchmark for the Accuracy of Word and Phone Timestamps

FA-Bench Leaderboard · github.com/olewave/fa-bench · arXiv 논문

2026년 10월 28일에 10월 결과를 반영해 업데이트했습니다.

FA-Bench는 2026년 8월 17일에 공개했습니다. 단어와 음소 타임스탬프가 언어학자가 직접 표시한 경계에 얼마나 가깝게 놓이는지 측정합니다.

FA-Bench는 자체 인식 단어에 시간을 붙여 반환하는 음성 인식 시스템을 평가합니다. 전사문을 받아 정렬하는 forced aligner도 평가합니다. 모든 시스템이 같은 테스트 세트에서 같은 코드로 실행되므로, 어떤 두 수치든 바로 비교할 수 있습니다. FA-Bench Leaderboard는 17개 ASR 시스템과 15개 forced aligner의 순위를 보여 줍니다.

벤치마크가 필요한 이유

Forced aligner의 결과는 재현하기 어렵습니다. 논문마다 자체 음소 집합과 테스트 분할을 고르고, 자체 지표로 점수를 매깁니다. 그래서 한 논문의 수치가 다른 논문의 수치와 같은 것을 재는 경우는 드뭅니다. 음성 연구자는 깔끔한 ablation 연구를 할 수 없고, 음성 AI 엔지니어는 어떤 시스템을 배포해야 할지 판단할 수 없습니다.

FA-Bench는 라벨을 합치는 방식부터 각 경계를 채점하는 방식까지 평가 전체를 코드로 공개합니다. 여러분은 저희와 같은 파이프라인을 실행합니다.

FA-Bench가 테스트하는 것

FA-Bench는 사람 언어학자가 경계를 손으로 교정한 두 코퍼스를 평가합니다. TIMIT core test에는 24명의 화자가 읽은 192개 문장이 있습니다. Buckeye test에는 8명의 화자가 나눈 대화 4,513개 구간이 있습니다. FA-Bench는 자체 주석을 추가하지 않습니다. 경계 시간은 코퍼스가 제공하는 그대로 유지하고, 음소 라벨은 공통 TIMIT-39 집합으로 합칩니다.

각 테스트 세트는 깨끗한 상태와 네 가지 열화 사본으로 실행됩니다. 열화 사본은 고정된 시드로 Kaldi 증강 레시피를 사용해 만듭니다. 예를 들어 잡음 사본은 MUSAN 잡음 클립을 SNR 15, 10, 5, 0 dB로 재생합니다. 시스템의 대표 점수는 네 개 테스트 셀의 평균입니다. 네 셀은 TIMIT core test와 Buckeye test이며, 각각 깨끗한 음성과 잡음이 있는 음성입니다.

두 가지 과제

타임스탬프가 있는 ASR은 오디오만 듣고 자체 인식 단어를 반환하며, 각 단어에 시작 시간과 끝 시간을 붙입니다. 단어를 잘못 들으면 그 단어의 두 시간이 모두 틀린 것으로 처리됩니다. 그래서 이 점수는 인식 오류와 타이밍 오류를 함께 반영합니다.

Forced alignment는 기준 전사문을 받으므로 타이밍만 점수에 반영됩니다. FA-Bench는 각 aligner에 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 이내이면 음소 경계가 정답입니다.

모든 점수에는 테스트 발화를 2,000번 부트스트랩 추출해 얻은 95% 구간이 함께 제공됩니다. 각 시스템에는 이 추출들에서 나온 순위 범위도 붙습니다. 순위 범위가 겹치는 두 시스템은 이 테스트 세트에서 동률입니다. 예를 들어 Google Chirp 3와 CrisperWhisper는 둘 다 순위 범위가 2위에서 3위입니다.

FA-Bench 개요에서는 리더보드의 모든 수치를 예시 그림과 함께 설명합니다.

2026년 10월 결과

아래는 리더보드의 2026년 10월 결과 중 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에 참여하지 않으므로 어떤 보드도 순위를 매기지 않으며, 리더보드에는 마지막 결과가 순위 없이 표시됩니다. 보드에 있는 모든 시스템은 같은 공개 코드로 같은 사람 주석을 기준으로 채점됩니다.

직접 실행해 보기

라이선스가 필요한 오디오를 다루기 전에 전체 측정 과정을 확인할 수 있습니다. 셀프 테스트는 합성 코퍼스를 만들고 모든 단계를 그 위에서 실행합니다. 각 gate는 결과를 미리 정해 둔 정답과 비교하므로, 과정이 어긋나 있으면 gate에서 실패합니다.

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으로 채점했다고 밝힐 수 있습니다.