Dasheng-AudioGen-Multilingual

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

English | 中文

Dasheng-AudioGen-Multilingual is the multilingual variant of Dasheng-AudioGen, a unified audio generation model that can jointly synthesize intelligible speech, music, sound effects, and environmental acoustics from text descriptions.

Models

Model HuggingFace Text Encoder Language
Dasheng-AudioGen mispeech/Dasheng-AudioGen google/flan-t5-large English
Dasheng-AudioGen-Multilingual mispeech/Dasheng-AudioGen-Multilingual google/mt5-large Multilingual

Language Support

Language Duration (h) Proportion
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%
Other 1,369.16 5.24%

Note: The current multilingual model has notably higher synthesis error rates for all non-English languages. Languages outside the table above are even less reliable. For English-only use cases, the base model (mispeech/Dasheng-AudioGen) is recommended.

Installation

pip install torch torchaudio "transformers<5" einops

Tested with Python 3.10, torch 2.8.0+cu128, transformers 4.57. Not compatible with transformers 5.x.

Quick Start

Basic Usage

import torchaudio
from transformers import AutoModel

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

audio = model.generate("A dog barking in a park")
torchaudio.save("output.wav", audio.cpu(), 16000)

Aspect-wise Prompt

Use compose_prompt to describe different audio aspects separately:

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)

You can also pass a pre-formatted string with tags directly:

audio = model.generate(
    "<|caption|> A helicopter passing overhead. <|sfx|> Rhythmic helicopter blade sounds. <|env|> Open sky ambience."
)

Batch Inference

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)

Generation Parameters

audio = model.generate(
    prompts="A dog barking in a park",
    num_steps=25,              # number of denoising steps (default: 25)
    guidance_scale=5.0,        # classifier-free guidance scale (default: 5.0)
    sway_sampling_coef=-1.0,   # sway sampling coefficient (default: -1.0, 0 for linear)
)

Prompt Format

Dasheng-AudioGen uses structured tags to describe different audio aspects:

Tag Description
<|caption|> Overall audio scene description
<|speech|> Speaker identity and speaking style
<|asr|> Spoken transcript / dialogue
<|sfx|> Sound effects
<|music|> Background music
<|env|> Environmental ambience

Multilingual prompt convention: All descriptive tags (caption, speech, sfx, music, env) should be written in English. Only the <|asr|> field (the actual spoken content to be synthesized) should use the target language.

Acknowledgments

Dasheng-AudioGen was developed with contributions from XIAOMI LLM PLUS and SJTU X-LANCE.

Citation

@article{dasheng-audiogen,
  title={Dasheng-AudioGen},
  author={},
  journal={arXiv preprint arXiv:2505.XXXXX},
  year={2025}
}

License

This project is released under the Apache License 2.0.

Downloads last month
4
Safetensors
Model size
2B params
Tensor type
I64
·
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support