ローカル音声認識・音声合成
最終更新
Nemotron 3.5 Transcribeで1時間の会議を一度に書き起こす
30B-A4Bの音声LLMが話者と時刻まで付けます
Nemotron 3.5 TranscribeはNVIDIAが10月28日に公開した音声LLM1です。40言語を扱い、65,536トークン2の文脈に1時間の録音を入れます。話者タグと単語タイムスタンプを一度に得られ、韓国語はFLEURS CER 2.78%と報告されています。BF163は67.5GBなので、24GBのGPU4では19.68GBの4ビットファイルを使います。
何を入れて何を受け取る?
Nemotron 3.5 Transcribeは音声エンコーダーと話者エンコーダーをNemotron 3.5 Lightning 30B-A3Bに接続した音声LLMです。活性4.3Bで、音声とテキストを入力に取り、書き起こしを返します。
文脈は65,536トークンで録音は1時間まで入ります。会議や通話を分割せずに渡せるので、文が途中で切れません。
書き起こしの様式は指示文で決めます。発話どおり、言いよどみを除いた読み物向け、固有名词一覧を与える文脈付き、話者タグ、他言語への翻訳まで一つのモデルで処理します。

リアルタイム0.6Bとの違い
名前の似たNemotron 3.5 ASR5ストリーミング0.6Bはマイクの前でそのまま書き起こすモデルです。Transcribeはファイルを渡して待つオフラインモデルなので、使う場面が分かれます。
会議中に字幕が必要ならストリーミングモデルを使い、このモデルは勧めません。終わった後に話者別に整理するときがTranscribeの出番です。
両方を併用しても構いません。会議中はストリーミングで字幕を出し、終わった後にTranscribeで話者と時刻を付け直します。
| 項目 | ストリーミング0.6B | Transcribe 30B-A4B |
|---|---|---|
| パラメータ | 0.6B | 30B-A4B、活性4.3B |
| コンテキスト | 短いチャンク | 65,536トークン、1時間 |
| 話者分離 | 単体では不可 | 指示文で話者タグ |
| 韓国語 | ko-KRロケール | FLEURS CER 2.78% |
| 実行 | NeMo-Speech.cpp | vLLM, Transformers, GGUF |
まずメモリーを計算します
BF16の重みは67.5GBなので、80GB級のメモリーが必要です。公式例がH100一枚を前提にする理由がここにあります。
24GBのGPUやMacでは4ビットGGUF6を使います。19.68GBのデコーダーに1.67GBのエンコーダーを足して約21.4GB、16GBのGPUは13.57GBのファイルまで下げます。このときのピークGPUメモリーは15.6GiBでした。
どのデコーダーでもエンコーダーファイルが必要です。デコーダーが名前で探すので、ファイル名は変えないでください。
| ファイル | サイズ | 合う機器 |
|---|---|---|
| AD-IQ4_NL | 19.68GB | 24GB GPUとMacの基本 |
| AD-IQ4_NL_L | 22.55GB | 32GBで余裕を持って |
| AD-Q2_0_L | 15.55GB | 24GBのMac |
| AD-Q2_0_M | 13.57GB | 16GB GPU |
| AD-NVFP4 | 19.68GB | RTX 50, DGX Spark |
| Q8_0 | 35.00GB | 48GB以上 |

NeMo-Speech.cppで動かします
CMake 3.26とSentencePiece 0.2.0以上が必要です。NVIDIAはcuda-server、Appleシリコンはmetal-serverプリセットでビルドします。
git clone https://github.com/NVIDIA/NeMo-Speech.cpp && cd NeMo-Speech.cpp
git submodule update --init --depth 1 llama.cpp third_party/cpp-httplib
# NVIDIA
scripts/configure.sh cuda-server && cmake --build --preset cuda-server
# Apple silicon
scripts/configure.sh metal-server && cmake --build --preset metal-server
hf download AtomicChat/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B-GGUF --local-dir models \
--include "*Encoder-F16.gguf" --include "*AD-IQ4_NL.gguf"
build/cuda-server/bin/nemo-speech transcribe meeting.wav --json \
--model models/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B-AD-IQ4_NL.ggufJSONには単語ごとに時刻が付きます。字幕が必要なら--format srtでそのまま書き出します。
Macではbuild/metal-server/bin/nemo-speechを使います。バイナリのパスだけが違い、オプションは同じです。
話者と時刻を取り出します
話者タグが必要なら、指示文にPut speaker tags on the transcription.のような一文を入れます。Transformersの経路ではapply_transcription_requestに指示文を渡します。
単語の時刻はreturn_word_timestamp_logitsを有効にし、align_word_timestampsで整列します。発話区間ごとに開始と終了が付き、話者情報も一緒に出ます。
話者ラベルは同じ録音の中で声を区別する印です。実際の人物が誰かは分かりません。

数字の読み方
英語Open ASRリーダーボードの9セット平均WERは4.71%、多言語は4.62%です。
重なり発話のある会議データでは平均cpWERが15.80です。次に良い公開構成のDiCoW v3.3とDiariZenが16.83なので、専用構成より低い値です。
韓国語の2.78%は元のBF16での値です。4ビットで韓国語がどれだけ変わるかは公開表にないので、自分の録音で一度突き合わせます。
| 指標 | 結果 | 次の公開結果 |
|---|---|---|
| 会議cpWER(AMIなど) | 15.80 | DiCoW v3.3+DiariZen 16.83 |
| Preference-ASR WER(既定) | 7.56 | Canary-Qwen 8.16 |
| Preference-ASR WER(指示) | 6.16 | Canary-Qwen 8.36 |
| 英語Open ASR平均WER | 4.71 | — |
| 多言語Open ASR平均WER | 4.62 | — |
| FLEURS韓国語CER | 2.78 | — |
どこが弱いか
リアルタイムのストリーミングはしません。モデルカードもオフラインモデルと明記し、内部のチャンク分割はストリーミングではないと断っています。
16GB GPU向けの13.57GBファイルは中国語のCERが1.5ポイント悪化します。小さくするほど他の言語も損をする可能性があります。
公式対応はLinuxとWindowsで、MacはGGUFとMetal7の組み合わせだけが動きます。ライセンスはOpenMDW-1.1なので、商用利用の条件は自分で確認します。
用語の注釈
大規模言語モデル — 大量のテキストデータから言語パターンを学び、文脈に沿ったテキストを処理・生成するモデルです。
本文に戻るトークン — モデルが入力や出力を分けて処理する単位です。
本文に戻るBF16 — モデルの数値に使う16ビット浮動小数点形式です。指数部はFP32と同じ幅で、同程度に広い値の範囲を表せます。
本文に戻るGPU — 多くの計算を並列に処理するプロセッサーです。AIモデルの実行ではモデル計算を担います。
本文に戻る自動音声認識 — 音声中の発話を認識してテキストに変換する技術です。
本文に戻るGGUF — モデル情報を格納するファイル形式で、llama.cpp系のツールで広く使われます。
本文に戻るMetal — Apple機器でグラフィックスやGPUの並列計算を実行する低水準の技術です。
本文に戻る
よくある質問
- この記事で最初に確認すべきことは何ですか?
- Nemotron 3.5 TranscribeはNVIDIAが10月28日に公開した音声LLMです。40言語を扱い、65,536トークンの文脈に1時間の録音を入れます。話者タグと単語タイムスタンプを一度に得られ、韓国語はFLEURS CER 2.78%と報告されています。BF16は67.5GBなので、24GBのGPUでは19.68GBの4ビットファイルを使います。
- 必要なメモリはどのくらいですか?
- BF16の重みは67.5GBなので、80GB級のメモリーが必要です。公式例がH100一枚を前提にする理由がここにあります。
- 選ばないほうがよいのはどのような場合ですか?
- 会議中に字幕が必要ならストリーミングモデルを使い、このモデルは勧めません。終わった後に話者別に整理するときがTranscribeの出番です。
- 条件と出典はどこで確認できますか?
- 公式対応はLinuxとWindowsで、MacはGGUFとMetalの組み合わせだけが動きます。ライセンスはOpenMDW-1.1なので、商用利用の条件は自分で確認します。
