dia

其他源码 2025-08-03

dia是NARI Labs创建的语音模型的1.6B参数文本。

更新?(06/27) : dia现在可以通过拥抱面孔变压器获得!

dia直接从成绩单中生成高度逼真的dia LOGUE 。您可以在音频上调节输出,从而实现情感和音调控制。该模型还可以产生非语言交流,例如笑声,咳嗽,清澈的喉咙等。

为了加速研究,我们正在提供验证验证的模型检查点和推理代码。模型权重托管在拥抱的脸上。该模型目前仅支持英语。

我们还提供了一个将模型与Elevenlabs Studio和芝麻CSM-1B进行比较的演示页面。

  • 我们有一个Zerogpu空间运行!现在在这里尝试。感谢HF团队的支持:)
  • 加入我们的Discord Server以获得社区支持并访问新功能。
  • 玩更大版本的dia :生成有趣的对话,混音内容并与朋友分享。 ?加入候补名单以备尽早访问。

生成指南

  • 保持输入文本长度适中
    • 简短的输入(对应于音频的5秒以下)听起来不自然
    • 很长的输入(对应于20次音频)将使语音不自然地快速。
  • 从读书中的列表中少量使用非语言标签。过度使用或使用未列出的非骨折可能会导致怪异的伪像。
  • 始终使用[S1]开始输入文本,并始终在[S1]和[S2]和[S1] ... [S1] ...不好的情况下交替
  • 使用音频提示(语音克隆)时,请仔细遵循以下说明:
    • 在生成文本之前,提供要克隆的音频的笔录。
    • 成绩单必须正确使用[s1],[s2]扬声器标签(即单个扬声器:[s1] ...,两个扬声器:[s1] ... [s2] ...)
    • 要克隆的音频的持续时间应为5〜10秒,以获得最佳结果。 (请记住:1秒≈86个令牌)
  • 将[S1]或[S2](二次扬声器的标签)放在音频结束时,以提高音频质量

Quickstart

变形金刚的支持

现在,我们有一个拥抱的脸部变压器实施dia !您应该安装变压器的主要分支以使用它。有关更多信息,请参见HF.PY。

查看更多详细信息

安装变压器的主要分支

pip install git+https://gi**thub*.com/huggingface/transformers.git
# or install with uv
uv pip install git+https://gi**thub*.com/huggingface/transformers.git

运行hf.py.该文件如下。

diaForConditionalGeneration torch_device = "cuda" model_checkpoint = "nari-labs/ dia -1.6B-0626" text = [ "[S1] dia is an open weights text to dia logue 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 = dia ForConditionalGeneration.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")">
 from transformers import AutoProcessor , dia ForConditionalGeneration


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

text = [
    "[S1] dia is an open weights text to dia logue 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 = dia ForConditionalGeneration . 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" )

与此仓库一起运行

通过PIP安装
dia # Optionally python -m venv .venv && source .venv/bin/activate # Install dia pip install -e .">
 # Clone this repository
git clone https://g*ith*u*b.com/nari-labs/dia.git
cd dia

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

# Install dia
pip install -e .

或者您可以安装而无需克隆。

 # Install directly from GitHub
pip install git+https://g*ith*u*b.com/nari-labs/dia.git

现在,运行一些示例。

python example/simple.py
通过UV安装

您需要安装UV。

 # Clone this repository
git clone https://g*ith*u*b.com/nari-labs/dia.git
cd dia

直接运行一些示例。

uv run example/simple.py
运行Gradio UI
python app.py

# Or if you have uv installed
uv run app.py
与CLI一起运行
python cli.py --help

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

笔记

该模型没有在特定的语音上进行微调。因此,每次运行模型时,您都会获得不同的声音。您可以通过添加音频提示或修复种子来保持扬声器的一致性。

重要的

如果您使用的是5000系列GPU,则应每晚使用Torch 2.8。查看第26期中的更多详细信息。

特征

  • 通过[S1]和[S2]标签生成dia Logue
  • 产生非语言(笑),(咳嗽),等。
    • 在口头标签下面将被识别,但可能会导致意外的输出。
    • (laughs), (clears throat), (sighs), (gasps), (coughs), (singing), (sings), (mumbles), (beep), (groans), (sniffs), (claps), (screams), (inhales), (exhales), (applause), (burps), (humming), (sneezes), (chuckle), (whistles)
  • 语音克隆。有关更多信息,请参见示例/voice_clone.py。
    • 在拥抱面孔的空间中,您可以上传要克隆的音频并将其成绩单放在脚本之前。确保成绩单遵循所需的格式。然后,该模型将仅输出脚本的内容。

硬件和推理速度

dia仅在GPU上进行了测试(Pytorch 2.0+,CUDA 12.6)。 CPU支持将很快添加。由于还需要下载描述音频编解码器,因此初始运行将需要更长的时间。

这些是我们在RTX 4090中基准测试的速度。

精确 带编译的实时因子 带有编译的实时因子 vram
Bfloat16 x2.1 x1.5 〜4.4GB
Float16 x2.2 x1.3 〜4.4GB
float32 x1 X0.9 〜7.9GB

将来我们将添加量化版本。

如果您没有可用的硬件,或者想使用我们的型号的更大版本,请在此处加入候补名单。

?许可证

该项目已根据Apache许可证2.0的许可 - 有关详细信息,请参见许可证文件。

配x免责声明

该项目提供了用于研究和教育用途的高保真语音生成模型。严格禁止以下用途:

  • 身份滥用:如果未经许可,请勿产生类似于真实个人的音频。
  • 欺骗性内容:不要使用此模型来产生误导性内容(例如假新闻)
  • 非法或恶意使用:不要将此模型用于非法或旨在造成伤害的活动。

通过使用此模型,您同意维护相关的法律标准和道德责任。我们对任何滥用并坚定地反对对这项技术的任何不道德用法不承担任何责任

to /未来的工作

  • Docker支持ARM Architecture和MacOS。
  • 优化推理速度。
  • 添加量化以提高内存效率。

?贡献

我们是一支由1个全职和1个兼职研究人员组成的小团队。我们对任何贡献都有超级胜利!加入我们的Discord服务器进行讨论。

?致谢

  • 我们感谢Google TPU研究云计划提供的计算资源。
  • 我们的作品受到了Soundstorm,Pareakeet和Descript Audio编解码器的重大启发。
  • 拥抱脸部提供Zerogpu Grant。
  • “纳里”是莉莉的纯韩语。
  • 我们感谢Jason Y.为数据过滤提供帮助。

星历史

dia =“(喜欢彩色 - 旋转:深色)” srcset="https://camo.*githubuse*rconte*nt.com/f9092f179f7cc022313b86be46e147629fdf766d040662da63628197dba96222/68747470733a2f2f617 0692E737461722D686973746F72792E636F6D2F737667376673F7265706F733D6E17 2692D6C6162732F64696126747970653D44617465267468656D653D6461726B“ data-canonical-src =“ https://api.st*ar-h**istory.com/svg?repos = nari-labs/dia&type = date&theme = dark”> dia =“(偏爱色彩:光)” srcset =“ https://camo.githubuser*co*n*tent.com/844E26389101CA39CAC0964AAAA3A3A0258A7E71F0E3A4F215BCD15BCD15BCD15A10FA5A10FA55555555555AFEC/6874747470 733a2f2f6170692e737461722d686973746f72792e636f6d2f7376673f7265706f733d6e6172692d6c6162732f64696126747970653d44617465" data-canonical-src =“ https://api.st*ar-h**istory.com/svg?repos = nari-labs/dia&type = date”>
下载源码

通过命令行克隆项目:

git clone https://github.com/nari-labs/dia.git