ステータス:ドラフト(2026-10-07更新)、調査記事です。この記事の内容はドキュメントを基準にしており、実際に実行した結果は 第20部で引用した部分(Magpie韓国語とNeMoコードのトナイザーマッピング)のみです。 以下の事実は各プロジェクトのGitHubリポジトリとHugging Faceのモデルカードを読んでまとめたものです。ページ内容を要約するツールを通して読んでいるため、数字とライセンスの文言は 書く前に原文で再度確認してください。記事の終わりの「確認できなかったこと」を先にお読みください。 作成ルール:実測データが基本であり、測定できなかったものは「未測定」と表示します。
目次
- 1. 結論から
- 2. 2つの構造
- 3. 候補別の整理
- 4. コンシューマー向けGPUでの可能性
- 5. アプリ設計ドラフト(未テスト)
- 6. 実測計画
- 7. 面接で出そうな質問
- 8. よくある誤解
- 確認できなかったこと
- 参考資料
- 確認したバージョンと日付
1. 結論から
韓国語でリアルタイム会話するアプリを作る場合、現在確認されている範囲では 音声認識(ASR)、LLM、音声合成(TTS)を繋ぎ合わせる方式が正解です。理由は、韓国語をサポートするNVIDIAオープンモデルがこの方式の2つの部品に存在するからです。
| 候補 | 構造 | 韓国語 | 一言評価 |
|---|---|---|---|
| Nemotron Voice Agentブループリント | ASR → LLM → TTS(Pipecat) | 部品によって異なる(下記表) | 出発点として最適 |
| Nemotron 3.5 ASR Streaming 0.6B | 音声認識部品 | ko-KRサポート | 韓国語リアルタイム認識のコア部品 |
| Magpie TTS Multilingual | 音声合成部品 | koサポート | 韓国語音声出力のコア部品 |
| PersonaPlex-7B | 1つのモデルが聞いて話す(フルデュプレックス) | 英語専用 | 韓国語アプリには使用不可、構造学習用 |
NeMo voice_agent サンプル |
ASR + LLM + TTSサンプル | 英語のみ | 構造を読み解くのに適したサンプル |
2. 2つの構造
2.1 カスケード:聞いて、考えて、話す段階を分ける
マイク → 音声区間検出(VAD)と発話終了判定 → ASR(音声を文字に) → LLM(返答テキスト生成) → TTS(テキストを音声に) → スピーカーの順序です。
- メリット:部品を個別に変更できます。韓国語に弱い部品だけを別のものに差し替えることができ、LLMは既存で運用中のものをそのまま使えます。中間結果(認識されたテキスト、返答テキスト)をログに残してデバッグしやすいです。
- デメリット:段階ごとに遅延が蓄積されます。発話が終わったかを判定するロジックや、ユーザーが話を遮ったとき(バージイン)に再生を停止するロジックを直接処理する必要があります。
2.2 フルデュプレックス:1つのモデルが同時に聞いて話す
PersonaPlexはこの方式です。1つのモデルが連続したオーディオを入力として受け取りながら同時に音声を出力するため、割り込みや相槌、素早い言葉のキャッチボールが自然に行えます。PersonaPlex論文(arXiv 2602.06053、表6)がFull-Duplex-Benchとして報告した遅延は、言葉のキャッチボールが約0.170秒、ユーザーが割り込んだときの反応が約0.240秒です(英語モデルの論文上の数値であり、モデルカードはアクセス承認が必要なため開けませんでした)。
- デメリット:英語専用であり、部品を個別に変更できず、返答内容を独自のLLMや知識と連携させることが困難です。
3. 候補別の整理
3.1 Nemotron Voice Agentブループリント
NVIDIA-AI-Blueprints/nemotron-voice-agentはNVIDIAが公開したリファレンス実装です。
- 構成: ASRはNemotron ASR Streaming、Parakeet CTC、Parakeet RNNT Multilingualの中から、LLMはNemotron 3.5 Lightning 30B、Nemotron 3 Super 120B、Nemotron 3 Nano Omniの中から、TTSはMagpie TTS MultilingualまたはChatterbox TTS Multilingualの中から選びます。骨組みはオープンソースのPipecatであり、NVIDIA NIMマイクロサービスで加速します。
- デプロイプロファイル: クラウド(GPUなし、CPUのみ、NVIDIA APIエンドポイントを使用)、サーバー(NVIDIA GPUワークステーション、デフォルト約80GB VRAM)、シングルGPU(ワークステーションGPU1枚、DGX Spark、Jetson Thorのいずれか、 使用可能なVRAM 28GiB以上)。Docker Compose v2.20以上で立ち上げます。
- 最近のリリース: v2.2.0(2026-09-23)にNemotron 3.5 Lightningのセルフホスト、シングルGPUレシピ、 OpenAI Realtime互換WebSocketゲートウェイが追加されました。v2.0.0(2026-07-09)にReactクライアントが統合されました。
- ライセンス: ソースコードはApache-2.0、ドキュメントとアセットはCC-BY-4.0です。
- 遅延: 「1秒未満のエンドツーエンド遅延」と複数の同時ストリームを掲げています。この数値はドキュメントの主張であり、測定条件は確認できていません。
- 韓国語: ブループリントの
docs/how-to/configure-tts.mdがMagpie TTS Multilingualの対応言語に韓国語(ko-KR)を記載しています。逆に、ブループリントに内蔵されたLLM(Nemotron 3 Super)の対応言語には韓国語がありません(英語、ドイツ語、スペイン語、フランス語、イタリア語、日本語、中国語)。そのため、韓国語の会話にはLLMを別途選択する必要があります。以下の2つの部品は韓国語をサポートしているため、部品を韓国語対応モデルに選べば構成可能です(この記事ではドキュメント確認であり、実際の動作は第20部でテストしました)。
3.2 Nemotron 3.5 ASR Streaming 0.6B(音声認識)
モデルカードに基づく内容です。
- 6億個のパラメータを持ち、40言語ロケールをサポートしています。そのうち「文字起こし準備完了」の19個に 韓国語(ko-KR) が含まれており、日本語、英語、スペイン語、ドイツ語などと同じ分類です。
- ストリーミングチャンクサイズを80、160、320、560、1120msの中から選ぶことができます(
att_context_size)。チャンクが小さいほど早く文字起こしが行われますが精度が低下するというトレードオフの関係があります(一般原則であり、このモデルで確認したわけではありません)。 - カードに記載されている単語誤り率は、スペイン語4.11%、英語7.91%、ドイツ語8.31%、フランス語9.03%(チャンク1.12秒基準)です。 韓国語は文字誤り率(CER)で記載されており、 FLEURS評価において言語を指定した場合、チャンク80msから1.12秒まで7.59、7.70、7.27、7.18、7.12%、言語自動検出時は8.31から7.30%です。
- ライセンス表記は
openmdw-1.1です。 - Pipecat側の記事(Daily)には、このモデルの「最終区間までの時間」が実使用条件において約250ms未満であると記載されており、ベンチマーク用のC++サーバーと、多言語モデルと英語モデルを自動切り替えるPythonサーバーが公開されているとのことです。
3.3 Magpie TTS Multilingual(音声合成)
モデルカードに基づく内容です。
- 12言語をサポートしており、 韓国語(ko) が含まれています(アラビア語、中国語、英語、フランス語、ドイツ語、ヒンディー語、イタリア語、日本語、韓国語、ポルトガル語、スペイン語、ベトナム語)。 韓国語はチェックポイントv2607(2026-07-21公開)で追加され、 以前のチェックポイント(v2602、v2512)には韓国語がありません。カードの韓国語CERは2.69%、話者類似度は0.807であり、評価データは内部データであるとカードに記載されています。チェックポイントのバージョンだけでは韓国語の動作が分かれありませんでした。第20部ですべてのチェックポイントをテストしたところ、NeMo 3.0.0は韓国語をモデルの
korean_chartokenizerに結びつけず(LANGUAGE_TOKENIZER_MAPに韓国語項目がなく、英語音素トナイザーにフォールバックする)、v2607でも音声が0.4〜0.8秒で終了しました。その結びつきを直接指定すると正常に合成されました。つまり、モデルカードの韓国語サポートはチェックポイント側とは合致しているものの、使用するNeMoコードのバージョンがそれを結びつける必要があります。 - パラメータはカードに364Mと記載されており(名前は357m)、569MBのGGUF量子化版が存在します。ライセンスはNVIDIA Open Model Licenseです。
- カードのオープンウェイトは5つの音声(Aria、Jason、Leo、Sofia、John Van Stan)を提供しており、NIMの韓国語音声リスト(検索結果でのみ確認)はこれとは異なります。 どちらを使うかによって韓国語の音声が異なる場合があります。
- ストリーミング遅延の数値はカードから見つかりませんでした。標準モードは最大20秒分、長文モードはさらに長い文章をサポートします。
3.4 PersonaPlex-7B
- Moshiの構造と重みをベースにした7Bフルデュプレックス音声会話モデルです。テキストの役割プロンプトと音声条件によって話し方と役割を決定します。
- 英語の音声入力に対して英語の音声でのみ返答します。
- コードはMITライセンス、モデルの重みはNVIDIA Open Model Licenseであり、Hugging Faceでライセンスに同意しなければダウンロードできません。
- 実行は
libopus-devのインストールとpip install moshi/.の実行後、Web画面(localhost:8998)で行います。VRAMが不足している場合は--cpu-offloadを使用でき、必要なVRAMはドキュメントに明記されていません。
3.5 NeMo voice_agent サンプル
NVIDIA-NeMo/Speechのサンプルは、NeMoの音声認識と音声合成にHugging FaceのLLMを組み合わせた会話エージェントです。音声認識はParakeetリアルタイムモデル(デフォルト)とNemotronストリーミングバリアント、音声合成はKokoro-82MからFastPitch-HiFiGANまで選択可能です。GPUが1枚必要であり、9B LLMの場合は21GB、4B LLMの場合は13GBのVRAMが推奨されます。 現在は英語の入出力のみをサポートしていると述べられています。
4. コンシューマー向けGPUでの可能性
筆者の実験環境の GPU は 8GB 級ノート PC 用 GPU と 24GB 級コンシューマー向け GPU です。ブループリントの単一 GPU プロファイルは 28GiB 以上の VRAM を要求するため、どちらの GPU 1 枚でもそのままでは適合しません。ただし、この要求量は 30B 級 LLM を一緒にデプロイする基本構成に該当するため、パーツを分割すれば事情が変わる可能性があります。
| パーツ | サイズ | 8GB GPU に収まる可能性 |
|---|---|---|
| Nemotron 3.5 ASR | 約 0.6B | 収まる(実測、第 20 話): モデルロード後の GPU メモリ約 5,078MiB(実行環境分含む)、リアルタイム係数の中央値 0.050 |
| Magpie TTS | 約 364M(GGUF 569MB) | 収まる(実測、第 20 話): 上記 ASR に約 750MiB を追加で使用するだけで両方合わせて 5,832MiB、リアルタイム係数の中央値 0.466(韓国語は第 20 話に記載した回避策が必要) |
| LLM | 小型モデル | vLLM 等で個別にサービングする小型モデルで代用可能 |
表の ASR と TTS の 2 行は、第 20 話で 8GB 級 GPU に直接デプロイして測定した値に変更しました。 LLM まで一緒にデプロイしたときの VRAM と、3 つのパーツを結合した全体の遅延はまだ測定していません(未実測)。 ブループリントは OpenAI Realtime 互換の WebSocket ゲートウェイを提供しているとのことなので、既存の LLM サーバーを接続する方法も確認する価値があります(未検証)。
5. アプリ設計案(未検証)
브라우저(마이크, 스피커)
│ WebSocket 또는 WebRTC
▼
Pipecat 파이프라인
├─ VAD + 발화 종료 판단
├─ ASR : Nemotron 3.5 ASR Streaming (ko-KR)
├─ LLM : vLLM 으로 서빙하는 소형 모델
└─ TTS : Magpie TTS (ko)
│ 끼어들기가 감지되면 TTS 재생과 LLM 생성을 중단
▼
스피커
- 遅延の構成。 ユーザーの発話終了時点から最初の音声が鳴るまでは、「発話終了判定 + 最終認識 + LLM の最初のトークン + TTS の最初のオーディオ」の合計です。段階ごとに個別に測定して、どこがボトルネックであるかを特定する必要があります。
- 割り込み。イライラする? ユーザーが話し始めたら、再生中の音声と進行中の LLM 生成を同時にキャンセルする必要があります。
- 個人情報。 音声は個人情報であるため、保存の有無と保持期間を事前に決定する必要があります。ログには認識されたテキストのみを残し、元の音声は残さない方が安全です。
- 同時実行性。 ユーザーが増えると ASR と TTS が GPU を共有することになるため、同時ユーザー数ごとの遅延を個別に測定する必要があります(未実測)。
6. 実測計画
文章でまとめた内容を数値化する手順です。8GB 級 GPU 上の一時的なポッドで実行します。
- ASR 単体:韓国語の音声サンプルを使用したリアルタイム係数(処理時間対音声の長さ)、チャンクサイズごとの遅延、VRAM 使用量。
- TTS 単体:韓国語の文章における最初の音声までの時間と VRAM 使用量。
- 3 つのパーツを結合したエンドツーエンドの遅延と、割り込みの応答時間。
- 韓国語の認識精度:カードに韓国語の CER(FLEURS)が記載されていますが、自社の環境の音声で再確認する必要があるため、独自に作成した小規模なテスト文で確認し、サンプルサイズが小さいという制限事項を併記します。
7. 面接で想定される質問
- カスケードとフルデュプレックスの違いは何か? 前述のセクション 2。パーツの交換やデバッグと、自然な割り込みのバランスです。
- リアルタイム音声対話における遅延をどのように分解して確認するか? 発話終了判定、最終認識、LLM の最初のトークン、TTS の最初のオーディオに分割してそれぞれ測定します。
- 割り込みをどのように処理するか? ユーザーの発話を検知したら、再生と生成を同時にキャンセルします。
- ストリーミング ASR のチャンクサイズは何を変更するか? 遅延と精度をトレードオフします。
8. よくある誤解
- 「NVIDIA の対話モデルであれば韓国語も可能である」:PersonaPlex と NeMo のサンプルは英語のみをサポートしています。
- 「ブループリントを起動すればすぐに韓国語アプリになる」:韓国語をサポートするパーツを自ら選択して設定する必要があり、この構成はまだ検証されていません。
- 「オープンソースであるため商用利用が自由である」:コード(Apache-2.0、MIT)とモデルウェイト(NVIDIA Open Model License、
openmdw-1.1)のライセンスが異なります。使用前にそれぞれの原文を読む必要があります。
確認できなかった事項
- ページの内容を要約するツールを経由して読んだため、数値やライセンスの文言が原文と異なる可能性があります。各ライセンスの全文は確認していません。
- 韓国語の TTS 品質、およびカードではなく自社の音声における韓国語の認識エラー率(カードには FLEURS 基準の CER があります)。
- ブループリントが韓国語の構成を丸ごと公式サポートしているかどうか(TTS のドキュメントには韓国語がありますが、内蔵 LLM は韓国語をサポートしていません)。
- すべての遅延と VRAM の数値。どのモデルも筆者の実験環境では実行していません。
- Magpie TTS のオープンウェイトと NIM の韓国語音声の違い(検索結果のみで確認)。
- ブループリント以外の NVIDIA の音声プロジェクト(
NVIDIA/voice-agent-examples,NVIDIA-NeMo/labs-Voice-Agent)は名前のみを確認し、内容は読んでいません。
参考文献
- https://github.com/NVIDIA-AI-Blueprints/nemotron-voice-agent
- https://github.com/NVIDIA-AI-Blueprints/nemotron-voice-agent/releases
- https://github.com/NVIDIA/personaplex
- https://huggingface.co/nvidia/personaplex-7b-v1
- https://huggingface.co/nvidia/nemotron-3.5-asr-streaming-0.6b
- https://huggingface.co/nvidia/magpie_tts_multilingual_357m
- https://github.com/NVIDIA-NeMo/Speech/tree/main/examples/voice_agent
- https://www.daily.co/blog/open-source-multilingual-transcription-from-nvidia-nemotron-3-5-asr/
確認したバージョンと日付
2026-10-05 時点。Nemotron Voice Agent ブループリント v2.2.0(2026-09-23)、PersonaPlex-7B-v1、Nemotron 3.5 ASR Streaming 0.6B、Magpie TTS Multilingual 357m。