
NotaGen
NotaGen简介
NotaGen 是什么?
NotaGen 是由中央音乐学院、北京航空航天大学和清华大学等机构联合开发的一款AI音乐生成模型,专注于生成高质量的古典乐谱。它通过模仿大型语言模型(LLM)的训练范式,能够生成高质量的古典乐谱。
NotaGen 核心特点
高质量古典乐谱生成
NotaGen 能够根据用户指定的时期(如巴洛克、古典、浪漫)、作曲家(如巴赫、莫扎特、肖邦)和乐器(如键盘、弦乐四重奏、管弦乐)生成符合特定风格的乐谱。
先进的训练范式
预训练:在超过160万首乐曲上进行预训练,学习音乐的基本结构和模式。
微调:基于约9000首高质量古典作品进行微调,增强对特定风格和作曲家的理解。
强化学习:通过 CLaMP-DPO 方法优化生成音乐的质量和可控性,无需人工标注或预定义奖励。
多模态数据表示
NotaGen 使用 交错的 ABC 符号表示法(Interleaved ABC Notation),将不同声部的音符重新排列到一行中,并通过声部指示符 [V:] 区分。这种表示法能够灵活处理多轨音乐和复杂乐谱。
模型架构
NotaGen 采用 Tunesformer 架构,包含两个层次的 GPT-2 解码器:patch-level decoder 和 character-level decoder。通过 patch-level decoder 捕获 patch 之间的时间关系,然后将隐藏状态传递给 character-level decoder,自回归地预测下一个 patch 的字符。
生成样本
NotaGen 提供了多种风格的生成样本,包括键盘、室内乐、管弦乐、艺术歌曲、合唱和声乐管弦乐等。此外,还尝试了流行音乐风格的生成。
NotaGen 技术
数据表示:采用交错的 ABC 符号表示法,支持多轨音乐和复杂乐谱。
模型架构:基于 Tunesformer,包含 patch-level 和 character-level 解码器。
训练范式:
预训练:在 160 万首乐曲上进行预训练。
微调:在 9000 首高质量古典乐谱上进行微调,涵盖 152 位作曲家。
强化学习:通过 CLaMP-DPO 方法优化生成音乐的质量和可控性。
NotaGen 实验与评估
主观 A/B 测试:NotaGen 在生成音乐的质量上优于基线模型,接近人类作曲水平。
CLaMP-DPO 方法:通过对比学习模型 CLaMP² 提供的反馈,优化生成音乐的质量,无需人工标注或预定义奖励。
NotaGen 使用场景
专业作曲家:作为灵感工具,快速生成高质量乐谱。
音乐爱好者:降低音乐创作门槛,提供个性化创作支持。
音乐教育:作为教学工具,帮助学生理解不同风格和时期的音乐特点。
项目主页:https://electricalexis.github.io/notagen-demo
GitHub仓库:https://github.com/ElectricAlexis/NotaGen
论文:https://arxiv.org/pdf/2502.18008