Dia2 TTS:対話生成をほぼ瞬時にするストリーミング対応モデル
テキストと録音を、聴ける作品に
ナレーション、ステム分離、カバー、効果音を、ブラウザだけで。
- テキスト読み上げも、ボイスクローンも
- 音軌を分離するか、カバーを生成
- 登録して試聴。聴いてから決められる
オリジナルの Dia モデルは、オープンウェイトの TTS システムが複数話者による会話全体を一度に生成できることを証明しました。しかし、最初の音を出す前に台本全体の入力を待つ必要がありました。Dia2 はその待ち時間をなくします。Nari Labs の次世代対話モデルとして、ストリーミング向けに一から再構築されており、テキストがまだ入力されている間に音声の再生が始まります。事前レンダリングした音声クリップにとどまらず、リアルタイムの対話型音声アプリケーションにとって初めて実用的な選択肢となるモデルです。
Dia2 が単なるバージョンアップではなく、本当の進化である理由
Dia2 は、話者タグ付きの対話、自然なターンテイキング、表現力豊かな話し方など、オリジナルの Dia の強みだった要素をすべて残しています。そのうえで、話し始める前に台本全体を必要としない、という1つの重要な変更を中心に生成パイプラインを再構築しました。最初の数語が届くとすぐに Dia2 は音声を生成し始めます。これが、ナレーション向けのモデルとライブ会話向けのモデルを分ける違いです。
チェックポイントは Dia2-1B と Dia2-2B の2種類です。レイテンシと音質のどちらを優先するかに応じて、高速で軽量なストリーミングと、より高音質な出力から選べます。どちらも Apache 2.0 のもとで重みが公開されており、チェックポイントは Hugging Face、推論コードは GitHub で提供されています。
ストリーミング対話生成の仕組み
第1世代の Dia を含む従来の TTS は、基本的にバッチ処理です。テキストを入力し、完成した波形をまとめて出力します。Dia2 はこれを、いくつかの重要な仕組みに基づく増分型のパイプラインへ再構成しています。
- トークン単位の音声ストリーミング。 Dia2 はシーケンス終了の信号を待たず、生成の進行に合わせて音声を出力します。そのため、最初の数語を送信してからほんのわずかな時間で再生を開始できます。
- プレフィックスによる話者コンディショニング。 オリジナルの Dia が1つの参照クリップを使うのに対し、Dia2 は話者ごとに独立した音声プレフィックスを割り当てます。長い会話でも声が混ざり合うことなく、
[S1]と[S2]に異なる安定した声を設定できます。 - 約2分間の生成ウィンドウ。 現在、1回のストリーミングセッションで生成できるのは、連続した英語の対話で最大約2分です。自然なやり取り、音声エージェントの応答、短いシーンには十分ですが、オーディオブックの1章全体を1回で生成することはできません。
このアーキテクチャによって Dia2 は、リアルタイム音声エージェント、リアルタイムでナレーションを生成するゲーム、音声から音声へのパイプラインといった、本当にインタラクティブなプロジェクトの基盤になります。オリジナル Dia の一括生成では、このような場面の速度に追いつけませんでした。
Dia2 をローカルで実行する方法
- 必要な環境を用意する。 Dia2 は
uvを通じて配布され、推論には CUDA 12.8 以降が必要です。最も多いインストールエラーを避けるため、セットアップ前にドライバーのバージョンを確認してください。 - モデルを取得する。 GitHub から
nari-labs/dia2をクローンするか、リポジトリ名を指定してチェックポイントを直接読み込みます。高音質が必要ならnari-labs/Dia2-2B、低レイテンシを優先するなら 1B 版を選びます。 - タグ付きの台本を書く。 オリジナルの Dia と同様に、
[S1]/[S2]の話者タグで入力を構成します。Dia2 は同じタグ規則を使うため、既存の台本は最小限の変更で引き継げます。 - 生成パラメーターを調整する。 CFG スケールと
temperature(温度)は、台本への忠実さと自然な変化の量を制御します。予測しやすく本番向けの出力には低いtemperature、表現力のある探索的な結果には高い値を使います。 - 本番環境ではホスト型サーバーを検討する。 出力音声はデフォルトで1人の話者に固定されないため、Dia-TTS-Server のようなコミュニティプロジェクトでは、Dia 1.6B、Dia2-1B、Dia2-2B のホットスワップと、OpenAI 互換の API エンドポイントを提供しています。推論ラッパーを一から作るよりも早く統合できます。
Dia2 を最大限に活用するためのヒント
- 音声プレフィックスを一度固定し、どこでも再利用する。 Dia2 は1つの声にファインチューニングされていないため、プレフィックスやシードを固定しない限り、実行するたびに出力が変わります。セッションごとに新しい声を生成せず、プロジェクトごとに一度設定して保存してください。
- 2分間の上限を前提に設計する。 長いコンテンツでは、1つの大きすぎるリクエストに詰め込まず、台本を複数の連続したストリーミング呼び出しに分けます。これにより、インタラクティブな用途でもレイテンシを低く保てます。
- CUDA のバージョン確認を省略しない。 Dia2 のセットアップで最も多い失敗はドライバーの不一致です。他の問題を調べる前に、CUDA 12.8 以降であることを確認してください。
- 用途に合ったモデルサイズを選ぶ。 ライブエージェントやリアルタイムのチャット音声など、音質より応答性が重要なら Dia2-1B を選びます。音質を優先し、少し高いレイテンシを許容できるなら Dia2-2B が適しています。
- 利用ポリシーを守る。 Nari Labs のライセンスでは、本人の許可なく実在の人物になりすます音声を生成することが明確に禁止されています。ユーザーが音声プロンプトを提供できる製品には、同意確認の仕組みを組み込んでください。
Dia2 とオリジナルの Dia 1.6B を比較
| Dia2 | Dia 1.6B(オリジナル) | |
|---|---|---|
| 生成方式 | ストリーミング、テキスト全体の受信前に開始 | バッチ、最初に完全な台本が必要 |
| モデルサイズ | 1B と 2B のチェックポイント | 1.6B、単一チェックポイント |
| 音声コンディショニング | 話者ごとに独立したプレフィックス | 単一の参照音声プロンプトを共有 |
| 最適な用途 | ライブエージェント、リアルタイム会話、音声から音声 | 事前生成の対話、ポッドキャスト、オーディオブック |
| 連続出力の上限 | 1セッションあたり約2分 | 同じ形式の時間制限はなし |
| ライセンス | Apache 2.0 | Apache 2.0 |
ポッドキャストのエピソードやゲーム用に事前制作する対話など、音声を前もってレンダリングするプロジェクトでは、オリジナルの Dia 1.6B が今でも十分に実用的で、ややシンプルな選択肢です。Dia2 が真価を発揮するのは、音声が今この瞬間に起きていることへ応答しなければならない場合です。
よくある質問
Dia2 は無料で、オープンソースですか?
はい。Dia2 は Apache 2.0 ライセンスで公開されています。1B と 2B の両チェックポイントおよび推論コードは、GitHub と Hugging Face で一般公開されています。
Dia2-1B と Dia2-2B の実用上の違いは何ですか?
Dia2-1B は軽量でレイテンシが低く、リアルタイムの対話に適しています。Dia2-2B は速度を少し犠牲にして、より高い音質を実現します。用途に応じて、応答性と出力品質のどちらが重要かで選んでください。
Dia2 は1回の呼び出しで2分を超える音声を生成できますか?
1回のストリーミングセッションではできません。現在の上限は、連続した英語音声で約2分です。より長いコンテンツは、複数の連続した呼び出しに分ける必要があります。
Dia2 はオリジナルの Dia 1.6B を置き換えますか?
完全に置き換えるわけではありません。リアルタイムでインタラクティブなアプリケーションには Dia2 が適していますが、対話を事前にオフラインで生成するプロジェクトでは、オリジナルの Dia 1.6B も堅実でシンプルな選択肢です。
Dia2 のハードウェア要件は何ですか?
Dia2 には CUDA 12.8 以降に対応する GPU 環境が必要です。必要な VRAM は 1B と 2B のチェックポイントで異なり、リソースが限られたハードウェアには小さいモデルのほうが適しています。
似た対話機能を試す
Dia2 自体はオープンソース実装を通じて実行します。ブラウザで複数話者の音声を試作したい場合は、同様の用途を試せるテキストから対話を利用できます。これは Dia2 ではなく、Dia2 のリアルタイムストリーミングエンジンも備えていませんが、モデルをローカルにセットアップする前に複数の声によるシーンを試せます。