HEROZ Tech Blog

日本将棋連盟公認「将棋ウォーズ」や、AIを活用したシステム企画・開発を行う、AI企業HEROZの公式テックブログです。

Whisperはまだ第一候補なのか?最新OSSとOpenAI Transcribe APIを日本語音声で比較してみた

はじめに

日本語の音声認識では、長らくWhisperが有力な選択肢でした。OpenAIが2022年に公開して以降、ローカルで利用できる高精度なASRモデルとして広く使われています。

一方、最近ではCohere Transcribe、NVIDIA Parakeet、Qwen3-ASRなど、日本語に対応した新しいOSSモデルも登場しています。

OpenAIからも、gpt-transcribe、gpt-4o-transcribe、gpt-4o-mini-transcribeと複数の文字起こしAPIが提供されています。

こうなると、既存システムでWhisperを使い続けるべきなのか、新しいOSSへ切り替えるべきなのか、あるいはAPIを利用した方がよいのかが気になります。

そこで今回は、Whisper系列、新しいOSS、日本語対応のOpenAI Transcribe APIを、3種類の日本語公開データセットで比較しました。

結論から言うと、Whisperは読み上げ音声ではまだ十分競争力があります。一方、精度を理由にこれからWhisperを新規採用したり、Fine-tuningへ進んだりするのであれば、その前にCohere Transcribeなど新しい基盤モデルを同じデータで比較しておいた方がよい、という結果になりました。

単純に「新しいモデルほど強い」という結果にはならなかった点も、今回興味深かったところです。

先行する日本語ASR比較

日本語ASRについては、すでに有用な比較結果が公開されています。

Neosophieでは、自然会話を含む音声を使って複数の日本語ASRモデルを比較しています。

neosophie.com

また、ASR_ja_comparisonではFLEURS Japaneseを使った比較が公開されています。

github.com

今回の目的は、これらの結果と順位を競うことではありません。

評価音声やモデルのバージョンが異なれば結果も変わります。そこで今回は、性格の異なる3種類の公開データセットを同じ評価パイプラインへ通したときに、モデルごとの傾向がどの程度変わるのかを見ることにしました。

評価方法

評価データ

以下の3種類の公開データセットを使用しました。

データセット 発話数 今回の位置づけ
FLEURS Japanese 46 標準的な読み上げ音声
Common Voice Japanese 26.0 127 話者・録音環境のばらつきがある音声
JSUT basic5000 132 高品質な日本語読み上げ音声

Common VoiceにはMozilla Data Collectiveで配布されているJapanese Scripted Speech 26.0のtest.tsvを使用しました。

JSUTは約10時間の単一話者日本語音声コーパスで、今回はそのうちbasic5000サブセットを使用しています。

各データセットについて、seed 42で発話をシャッフルし、0.2秒以上30秒以下の音声を対象に、累積音声時間が約10分になるまで発話単位で抽出しました。音声は16kHz・monoのPCM WAVへ統一しています。

評価指標

文字起こし精度にはCER(Character Error Rate)を使用しました。

各発話について、正解文と文字起こし結果を正規化したうえでLevenshtein距離からCERを算出し、データセット全体の値には各発話CERの単純平均(macro average)を使用しています。 そのため、micro averageで集計された他の公開ベンチマーク値とは、CERの絶対値を直接比較できません。

正規化では、以下を行いました。

  • Unicode NFKC
  • 英字の小文字化
  • 空白の除去
  • 句読点の除去
  • 記号の除去

数字表記の変換や、漢字・ひらがな・カタカナ間の変換、読み仮名化などは行っていません。

日本語では同じ内容でも表記が異なる場合があるため、CERだけで認識品質を完全に評価できるわけではありません。今回はすべてのモデルを同じ正規化条件で比較しています。

また、各評価セットは約10分と小規模なので、特に1ポイント未満の差については厳密な順位ではなく、傾向として見ることにします。

OSSモデルではRTF(Real Time Factor)も確認しました。

RTFはモデルロードを除き、音声ファイルの読み込みから文字起こし結果を得るまでの処理時間を音声時間で割った値です。たとえばRTF 0.1であれば、10秒の音声を約1秒で処理したことになります。値が小さいほど高速です。

VRAMはモデルロード前後のnvidia-smiによるGPU使用量差を記録しました。推論中のpeak値ではないため、今回の実行条件における参考値として扱います。

OSSモデルはNVIDIA A100上で、1発話ずつ処理しました。Fine-tuning、Prompt、用語リスト、量子化は使用していません。

評価したモデル

今回は以下の11モデルを比較しました。

モデル 実モデルID 種別
whisper-large-v3 openai/whisper-large-v3 OSS
whisper-large-v3-turbo openai/whisper-large-v3-turbo OSS
kotoba-whisper-v2 kotoba-tech/kotoba-whisper-v2.0 OSS
qwen3-asr-0.6b Qwen/Qwen3-ASR-0.6B-hf OSS
qwen3-asr-1.7b Qwen/Qwen3-ASR-1.7B-hf OSS
reazon-zipformer reazon-research/japanese-zipformer-base-k2-rs35kh OSS
cohere-transcribe CohereLabs/cohere-transcribe-03-2026 OSS
parakeet-ja nvidia/parakeet-tdt_ctc-0.6b-ja OSS
openai-gpt-transcribe gpt-transcribe API
openai-gpt-4o-transcribe gpt-4o-transcribe API
openai-gpt-4o-mini-transcribe gpt-4o-mini-transcribe API

Whisper系列では日本語とtranscribeを明示指定し、Qwen3-ASRやCohereでも対応する日本語指定を行っています。

APIモデルについても1音声ずつ送信し、日本語を指定しています。

今回は基礎的な文字起こし性能を見ることを優先し、API料金を含むTCO比較やタイムスタンプ機能の比較は行っていません。

結果

CER

まず、3データセットでのCERです。

モデル FLEURS
CER
Common Voice
CER
JSUT
CER
whisper-large-v3 4.24% 28.61% 7.01%
whisper-large-v3-turbo 3.88% 75.55%※ 7.22%
kotoba-whisper-v2 5.88% 26.62% 7.36%
qwen3-asr-0.6b 8.44% 34.12% 11.90%
qwen3-asr-1.7b 5.28% 26.33% 8.42%
reazon-zipformer 12.31% 28.32% 9.54%
cohere-transcribe 2.89% 20.22% 8.59%
parakeet-ja 5.56% 21.53% 6.60%
openai-gpt-transcribe 4.38% 23.26% 6.54%
openai-gpt-4o-transcribe 2.26% 26.25% 5.14%
openai-gpt-4o-mini-transcribe 4.11% 27.16% 6.57%

3つの日本語データセットにおけるCER。値が小さいほど高精度。

今回の結果で最も注目したのはCohere Transcribeです。FLEURSとCommon VoiceではWhisper large-v3より低いCERとなり、Common Voiceでは今回の11モデル中で最も低い値でした。

一方、OpenAIのAPIではgpt-4o-transcribeがFLEURSではCohere Transcribeと並んで低い水準となり、JSUTでは最も低いCERとなりました。データセットによって上位モデルは変わっています。

※ Whisper large-v3-turboのCommon Voiceでは、1件の発話で同じフレーズを大量に繰り返す出力が発生し、その発話のCERが5,525%となりました。CERは発話単位の単純平均で集計しているため、この1件の影響を強く受けています。異常値として除外せず、そのまま結果に含めています。

Cohere TranscribeはWhisperの有力な比較対象になった

今回、Whisperからの移行候補として最も気になったのはCohere Transcribeです。

Whisper large-v3と比較すると、

  • FLEURS:4.24% → 2.89%
  • Common Voice:28.61% → 20.22%
  • JSUT:7.01% → 8.59%

となりました。

3データセットすべてでWhisperを上回ったわけではありませんが、FLEURSとCommon Voiceでは低いCERとなっています。

特にCommon Voiceでは、今回評価した11モデルの中で最も低い値でした。

一方、JSUTではWhisper large-v3の方が低いCERです。

そのため、「Cohereへ置き換えれば常に精度が上がる」とまでは言えません。それでも、これからWhisperを精度目的で新規採用したり、WhisperのFine-tuningへ進んだりするのであれば、まず同じ業務音声をCohere Transcribeへ通して比較する価値は高いと考えています。

なお、今回の検証ではタイムスタンプ機能など、文字起こし以外の機能要件は比較していません。実際の置き換え可否は、こうした機能要件も含めて判断する必要があります。

OSSモデルのRTFとVRAM

次にOSSモデルのRTFとVRAMを見ます。 なお、表のRTFは3データセットで観測した値の範囲です。

モデル RTF VRAM
(MB)
whisper-large-v3 0.15〜0.23 3,611
whisper-large-v3-turbo 0.04〜0.09 1,658
kotoba-whisper-v2 0.03〜0.08 1,550
qwen3-asr-0.6b 0.10〜0.17 1,492
qwen3-asr-1.7b 0.10〜0.17 3,886
reazon-zipformer 0.01〜0.02 816
cohere-transcribe 0.04〜0.09 4,266
parakeet-ja 0.01〜0.03 5,328

OSSモデルのRTFとVRAM使用量。RTFは小さいほど高速。VRAMは今回の実行条件における参考値。

Parakeet JAはRTF 0.01〜0.03と、今回評価したOSSの中でも高速でした。Common VoiceとJSUTでは比較的低いCERでしたが、FLEURSではCohere TranscribeやWhisper large-v3より高いCERとなっています。

このため、今回の範囲では「一貫して高精度なモデル」というより、処理速度を重視する場合に気になる選択肢という位置づけです。

なお、VRAMはモデルロード前後のGPU使用量差であり、今回の実行条件における参考値です。

Whisperをすぐ置き換える必要はない

Whisper large-v3はFLEURSで4.24%、JSUTで7.01%となり、読み上げ主体の音声ではまだ十分競争力があります。一方、Common VoiceではCohere TranscribeやParakeet JAより高いCERとなりました。

そのため、既存のWhisperシステムを精度差だけで急いで置き換える必要はないと考えています。

ただし、新規にWhisperを採用する場合や、Fine-tuningへ追加投資する場合は別です。その前に、Cohere Transcribeをはじめとする新しい基盤モデルでベースラインを取り直す方が先でしょう。

先行比較と見比べて分かったこと

今回と先行比較では、上位モデルが必ずしも一致しませんでした。

自然会話を含む別の公開比較ではQwen3-ASRやWhisper系列が良い結果を示しています。一方、今回のFLEURSやJSUTは読み上げ音声が中心で、Common Voiceも話者や録音環境にはばらつきがあるものの、自然会話とは性格が異なります。

実際の業務音声では、複数話者、言い淀み、発話の重なり、背景雑音、専門用語など別の難しさがあります。

したがって、公開ベンチマークの順位をそのまま採用判断に使うのではなく、最終的には実際の用途に近い音声で比較する必要があります。

まとめ

今回は、Whisper系列、新しいOSS ASR、OpenAI Transcribe APIの計11モデルを、3種類の日本語公開音声で比較しました。

今回の検証で一番大きかったのは、Whisperを前提として改善を続ける前に、Cohere Transcribeを含む新しい基盤モデルで一度ベースラインを取り直した方がよいと確認できたことです。

既存のWhisperシステムをすぐに置き換える必要はありません。一方、これからWhisperを新規採用したり、Fine-tuningへ進んだりするのであれば、その投資の前に新しいモデルへそのまま置き換えて、同じ業務音声でどこまで出るかを見る。

ASRでも、この順序で検討するのがよさそうです。