Model reference · open weights
midashenglm-gen is an open-weight audio or speech model from mispeech. midashenglm-gen (FP32) weighs 5.8 GB; the smallest configuration that runs it is RTX 3060 12 GB.
Summary of the mispeech/midashenglm-gen model card, 2026-10-01
What it is
| Released by | mispeech |
|---|---|
| Released | 2026-08-12 |
| Parameters | 2.9B |
| VRAM | 5.8 GB for the weights |
What it runs on
| Card | One stream | Memory |
|---|---|---|
| RTX 3060 12 GB | fits | 11.6 GB |
| RTX 4060 Ti 16 GB | fits | 15.4 GB |
| RTX 3090 24 GB | fits | 23.4 GB |
| RTX 4090 24 GB | fits | 23.4 GB |
| RTX 5090 32 GB | fits | 31.0 GB |
| L40S 48 GB | fits | 44.0 GB |
| A100 80 GB | fits | 78.2 GB |
| H100 80 GB | fits | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | fits | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | fits | 107 GB |
| H200 141 GB | fits | 138 GB |
| B200 180 GB | fits | 176 GB |
From the model card
MiDashengLM-Gen
English | 中文
MiDashengLM-Gen is an end-to-end framework that uses a pre-trained Large Language Model and audio tokenizer as the backbone, combined with per-token conditional flow matching for autoregressive, variable-length mixed-audio scene generation. It generates coherent 16 kHz audio scenes that simultaneously blend speech, music, sound effects, and environmental acoustics from structured text descriptions.
Left: training pipeline with flow matching loss. Right: autoregressive inference pipeline.
Key components:
| Component | Details |
|---|---|
| Audio Tokenizer | DashengTokenizer → 768-dim latents @ 25 Hz, downsampled to 5 Hz via audio projector |
| LLM Backbone | Qwen3-1.7B, fully fine-tuned |
| Flow Matching DiT | 16 layers, hidden dim 2048, 8 heads, MLP ratio 4.0 |
| Inference | 10-step Euler ODE solver, CFG scale 2.0 |
| Stop Head | Learned binary classifier for variable-length truncation |
| Output | 16 kHz mono WAV, auto-truncated |
Input uses structured multi-view captions with special tokens to describe different aspects of an audio scene. Use `` for absent elements.
| Token | Description | Example |
|---|---|---|
| `` | Overall scene description | A comedian delivering a punchline followed by uproarious crowd laughter and an upbeat jazz band hit |
| `` | Speech transcript | And that is why I never buy cheap luggage anymore! |
| `` | Speaker characteristics (voice, emotion, style) | expressive comedic male voice |
| `` | Sound effects | uproarious crowd laughter |
| `` | Music description | sudden upbeat jazz band sting |
| `` | Environment / ambience | intimate comedy club |
pip install torch torchaudio "transformers>=4.51" einops safetensors soundfile tqdm numpy x-transformers
from transformers import AutoModel
import soundfile as sf
model = AutoModel.from_pretrained("mispeech/midashenglm-gen", trust_remote_code=True)
model = model.cuda()
result = model.generate(
" A comedian delivering a punchline followed by uproarious crowd laughter and an upbeat jazz band hit "
" And that is why I never buy cheap luggage anymore! "
" expressive comedic male voice "
" sudden upbeat jazz band sting "
" uproarious crowd laughter "
" intimate comedy club"
)
sf.write("output.wav", result["audio"], result["sample_rate"])
texts = [
" A comedian delivering a punchline followed by uproarious crowd laughter and an upbeat jazz band hit And that is why I never buy cheap luggage anymore! expressive comedic male voice sudden upbeat jazz band sting uproarious crowd laughter intimate comedy club",
" Upbeat instrumental music with occasional whistling and low audio quality. Intermittent whistling emerges in later segment alongside persistent instrumental playback. Bright melodic composition with guitar, piano, and rhythmic percussion elements, maintaining a consistently upbeat character. Low-fidelity recording with compressed dynamics and limited frequency response.",
]
result = model.generate(texts)
for i, audio in enumerate(result["audio"]):
sf.write(f"output_{i}.wav", audio, result["sample_rate"])
result = model.generate(
"...",
eval_cfg=2.0, # Classifier-free guidance scale
stop_threshold=0.5, # Stop prediction threshold
min_stop_step=5, # Minimum steps before stopping
seed=42, # Random seed for reproducibility
)
| Parameter | Default | Description |
|---|---|---|
eval_cfg | 2.0 | Classifier-free guidance scale |
stop_threshold | 0.5 | Stop probability threshold for audio truncation |
min_stop_step | 5 | Minimum generation steps before stopping |
seed | None | Random seed for reproducibility |
@article{sun2026midashenglmgen,
title={MiDashengLM-Gen: Unified Audio Scene Generation via LLM-Driven Autoregressive Flow Matching},
author={Sun, Xingwei and Dinkel, Heinrich and Li, Gang and Mei, Jiahao and Niu, Yadong and Han, Zerui and Jiang, Yuepeng and Zhou, Jiahao and Fan, Lichun and Luan, Jian},
journal={arXiv preprint},
eprint={2608.11804},
archivePrefix={arXiv},
year={2026}
}
Apache 2.0
You are solely responsible for your use of MiDashengLM-Gen and any outputs, actions, or consequences arising therefrom, and you agree not to use MiDashengLM-Gen or any derivatives thereof:
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.