dia README

The project's README from github.com/nari-labs/dia. As one markdown file: README.md.

Static Badge LICENSE

Model on HuggingFace Space on HuggingFace

Dia is a 1.6B parameter text to speech model created by Nari Labs.

UPDATE 🤗(06/27): Dia is now available through Hugging Face Transformers!

UPDATE 🚀(11/19): Dia2 is released on Github and HuggingFace link!

Dia directly generates highly realistic dialogue from a transcript. You can condition the output on audio, enabling emotion and tone control. The model can also produce nonverbal communications like laughter, coughing, clearing throat, etc.

To accelerate research, we are providing access to pretrained model checkpoints and inference code. The model weights are hosted on Hugging Face. The model only supports English generation at the moment.

We also provide a demo page comparing our model to ElevenLabs Studio and Sesame CSM-1B.

Generation Guidelines

Quickstart

Transformers Support

We now have a Hugging Face Transformers implementation of Dia! You should install main branch of transformers to use it. See hf.py for more information.

View more details

Install main branch of transformers

pip install git+https://github.com/huggingface/transformers.git
# or install with uv
uv pip install git+https://github.com/huggingface/transformers.git

Run hf.py. The file is as below.

from transformers import AutoProcessor, DiaForConditionalGeneration


torch_device = "cuda"
model_checkpoint = "nari-labs/Dia-1.6B-0626"

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."
]
processor = AutoProcessor.from_pretrained(model_checkpoint)
inputs = processor(text=text, padding=True, return_tensors="pt").to(torch_device)

model = DiaForConditionalGeneration.from_pretrained(model_checkpoint).to(torch_device)
outputs = model.generate(
    **inputs, max_new_tokens=3072, guidance_scale=3.0, temperature=1.8, top_p=0.90, top_k=45
)

outputs = processor.batch_decode(outputs)
processor.save_audio(outputs, "example.mp3")

Run with this repo

Install via pip
# Clone this repository
git clone https://github.com/nari-labs/dia.git
cd dia

# Optionally
python -m venv .venv && source .venv/bin/activate

# Install dia
pip install -e .

Or you can install without cloning.

# Install directly from GitHub
pip install git+https://github.com/nari-labs/dia.git

Now, run some examples.

python example/simple.py
Install via uv

You need uv to be installed.

# Clone this repository
git clone https://github.com/nari-labs/dia.git
cd dia

Run some examples directly.

uv run example/simple.py
Run Gradio UI
python app.py

# Or if you have uv installed
uv run app.py
Run with CLI
python cli.py --help

# Or if you have uv installed
uv run cli.py --help

[!NOTE] The model was not fine-tuned on a specific voice. Hence, you will get different voices every time you run the model. You can keep speaker consistency by either adding an audio prompt, or fixing the seed.

[!IMPORTANT] If you are using 5000 series GPU, you should use torch 2.8 nightly. Look at the issue #26 for more details.

Features

💻 Hardware and Inference Speed

Dia has been tested on only GPUs (pytorch 2.0+, CUDA 12.6). CPU support is to be added soon. The initial run will take longer as the Descript Audio Codec also needs to be downloaded.

These are the speed we benchmarked in RTX 4090.

precision realtime factor w/ compile realtime factor w/o compile VRAM
bfloat16 x2.1 x1.5 ~4.4GB
float16 x2.2 x1.3 ~4.4GB
float32 x1 x0.9 ~7.9GB

We will be adding a quantized version in the future.

If you don't have hardware available or if you want to play with bigger versions of our models, join the waitlist here.

🪪 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

⚠️ Disclaimer

This project offers a high-fidelity speech generation model intended for research and educational use. The following uses are strictly forbidden:

By using this model, you agree to uphold relevant legal standards and ethical responsibilities. We are not responsible for any misuse and firmly oppose any unethical usage of this technology.

🔭 TODO / Future Work

🤝 Contributing

We are a tiny team of 1 full-time and 1 part-time research-engineers. We are extra-welcome to any contributions! Join our Discord Server for discussions.

🤗 Acknowledgements

⭐ Star History

Star History Chart

dia (nari-labs/dia)

Searching Database…

19.4K ·GitHub
这是什么?Dia 是 Nari Labs 推出的一个 1.6B 参数的开源权重文字转语音模型,只需一次推理就能从文稿生成极其逼真的多说话人对话。
这是网页服务,还是需要我自己在本地运行?需要你自己运行:它是一个带推理代码的 Python 模型,权重从 Hugging Face 下载。如果你只是想先试一试,有一个免费的 ZeroGPU Space 可以直接在浏览器里运行。
我怎么把它跑起来?用 pip 或 uv 安装,然后运行示例脚本。它还有 Hugging Face Transformers 实现(安装 transformers 的 main 分支,然后运行 hf.py),另外还提供 Gradio 界面和命令行工具。
事先需要了解哪些主要限制?目前只能生成英文。音频片段请保持在 5-20 秒之间:输入太短听起来不自然,太长则语速会快得不自然。RTX 5000 系列显卡目前需要 torch 2.8 nightly。
可以免费使用吗?有没有使用限制?采用 Apache 2.0 许可证,但免责声明把用途限制在研究和教育:未经许可不得克隆真人的声音,不得制作假新闻之类的欺骗性内容,也不能用于任何违法用途。
需要什么样的硬件?需要一块支持 CUDA 的显卡——目前只在 GPU 上测试过(PyTorch 2.0+、CUDA 12.6),还不支持 CPU。以 bfloat16 运行大约需要 4.4GB 显存,在 RTX 4090 上速度约为实时的 2 倍。
和 ElevenLabs 或其他 TTS 模型相比怎么样?团队发布了一个演示页面,把 Dia 与 ElevenLabs Studio 和 Sesame CSM-1B 放在一起对比,你可以自己用耳朵判断效果;README 本身并没有给出结论。
Dia 还在积极开发吗?是的——Dia 已在 6 月更新中集成进 Hugging Face Transformers,Dia2 也在 11 月更新中发布到了 GitHub 和 Hugging Face。
路线图上有什么计划?为 ARM 架构和 MacOS 提供 Docker 支持、更快的推理速度,以及降低内存占用的量化版本。还有一个等待名单,面向更大规模的 Dia 版本,以及没有硬件可以运行它的人。
What are similar projects?csm, bark, ChatTTS, Speech, DramaBox, FireRedAudio, breeze-tts, OpenVoice
Creator
nari-labs
Size
0.6 MB
Stars
19.4K
Updated
CommitNov 19
Age
1y
Commits · 90 Days