观看 BACH 如何将原始令牌一步步转化为结构化音乐。
BACH:小节级 AI 作曲助手
> “从乐谱到演奏:通过小节级符号记谱实现高效的人类可控长乐曲生成” > ICASSP 2026 投稿 – 已接收
🎼 一句话摘要
BACH 是首个可人类编辑、小节级的符号歌曲生成器: LLM写歌词 → Transformer生成ABC乐谱 → 通用渲染器输出分钟级、Suno水准音乐。 10亿参数,分钟级推理,SOTA开源。📦 本仓库包含内容(预览版)
| 路径 | 描述 | |------|------| |README.md | 本文件 |
| code/ | 推理代码 |
| example.mp3 | 示例歌曲 |
| fig/ | 架构图 |🏗️ 模型架构(快速一览)
用户提示 Qwen3 — 歌词与风格标签 BACH-1B 仅解码型Transformer ABC乐谱(Dual-NTP + Chain-of-Score)
ABC → MIDI → FluidSynth + VOCALOID 立体声混音
| 组件 | 关键思想 |
|-----------|----------|
| Dual-NTP | 每一步联合预测 {vocal_patch, accomp_patch} |
| Chain-of-Score | 使用分段标签 [START:Chorus] ... [END:Chorus] 保持长时连贯性 |
| Bar-stream patch | 每小节16字符的不重叠片段 |
🧪 快速开始(适合CPU)
# 1. Clone
git clone https://github.com/your-github/BACH.git
cd BACH2. Install
pip install -r requirements.txt # transformers>=4.41 mido abcpy fluidsynth3. Generate ABC
python bach/generate.py \
--prompt "A rainy-day lo-fi hip-hop song about missing the last train" \
--out_abc demo/rainy_lofi.abc4. Render audio
🎧 立即收听
example.mp3 已为您准备好,这是一整首歌。您可以将其与 Suno🙂 进行比较相关文章接受后完整发布
- 完整训练集(ABC + 歌词 + 结构标签)
- BACH-1B 权重(Transformer 格式)
- 训练脚本(多阶段 + 多任务 + ICL)
- 完整代码
📎 引用
论文已发布在 Arxiv,@misc{wang2025scoreperformanceefficienthumancontrollable,
title={通过乐谱到表现:高效且可人为控制的长曲生成与小节级符号记谱},
author={王通熙 and 余洋 and 王青 and 钱俊朗},
year={2025},
eprint={2508.01394},
archivePrefix={arXiv},
primaryClass={cs.SD},
url={https://arxiv.org/abs/2508.01394},
}
---
Tranlated By Open Ai Tx | Last indexed: 2026-03-08
---