🚀 Dia-1.6B テキスト音声変換モデル
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)
などの非言語的な表現を生成します。
- 音声クローニング機能があります。詳細は
example/voice_clone.py
を参照してください。
- Hugging Faceのスペースでは、クローニングしたい音声をアップロードし、スクリプトの前にトランスクリプトを配置することができます。トランスクリプトが必要な形式に従っていることを確認してください。そうすると、モデルはスクリプトの内容のみを出力します。
📦 インストール
このリポジトリには、Dia-1.6Bモデル のFP16(半精度)バージョンが含まれており、元の .pth
ファイルと比較して、潜在的に高速な読み込みとファイルサイズの削減のためにSafeTensors形式に変換されています。
FP16変換統計:
元のサイズ: 6.002177 GB
変換後のサイズ: 3.001058 GB
サイズ削減率: 50.000510%
最大絶対テンソル差: 0.000487
最大相対テンソル差: 0.229572
平均絶対テンソル差: 0.000010
safetensorsファイルを使用するには、safetensorsからの読み込みを可能にするこのカスタムスクリプトを使用します。
まず、ライブラリをインストールします。
git clone https://github.com/thepushkarp/dia.git
cd dia
python -m venv .venv
source .venv/bin/activate
次に、以下のコードを実行します。
import soundfile as sf
from dia.model import Dia
model = Dia.from_pretrained(
"thepushkarp/Dia-1.6B-safetensors-fp16",
config_path="config.json",
checkpoint_path="dia-v0_1-fp16.safetensors",
)
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)
💻 使用例
基本的な使用法
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サーバー に参加してください。
🤗 謝辞
- (更新) ZeroGPU Spaceが稼働しています!こちら で試してみてください。HFチームのサポートに感謝します。
- コミュニティサポートや新機能へのアクセスを得るには、Discordサーバー に参加してください。
- より大きなバージョンのDiaで遊んでみましょう!面白い会話を生成し、コンテンツをリミックスし、友人と共有しましょう。🔮 早期アクセスのために ウェイトリスト に登録してください。