Dia TTS(Nari Labs)
使用 Nari Labs 的 Dia TTS 生成具有情感的多说话人对话
最后更新于
这有帮助吗?
使用 Nari Labs 的 Dia TTS 生成具有情感的多说话人对话
最后更新于
这有帮助吗?
这有帮助吗?
# 选项 1:pip 安装
pip install dia-tts
# 选项 2:从源码安装
git clone https://github.com/nari-labs/dia.git
cd dia
pip install -e .from dia import Dia
# 加载模型
model = Dia.from_pretrained("nari-labs/Dia-1.6B")
# 生成多说话人对话
# [S1] = 说话人 1, [S2] = 说话人 2
text = """[S1] 嘿,你试过新的 GPU 租赁平台吗?
[S2] 你是说 Clore?是的,我昨天租了台 RTX 4090。
[S1] 感觉如何?
[S2](笑)说实话?比我预期的便宜多了。大约每天两块钱。
[S1] 不会吧。那……那真是太夸张了。"""
audio = model.generate(text)
# 保存到文件
import soundfile as sf
sf.write("dialog.wav", audio, samplerate=24000)# Dia 会自动处理自然的语音模式
text = """[S1] 我刚收到了结果……
[S2] 然后呢?别吊我胃口!
[S1](叹气)我们通过了。我们居然通过了所有测试。
[S2](笑)我早就说过!我就说我们能做到!
[S1] 我都不敢相信……(笑)好吧好吧,我们来庆祝吧。"""
audio = model.generate(text, temperature=0.8)
sf.write("emotional_dialog.wav", audio, samplerate=24000)# 对单一说话人也适用
text = "[S1] 欢迎阅读 Clore AI 文档。在本指南中,我们将演示如何设置您的第一个 GPU 租赁并部署机器学习模型。"
audio = model.generate(text)
sf.write("narration.wav", audio, samplerate=24000)# 启动交互式演示
python -m dia.app --port 7860 --share
# 或手动:
print(f"已生成:{name}")
from dia import Dia
model = Dia.from_pretrained("nari-labs/Dia-1.6B")
def generate_speech(text):
audio = model.generate(text)
return (24000, audio)
demo = gr.Interface(
fn=generate_speech,
inputs=gr.Textbox(label="对话(使用 [S1], [S2] 标签)", lines=10),
outputs=gr.Audio(label="Generated Speech"),
title="Dia TTS — 多说话人对话"
)
demo.launch(server_port=7860)