🚀 Dia
DiaはNari Labsによって作成された16億パラメータのテキスト読み上げモデルです。このモデルは、テキストから非常にリアルな会話音声を直接生成し、音声の感情やトーンをコントロールすることができます。また、笑い声や咳などの非言語的な表現も生成することができます。
🚀 クイックスタート
これにより、操作可能なGradio UIが開きます。
git clone https://github.com/nari-labs/dia.git
cd dia && uv run app.py
または、uv
が事前にインストールされていない場合は、以下のコマンドを実行します。
git clone https://github.com/nari-labs/dia.git
cd dia
python -m venv .venv
source .venv/bin/activate
pip install uv
uv run app.py
なお、このモデルは特定の声でファインチューニングされていないため、モデルを実行するたびに異なる声が出力されます。音声プロンプトを追加するか、シードを固定することで、話者の一貫性を維持することができます。
✨ 主な機能
[S1]
と[S2]
タグを使用して会話を生成します。
(laughs)
、(coughs)
などの非言語的な表現を生成します。
- 以下の非言語的なタグは認識されますが、予期しない出力になる場合があります。
(laughs), (clears throat), (sighs), (gasps), (coughs), (singing), (sings), (mumbles), (beep), (groans), (sniffs), (claps), (screams), (inhales), (exhales), (applause), (burps), (humming), (sneezes), (chuckle), (whistles)
- 音声クローニング機能があります。詳細については、
example/voice_clone.py
を参照してください。
- Hugging Faceのスペースでは、クローニングしたい音声をアップロードし、スクリプトの前にその文字起こしを配置することができます。文字起こしが必要な形式に従っていることを確認してください。モデルはスクリプトの内容のみを出力します。
💻 使用例
基本的な使用法
import soundfile as sf
from dia.model import Dia
model = Dia.from_pretrained("nari-labs/Dia-1.6B")
text = "[S1] Dia is an open weights text to dialogue model. [S2] You get full control over scripts and voices. [S1] Wow. Amazing. (laughs) [S2] Try it now on Git hub or Hugging Face."
output = model.generate(text)
sf.write("simple.mp3", output, 44100)
PyPIパッケージと動作するCLIツールは間もなく利用可能になります。
🔧 技術詳細
ハードウェアと推論速度
DiaはGPU(pytorch 2.0+、CUDA 12.6)でのみテストされています。CPUサポートは間もなく追加されます。最初の実行では、Descript Audio Codecもダウンロードする必要があるため、時間がかかります。
エンタープライズGPUでは、Diaはリアルタイムで音声を生成することができます。古いGPUでは、推論時間が遅くなります。参考までに、A4000 GPUでは、Diaは約40トークン/秒(86トークンが1秒の音声に相当)を生成します。torch.compile
を使用すると、対応するGPUで速度が向上します。
Diaの完全版を実行するには、約10GBのVRAMが必要です。将来的には量子化バージョンを追加する予定です。
ハードウェアが利用できない場合、またはより大きなバージョンのモデルを試したい場合は、こちらのウェイトリストに登録してください。
📄 ライセンス
このプロジェクトはApache License 2.0の下でライセンスされています。詳細については、LICENSEファイルを参照してください。
⚠️ 免責事項
このプロジェクトは、研究および教育目的で使用することを意図した高忠実度の音声生成モデルを提供しています。以下の使用は厳禁です。
- 身元の誤用:許可なく実在の人物に似た音声を生成しないでください。
- 欺瞞的な内容:このモデルを使用して誤解を招く内容(例:偽ニュース)を生成しないでください。
- 違法または悪意のある使用:このモデルを違法な活動や危害を加える目的で使用しないでください。
このモデルを使用することにより、関連する法的基準と倫理的責任を遵守することに同意するものとします。私たちは、誤用による損害について一切の責任を負いません。また、この技術の非倫理的な使用には固く反対します。
🔭 今後の予定
- Dockerサポートの追加
- 推論速度の最適化
- メモリ効率のための量子化の追加
🤝 コントリビューション
私たちは、フルタイム1人とパートタイム1人の小さなチームです。どんなコントリビューションも大歓迎です!議論に参加するには、Discordサーバーに参加してください。
🤗 謝辞