
STT API 13종 × 12개 언어 독립 벤치마크 (Raw 데이터 및 코드 전체 공개)
요약
13종의 주요 STT API를 대상으로 12개 언어에 대한 독립적인 성능 벤치마크를 수행하고 그 결과와 방법론을 공개합니다. 데이터 조작 방지를 위해 측정 전 방법론을 사전 등록하고 Raw 데이터와 채점 코드를 모두 공개하여 투명성을 확보했습니다.
핵심 포인트
- 13종의 STT 엔진과 12개 언어에 대한 실측 데이터 제공
- 방법론 사전 등록 및 Raw 데이터/채점 코드 전체 공개로 투명성 증명
- 정규화 규칙 및 통계 처리 과정을 포함한 객관적 벤치마크 설계
- 약관 이슈로 제외된 엔진(AssemblyAI 등)에 대한 정보 포함
음성 입력 (Speech-to-Text) 엔진 선정에 대해 조사해 보면, 벤더(Vendor)의 자기 신고형 벤치마크와 영어 중심의 리더보드(Leaderboard)만 나타납니다. "43개 언어에서 최고 정밀도", "경쟁사의 5분의 1 가격으로 동등한 정밀도"라는 주장이 난무하는 반면, 일본어를 포함한 다국어에서 제3자가 동일한 조건으로 측정한 수치는 거의 찾아볼 수 없습니다.
이에 따라, 주요 호스트형 STT API 13종을 12개 언어로 실측했습니다. 결과는 리더보드로 공개하고 있습니다.
리더보드: https://koedesk.app/ja/benchmark/ -
리포지토리 (방법론 · Raw 데이터 · 채점 코드): https://github.com/guide-inc-org/koedesk-stt-bench
이 기사는 해당 방법론의 설계와, 측정해 보고 알게 된 것(본론인 정밀도 이외의 부차적인 발견이 생각보다 흥미로웠습니다)의 요약입니다.
이해상충 선언 (먼저)
이 벤치마크는 음성 입력 앱 koedesk가 구축 및 출자한 것입니다. koedesk는 ElevenLabs Scribe v2를 엔진으로 사용하고 있습니다. 즉, 저희는 중립적이지 않습니다.
중립을 가장하는 대신, 의심할 수 있는 재료를 전부 공개한다는 설계로 했습니다.
방법론 사전 등록: 엔진 목록 · 정규화 규칙 · 채점 방법 · 통계 처리를 실제 측정 전에 공개 리포지토리에 커밋 (커밋 이력이 "사후 조작이 아님"을 증명합니다) -
Raw 데이터 전체 공개: 28,400건의 Raw API 응답을 모두 리포지토리에 저장 -
채점 코드 공개: 리더보드는 scores.json으로부터 결정론적(Deterministic)으로 생성되며, 수동으로 편집한 숫자는 없습니다 -
패배 시에도 공표: "Scribe가 패배한 언어도 그대로 공표한다"를 사전 등록에 명시
"벤더가 자사에 유리한 벤치마크를 내놓는" 구조 자체가 문제이므로, 그 구조를 어떻게 구속할지가 이 프로젝트의 기술적인 핵심입니다.
측정 대상 및 조건
엔진 (13종): ElevenLabs Scribe v2 / OpenAI gpt-4o-transcribe / whisper-1 / Google Cloud STT v2 (Chirp 3) / Gemini 5종 (2.5 Flash, 2.5 Pro, 3.1 Flash-Lite, 3.1 Pro preview, 3.5 Flash) / Deepgram Nova-3 / Microsoft MAI-Transcribe-1.5 / Mistral Voxtral Mini Transcribe V2 / AmiVoice (일본어 전용)
언어 (12개): 일본어 · 영어 · 중국어 (간체) · 한국어 · 베트남어 · 인도네시아어 · 태국어 · 독일어 · 프랑스어 · 스페인어 · 포르투갈어 · 러시아어
테스트 소재: FLEURS test split의 상위 200개 발화 (데이터셋 순서대로 결정론적으로 선택하여 샘플링의 자의성을 배제). 모든 엔진에 동일한 16-bit PCM · 피크 -6dBFS 정규화 완료된 파일을 전송.
총 28,400건의 전사(Transcription) · 음성 약 95시간으로, API 비용 총액은 약 $28였습니다. 이 정도 규모의 독립 검증을 이 정도 비용으로 수행할 수 있다는 점 또한 공유하고 싶은 사실 중 하나입니다.
제외한 엔진과 그 이유도 공개: AssemblyAI는 이용 약관이 "경쟁사 분석 · 벤치마크 이용" 자체를 금지하고 있으며, xAI Grok STT도 약관에 "benchmark" 명시 금지가 있어, 측정 전 약관 감사(이 또한 공개하고 있습니다)를 통해 제외했습니다. 약관이 벤치마크를 금지하고 있다는 사실 자체가 선정 시 알고 싶은 정보라고 생각하기에 기록으로 남겨두었습니다.
벤치마크를 "구속"하는 설계
STT 벤치마크에서 수치가 변하는 가장 큰 요인은 모델이 아니라 **정규화 (Normalization)**입니다. 문장 부호 처리, 숫자 표기 차이 ("二十一" vs "21"), 전각/반각 —— 여기에 재량이 있으면 결과를 보고 난 뒤 얼마든지 "조정"할 수 있습니다. 따라서:
정규화 파이프라인을 코드와 테스트 단위로 동결하여 측정 전에 커밋. 참조문(Reference)과 가설문(Hypothesis)에 동일한 파이프라인을 적용 -
동결 후의 변경은 날짜가 포함된 추가 사항(Amendment)으로만 전체 공개 (현재 Amendment 7까지 있습니다. 버그 수정부터 방침 변경까지, 변경 이유와 "결과를 본 후의 변경이 아님"을 증명하는 근거를 매번 작성하고 있습니다) -
영어 · 독일어 · 프랑스어 · 스페인어 · 포르투갈어는 Whisper 정규화기 (버전 고정)를 적용하여 HF Open ASR Leaderboard와 방법론적으로 비교 가능한 상태를 유지
통계 처리 또한 동결되어 있습니다. 부트스트랩 (Bootstrap, n=10,000, 시드 또한 사전 등록된 값으로 고정)을 통해 쌍 비교 (Pairwise comparison)를 수행하며, 리더와 통계적으로 구별할 수 없는 엔진은 **동일 티어 (Tie group)**로 표시합니다. 티어 내의 순위 차이는 의미가 없습니다 —— 이는 자사 엔진에도 적용되며, 후술하는 바와 같이 일본어에서 Scribe가 1위는 아닙니다.
결과 개관
각 언어별 T1 (Top Tier) 진입 횟수를 보면:
| 엔진 | T1 진입 언어 수 / 12 |
|---|---|
| Gemini 3.1 Pro (preview) | 10 |
| ... |
독보적인 왕자는 없습니다. 베트남어는 Gemini 3.1 Pro가 단독 T1, 중국어는 MAI가 단독 T1, 한국어는 Scribe와 MAI의 2강 체제인 것처럼 언어마다 세력도가 다릅니다. "모든 언어에서 최강"이라고 주장하는 광고가 얼마나 조잡한 요약인지 알 수 있습니다.
일본어 (헤드라인 지표는 CER) 상위 결과는 다음과 같습니다:
| 엔진 | CER | 95% CI | Tier |
|---|---|---|---|
| MAI-Transcribe-1.5 | 1.91% | [1.33, 2.60] | T1 |
| ... |
명목상 1위는 MAI이지만, T1에 속한 3개 엔진은 통계적으로 구별할 수 없습니다. 신뢰 구간 (Confidence Interval)이 겹치는 차이를 두고 "이겼다"라고 말하는 것은 바로 이 벤치마크가 비판하고자 하는 행위이기에, 그렇게 말하지 않겠습니다.
참고로 Microsoft는 "43개 언어에서 Scribe 등에 승리한다"라고 발표했지만, 다국어 환경에서 제3자가 이를 독립적으로 검증한 수치는 (저희가 아는 한) 이번이 처음입니다. 결과는 12개 언어 중 9개 언어에서 T1을 기록하여, 그 주장이 대체로 뒷받침되었습니다. 자사 엔진의 경쟁력을 측정하려 했던 시도가 오히려 상대방 광고의 사실 확인 (Fact-check)이 되었다는 점 또한 공개 벤치마크의 묘미라고 생각합니다.
부차적인 발견 (이쪽이 더 흥미롭습니다)
1. LLM형 STT에는 "사고 과정이 새어 나오는" 고장 모드(Failure mode)가 실재한다
Gemini 2.5 Pro의 중국어 CER만 48.3%라는 이상치가 발생했습니다. 조사 결과, 200개 발화 중 단 1개의 발화 (zh_0192)에서 영어 사고 과정 (Chain-of-thought) 4,783자가 그대로 전사 결과로 반환된 것이 원인이었습니다. 이 1개 발화가 오류 질량의 86.7%를 차지하며, 이를 제외하면 CER 6.45%로 정상 범위에 들어옵니다.
이는 파이프라인의 버그가 아니라 엔진의 실제 동작이므로, 사전 등록 규칙에 따라 측정된 그대로 (As-measured) 공개하였습니다 (내역 포함). 기존 방식의 STT에는 존재하지 않는, LLM형 STT 고유의 고장 모드입니다. 발생률이 0.5%라 하더라도, 200개 발화 중 한 번씩 전사 대신 수천 자의 영어가 삽입되는 것은 용도에 따라 치명적일 수 있습니다. 평균값만으로는 보이지 않는 리스크의 좋은 사례였습니다.
2. 공개 데이터셋 자체의 아티팩트 (Artifact)
FLEURS의 중국어 참조문 200건 중 13건에 본래의 발화 내용이 아닌 영어 주석이 혼입되어 있었습니다. 모든 엔진에 공통적으로 영향을 미치므로 상쇄되기는 하지만, "공개 벤치마크의 참조문은 깨끗하다"라는 전제는 성립하지 않습니다.
또한, Gemini 3.1 Flash-Lite는 일본어를 토큰 구분용 공백(Space)을 포함하여 반환하는 습성이 있어, 파일럿 테스트 결과 문자 오류율 (CER)이 공백만으로 8배 가까이 치솟는 것이 확인되었습니다. 지표의 정의 (공백을 어떻게 계산할 것인가)만으로 순위가 뒤바뀔 수 있는 세계입니다. 이 처리는 Amendment 1로서 이유와 함께 공개하였으며, "공백이 포함된 일본어 출력은 받아쓰기 (Dictation) 용도로는 실질적인 해가 되는 동작"이라는 별도의 발견으로도 기록하였습니다.
3. "리더보드 1위"를 살 수 없는 경우가 있다
영어 외부 리더보드에서 1위인 엔진은 비공개 선행 버전 API로, 일반인은 입수할 수 없습니다. 구매 가능한 것 중에서 무엇이 좋은가는 리더보드 제목만으로는 알 수 없습니다. 본 벤치마크가 호스트형 API (실제로 호출 가능한 제품)로 한정하는 이유가 바로 이것입니다.
4. "최속"에는 두 종류가 있다
외부 벤치마크의 "최속 (~276x)"은 서버 측 처리량 (Throughput) 수치입니다. 반면, 받아쓰기 체감 성능을 결정하는 것은 **API 왕복 실시간 (RTF: Real-Time Factor, 음성 1초당 처리 초 수)**이며, 이 둘은 별개의 개념입니다. 실측 결과, 처리량 평가에서 최속급인 엔진이 API 왕복에서는 타 엔진보다 1.4배 더 걸리는 역전 현상도 있었습니다. 둘 다 맞는 수치이며 측정 대상이 다를 뿐입니다. 인용 시 주의가 필요합니다.
그래서, koedesk는 엔진을 교체할 것인가
교체하지 않습니다. 일본어에서 "정확도 T1 · API 왕복 속도가 상위 (RTF 0.16) · T1 내 최저가 ($0.22/h)"라는 세 가지 조건을 동시에 만족하는 것은 실측상 Scribe v2뿐이었습니다. 명목상 1위인 MAI와의 정확도 차이는 통계적으로 구별 불가능하며, 구별 불가능한 차이 때문에 엔진을 교체하는 것은 본인 벤치마크의 선언과 모순됩니다.
역으로 말하면, 이 결과에서 Scribe가 일본어에서 명확하게 패배했다면, 이를 공표한 후 교체를 검토했을 것입니다. "패배하면 공표하겠다고 선언한 자체 벤치마크로 실측한 후 채택했다"라는 상태를 만들 수 있었던 것이, 이 프로젝트의 제품 측면에서의 성과입니다.
한계 (솔직하게)
학습 데이터 오염 (Data Contamination) 가능성: FLEURS는 공개 데이터셋이므로, 각 엔진이 학습에 사용했을 가능성을 배제할 수 없습니다. 이는 이 벤치마크의 모든 수치에 해당하는 알려진 한계이며, 리더보드(Leaderboard)에도 명시되어 있습니다. 당초에는 오염이 없는 신규 녹음 음성으로 측정(Track B)하는 것을 계획했으나, 참조문(Reference text) 작성에 인력의 판단이 개입되어 코드로 동결할 수 있는 재현성과 양립할 수 없었기에, 측정 전에 중단을 결정했습니다 (경위는 Amendment 7로 공개).
방법론은 CC-BY 4.0이므로, 수중에 있는 음성으로 전체 파이프라인을 재실행하는 것은 누구나 가능합니다 -
레이턴시 (Latency)는 참고치: 측정 기기는 베트남이며, 이그레스(Egress)는 VPN을 경유합니다 (모든 엔진 동일 경로). 상대 비교에는 영향을 미치지 않지만, 절대치에는 고정 오버헤드가 포함되어 있습니다 (Amendment 6) -
언어당 200개 발화: 신뢰 구간은 모든 수치에 적용되어 있으나, 더 큰 샘플이라면 구별할 수 있는 차이도 있을 것입니다
링크
- 리더보드 (36개 언어 대응): https://koedesk.app/ja/benchmark/
- 리포지토리 (사전 등록 · Amendment · 생데이터 28,400건 · 채점 코드): https://github.com/guide-inc-org/koedesk-stt-bench
- 재현 방법: 리포지토리의 PREREGISTRATION §8 (본인의 API 키로 임의의 셀을 재실행할 수 있습니다)
질문이나 "이 부분의 방법론이 이상하지 않은가?"라는 지적은 환영합니다. 의심할 수 있는 재료는 모두 놓아두었습니다.
Masaki Kondo — Guide Inc. Vietnam CEO
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기