mie237's picture
Update README_zh.md
5fdfb7d verified

Dasheng-AudioGen-Multilingual

arXiv Hugging Face Model Hugging Face Demo Web Demo Open In Colab

English | 中文

Dasheng-AudioGen-Multilingual 是 Dasheng-AudioGen 的多语言版本,是一个统一的音频生成模型,能够根据文本描述同时合成语音、音乐、音效和环境声

模型

模型 HuggingFace 文本编码器 语言支持
Dasheng-AudioGen mispeech/Dasheng-AudioGen google/flan-t5-large 英语
Dasheng-AudioGen-Multilingual mispeech/Dasheng-AudioGen-Multilingual google/mt5-large 多语言

多语言支持

语言 时长 (h) 占比
英语 (English) 15,367.80 58.86%
西班牙语 (Spanish) 2,740.96 10.50%
葡萄牙语 (Portuguese) 1,916.24 7.34%
俄语 (Russian) 1,217.39 4.66%
法语 (French) 933.91 3.58%
日语 (Japanese) 874.51 3.35%
韩语 (Korean) 848.15 3.25%
德语 (German) 842.29 3.23%
其他 1,369.16 5.24%

注意: 当前多语言模型在所有非英语语言上的合成错误率都明显偏高,表中未列出的语言更不稳定。如果仅需英语生成,建议使用基础模型 (mispeech/Dasheng-AudioGen)。

安装

pip install torch torchaudio "transformers<5" einops

已在 Python 3.10、torch 2.8.0+cu128、transformers 4.57 上测试通过。已知不兼容 transformers 5.x。

Prompt 格式

Dasheng-AudioGen 使用结构化标签来描述不同的音频维度。有效的 prompt 必须以 <|caption|> 标签开头,用于描述整体音频场景。其他标签为可选项,按需使用。

标签 描述 是否必需
<|caption|> 整体音频场景描述
<|speech|> 说话人身份和说话风格
<|asr|> 语音转写内容 / 对话文本
<|sfx|> 音效
<|music|> 背景音乐
<|env|> 环境音

规则:

  • Prompt 必须以 <|caption|> 开头,否则会报错。
  • 仅包含有实际内容的标签;没有对应内容的标签请省略(例如没有音乐则不传 <|music|>)。

多语言 prompt 规范: 使用多语言模型时,所有描述性标签(captionspeechsfxmusicenv)应使用英文填写,仅 <|asr|> 字段(实际要合成的语音内容)使用目标语言。

快速开始

用法一:分维度组装

通过命名参数分别传入各个维度的描述。caption 为必填项,其他字段可选。

import torchaudio
from transformers import AutoModel

model = AutoModel.from_pretrained("mispeech/Dasheng-AudioGen-Multilingual", trust_remote_code=True).cuda()

prompt = model.compose_prompt(
    caption="A conversation scene on a busy city street.",
    speech="A young woman speaking softly in Spanish.",
    env="Rain and distant traffic noise.",
    asr="Creo que deberíamos irnos ya.",
)
audio = model.generate(prompt)
torchaudio.save("output.wav", audio.cpu(), 16000)

用法二:传入完整 Prompt 字符串

通过 prompt 参数传入预格式化的标签字符串,该字符串必须以 <|caption|> 开头。

import torchaudio
from transformers import AutoModel

model = AutoModel.from_pretrained("mispeech/Dasheng-AudioGen-Multilingual", trust_remote_code=True).cuda()

prompt = model.compose_prompt(
    prompt="<|caption|> A conversation scene on a busy city street. <|speech|> A young woman speaking softly in Spanish. <|asr|> Creo que deberíamos irnos ya. <|env|> Rain and distant traffic noise."
)
audio = model.generate(prompt)
torchaudio.save("output.wav", audio.cpu(), 16000)

批量推理

import torchaudio
from transformers import AutoModel

model = AutoModel.from_pretrained("mispeech/Dasheng-AudioGen-Multilingual", trust_remote_code=True).cuda()

prompts = [
    model.compose_prompt(caption="A cat meowing softly.", sfx="Soft cat meow."),
    model.compose_prompt(caption="Thunder rolling in the distance.", env="Stormy night ambience."),
    model.compose_prompt(caption="A piano playing a gentle melody.", music="Soft piano ballad."),
]
audios = model.generate(prompts)

for i, audio in enumerate(audios):
    torchaudio.save(f"output_{i}.wav", audio.unsqueeze(0).cpu(), 16000)

生成参数

import torchaudio
from transformers import AutoModel

model = AutoModel.from_pretrained("mispeech/Dasheng-AudioGen-Multilingual", trust_remote_code=True).cuda()

prompt = model.compose_prompt(caption="A dog barking in a park")
audio = model.generate(
    prompts=prompt,
    num_steps=25,              # 去噪步数(默认:25)
    guidance_scale=5.0,        # 无分类器引导强度(默认:5.0)
    sway_sampling_coef=-1.0,   # sway 采样系数(默认:-1.0,设为 0 使用线性调度)
)
torchaudio.save("output.wav", audio.cpu(), 16000)

致谢

Dasheng-AudioGen 由小米 LLM PLUS上海交通大学 X-LANCE 联合开发。

引用

@article{mei2026dashengaudiogen,
  title   = {Dasheng AudioGen: A Unified Model for Generating Coherent Audio Scenes from Text},
  author  = {Jiahao Mei and Heinrich Dinkel and Yadong Niu and Xingwei Sun and Gang Li and Yifan Liao and Jiahao Zhou and Junbo Zhang and Jian Luan and Mengyue Wu},
  journal = {arXiv preprint arXiv:2605.27838},
  year    = {2026}
}

许可证

本项目基于 Apache License 2.0 发布。