引子
一直在语音方面没有涉及,碰巧看到一则新闻,一个刚刚在 X、GitHub 等平台上走红的开源语音模型。它不仅能生成说话的声音、对话,同时也能合成真实感非常强的笑声、喷嚏声和吸鼻子声等表达情绪的声音。由于效果过于逼真,很好,吸引了我的注意。那就语音试水第一篇。OK,那就让我们开始吧。
一、模型介绍
Dia 来自 Nari Labs,是一个 1.6B 参数量的文本转语音模型。
Dia 可以直接基于文字生成高真实感的对话。用户可以对输出的音频进行调整,从而控制其情绪和语调。同时,模型还可以生成非语言的交流声音,例如笑声、咳嗽声、吸鼻子声等。并且 Nari Labs 开源发布了 Dia,使用了 Apache License 2.0 证书。该团队表示:为了加速研究,我们提供了预训练模型检查点和推理代码的访问权限。模型权重托管在 Hugging Face 上。不过遗憾的是,目前该模型仅支持英语生成。
二、环境搭建
1、模型下载
https://huggingface.co/nari-labs/Dia-1.6B/tree/main
2、环境安装
docker run -it --rm -v /datas/work/zzq/:/workspace --gpus=all --net host pytorch/pytorch:2.4.0-cuda12.4-cudnn9-devel bash
git clone https://github.com/nari-labs/dia.git
cd /workspace/Dia/dia-main
pip install -e . -i Simple Index
三、推理测试
import soundfile as sf from dia.model import Dia model = Dia.from_local("/workspace/Dia/dia-main/nari-labs/Dia-1.6B/config.json","/workspace/Dia/dia-main/nari-labs/Dia-1.6B/dia-v0_1.pth") 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)