Files
MIDIFoundationModel/readme_CN.md
2025-09-08 14:49:28 +08:00

4.5 KiB
Raw Permalink Blame History

🎵 Amadeus: Autoregressive Model with Bidirectional Attribute Modelling for Symbolic Music

HuggingFace arXiv

Amadeus 是一种新型的 符号音乐 (MIDI) 生成框架,我们使用 自回归 建模音符序列,离散扩散模型 建模音符内部属性,并通过 表征优化 提升模型性能。相较于当前主流的自回归或分层自回归模型Amadeus 在 生成质量、速度与可控性 上均取得了显著进步。在生成质量显著提升的同时,我们实现了至少 4x 于纯自自回归模型的速度提升。我们同时还支持一种免训练的 细粒度属性控制 这赋予了Amadeus最大程度的灵活性。我们会持续更新 代码,模型和数据集


🏗️ 模型架构

Amadeus architecture


📅 更新日志

  • 2025-08-28公布推理代码和 Amadeus-S 模型

⚙️ 安装与使用

搭建环境(仅推理):

conda create -n amadeus_slim python=3.10
conda activate amadeus_slim
pip install -r demo/requirements.txt

首次运行:

# 中文界面
python demo/Amadeus_app_CN.py

# 英文界面
python demo/Amadeus_app_EN.py

说明:Amadeus_app_CN.py 用于中文界面,Amadeus_app_EN.py 用于英文界面。 👉 模型会自动下载到 models/ 文件夹,包含一个可用的 soundfont。请修改 Amadeus/symbolic_encoding/midi2audio.py 中的 DEFAULT_SOUND_FONT 路径。

命令行生成示例:

python generate.py -wandb_exp_dir models/Amadeus-S -text_encoder_model google/flan-t5-base -temperature 2 -prompt "A lively and melodic pop rock song featuring piano, overdriven guitar, electric drum and electric bass, set in a fast 4/4 tempo and the key of C# minor, with a frequently recurring chord progression of D, A, C#m, and F# that evokes a mix of emotion and love."

📂 仓库结构

Amadeus/
├── demo/                   # 示例脚本与界面 (CN/EN)
├── Amadeus/                # 核心模型与符号编码
├── assets/                 # 架构图与示例音频文件
├── data_representation     # 数据处理
├── models/                 # 下载或缓存的预训练模型
└── generate.py             # 命令行生成入口

📊 评测结果

我们在 MidiCaps 数据集上评测了 生成速度、文本对齐度以及音符属性控制精度。结果如下:

Model Speed (notes/s) CLAP ↑ TBT ↑ CK ↑ CTS ↑ CI ↑ CMtop3
Text2Midi 4.02 0.19 31.76 22.22 84.15 19.92 60.57
MuseCoco 1.67 0.19 34.21 14.66 94.24 22.42 38.18
T2M-inferalign 4.02 0.20 39.32 29.80 84.32 20.13 47.74
Amadeus 16.23 0.20 73.93 39.31 96.98 26.01 65.52
Amadeus-M 10.51 0.21 76.31 43.07 97.02 27.11 66.39

🤝 致谢与贡献

Amadeus 的研发受到音乐与 AI 社区的启发,旨在 服务音乐创作者,而非替代他们
我们欢迎开发者和研究人员贡献代码或提出建议 —— 请通过 IssuesPull Requests 与我们交流。

本项目部分设计参考了 JudeJiwoo/nmt,在此表示感谢 🙏

⚠️ 注意事项

当前模型规模较小,并不总是能生成完全符合描述的 MIDI。
您可以尝试 适当调整温度temperature、阈值top-p 等参数) 来改善结果。

我们会持续改进模型,以提供更稳定和高质量的生成体验。---


📚 引用

如果您觉得 Amadeus 对您的研究或创作有帮助,请引用我们的论文:

@article{su2025amadeus,
  title   = {Amadeus: Autoregressive Model with Bidirectional Attribute Modelling for Symbolic Music},
  author  = {Su, Hongju and Li, Ke and Yang, Lan and Zhang, Honggang and Song, Yi-Zhe},
  journal = {arXiv preprint arXiv:2508.20665},
  year    = {2025}
}