55秒の会議音声を文字にしたら、「Kubernetes」が「キューバー2つ」になりました。カスタム語彙に登録すると今度は正しく出ましたが、すぐ後ろの「の移行」が「以降」に変わっていました。登録する読みを変えた3回目で、原稿との違いは「フォルダー」の1文字だけになりました。
Third Intelligenceが10月30日に公開した日本語の文字起こしモデル「Haas-ja-v1.0」は、無料で使えるオープンモデルです。公式の比較ではGPT-Transcribeと同じくらいの精度が出ています。使いこなす鍵は語彙の登録で、読みには「聞こえ方」ではなく「モデルが実際に間違えて書いた形」を入れると効きました。
ただし、公式の実装はNVIDIAのGPUを積んだLinuxでしか動きません。話題の「1時間0.003ドル」も、GPUを休みなく動かした場合の数字です。月20時間ほどの会議なら、費用だけで選ぶ理由はありません。公開デモで試した結果と、費用を検算した手順を順に示します。
精度はGPT-Transcribe並み。ただし公式の実装はNVIDIA GPU専用
Haas-ja-v1.0は6億1,580万パラメータの音声認識モデルで、ライセンスはApache 2.0です。公式ブログによると、ReazonSpeechやCommon Voiceなどの公開コーパスと社内データを合わせた約4万6,000時間の音声で学習しています。
日本語の公開データ5つで作ったベンチマークでは、漢字と仮名の使い分けまで見る誤り率(CER strict)が6.12%でした。評価したオープンモデルでは最良で、GPT-Transcribeの6.07%とほぼ同じです。MAI-Transcribe 2、ElevenLabsのScribe v2、Gemini 3.1 Proにはまだ届いていません。
仕事で使う前に知っておきたい制約は、公式ブログとREADMEにはっきり書かれています。
- 話者は区別しない。会議で誰が話したかを付けるには、NVIDIAの話者分離モデルと組み合わせる。
- 「えー」「あの」などのつなぎ言葉を省き、整った文にして出す。議事録には向くが、逐語の記録には向かない。
- リアルタイムの処理を前提に設計したモデルではない。
- 公式の推論コードは、NVIDIA GPUのLinuxとPython 3.11以上が前提。CPUとmacOSには対応していないとGitHubのREADMEに明記されている。
MacやWindowsの人向けには、有志による非公式の移植があります。C++製のspeech.cppは、MacのMetalやWindowsのVulkanでこのモデルを動かせると案内しています。Windows 11とRTX 3050で試したQiitaの検証記事では、6時間10分の講演を2分45秒で文字にできた一方、専門用語を含む音声の誤り率は15.0%で、比較したSonioxの5.0%より高かったそうです。当サイトでは移植版を実行していません。
デモに55秒の会議音声を入れた。数字は全部合い、固有名詞で崩れた
誰でも試せるのが、Hugging Face上の公開デモです。音声ファイルを選ぶだけで文字起こしが始まり、カスタム語彙の登録画面もあります。
11月2日21時半ごろ、架空の定例会議の原稿を作り、macOSの読み上げ機能(音声はKyoko)で55秒の音声にしてデモに入れました。原稿には、金額、日付、Claude Code、Kubernetes、ミリ秒といった、会議でよく出る数字と製品名を混ぜています。合成音声で、話し手は1人、雑音もありません。実際の会議より条件はかなり易しいので、結果はその前提で読んでください。
数字は完璧でした。「前年同期比12%増の1億2000万円」「11月14日」「平均250」「180」「30日から7日」は、すべて原稿どおりです。処理は0.11秒で終わり、同じファイルをもう一度入れても同じ文が返りました。
原稿と違ったのは次の4か所です。
- 「Claude Code」が「クロードコード」になった
- 「Kubernetesの移行」が「キューバー2つの移行」になった
- 「ミリ秒」が2か所とも「mm秒」になった
- 「フォルダ」が「フォルダー」になった
カタカナの製品名と、単位の書き方でつまずいています。公式ブログも、固有名詞や専門用語の聞き取りには改善の余地があると書いています。社名や製品名の多い社内会議では、語彙の登録がほぼ必須だと考えたほうがよさそうです。
語彙は「聞こえ方」ではなく「間違えた形」で登録する
デモの語彙は、表示したい「表記」と、読みを組にして登録します。同じ音声で、登録の仕方を変えて比べました。誤り率は、句読点と空白を除いて文字単位で原稿と比べた簡易的な値です。公式のCER strictとは計算方法が違います。
| 登録した読み | 結果と簡易誤り率 |
|---|---|
| 登録なし | 9.33%。上の4か所が違う |
| 聞こえ方(クバネティス、クロードコード、みりびょう) | 2.99%。製品名2つは直ったが「の移行」が「以降」に変わり、mm秒は残った |
| 間違えた形(キューバー2つ、クロードコード、mm秒) | 0.37%。違いはフォルダーの1か所だけ |
登録なしの誤り率が高く見えるのは、「Claude Code」と「クロードコード」の文字数の差がそのまま数えられるためです。
2回目の「以降」は、READMEが注意している副作用そのものです。語彙を使うと、登録語を言っていない部分の文字まで変わることがある、と書かれています。READMEは読みについて「Haasが書きそうな形」を入れるよう説明しており、3回目のように実際の誤りをそのまま読みにすると、周りを崩さずに直りました。
1つの音声で試しただけですが、手順としては次の流れが確実です。
- まず語彙なしで文字起こしする。
- 間違えた製品名・人名・単位を拾い、モデルが書いた形をそのまま控える。
- 表記に正しい形、読みに控えた形を入れて登録する。読みは複数入れられる。
- もう一度文字起こしし、登録した語の前後の文が変わっていないかを読む。
語彙を使うと、処理時間は0.11秒から0.17秒に延びました。READMEも約1.3倍かかると書いています。登録語を増やすほど、言っていない所に登録語が入り込む可能性も増えるので、必要な語だけに絞るのが安全です。
「1時間0.003ドル」は、GPUを休ませない場合の数字
公式ブログは、Haasの費用を音声1時間あたり約0.003〜0.004ドルとし、GPT-Transcribe(約0.30ドル)の約70〜100分の1、MAI-Transcribe 2やScribe v2(約0.11ドル)の約30分の1と比べています。商用APIの値は、評価のときにOpenRouterで実際に請求された金額です。
前提も公開されているので、検算しました。AWSの東京リージョンでH200を8枚積むp5en.48xlargeは1時間79.12ドルで、1枚あたり9.89ドルです。処理速度は、1秒で3,236秒分の音声を起こせる値(RTFx)なので、1時間の音声には3,600÷3,236=約1.11秒かかります。
9.89ドル×1.11秒÷3,600秒で、約0.0031ドルです。AzureのH200(8枚で1時間106ドル)で同じ計算をすると約0.0041ドルで、公式の幅と一致しました。ただし公式ブログが断っているとおり、これはGPUを常に動かし続けた場合の計算コストで、運用の手間は入っていません。
小さなチームの使い方に当てはめると、話が変わります。1日1時間の会議を月20日、合計20時間起こすなら、MAI-Transcribe 2の水準で約2.20ドル、GPT-Transcribeでも約6ドルです。一方、このGPUインスタンスを仮に10分だけ借りると、79.12ドル×10÷60で約13.19ドルかかります。
この10分で何時間分の音声を処理すればAPIより安くなるかは、インスタンス代÷APIの1時間単価で求められます。MAI-Transcribe 2と比べると約120時間、GPT-Transcribeと比べても約44時間です。起動やモデルの読み込みにかかる時間は測っていないので、10分は仮の値です。それでも、毎月数十時間の会議なら費用面の利点はほぼないと言えます。
APIごとの月額を比べたい場合は、Voxtral 3とMAI-Transcribe-2の料金比較で、同じ月20時間の想定で計算しています。
今すぐ使うべき人、デモで試すだけでよい人
私は、Haas-ja-v1.0を選ぶ理由は費用より「音声を社外に出さずに済むこと」だと考えます。コールセンターの通話や面談の録音のように量が多く、外部のAPIに送りにくい音声を、すでにあるNVIDIA GPUのサーバーで処理できる会社なら、今すぐ試す価値があります。数百時間単位でまとめて起こすなら、費用の差も効いてきます。
MacやWindowsで会議を起こしたい個人や小さなチームは、まず公開デモで自分の会議に近い音声を試し、どの語を間違えるかを見るところまでで十分です。ただし、デモは第三者のサーバーで処理されます。社外秘の会議や個人情報を含む録音は入れないでください。手元で動かしたい場合は、非公式の移植版を自己責任で検討することになります。
話者の区別が最初から必要な場合、逐語の記録が必要な場合、話しながら字幕を出したい場合は、今のところ商用APIのほうが手間がかかりません。この判断が変わるのは、公式がmacOSやCPUに対応したとき、ストリーミング向けの版や話者分離込みの手順が出たとき、そして実際の会議録音で語彙の効き方を確かめられたときです。

コメント