跳转至

SongComposer: A Large Language Model for Lyric and Melody Generation in Song Composition

会议: ACL 2025
arXiv: 2402.17645
代码: 项目主页
领域: LLM/NLP
关键词: 歌曲创作, 大语言模型, 旋律生成, 歌词生成, 符号音乐表示

一句话总结

SongComposer是首个能够同时生成歌词和旋律的音乐专用大语言模型,通过词级对齐的元组格式、基于音乐知识的标量音高初始化、以及渐进式结构感知训练(motif→独立全曲→短语级配对),在歌词配旋律、旋律配歌词、歌曲续写和文本生成歌曲等任务上全面超越GPT-4。


研究背景与动机

研究背景: 符号歌曲创作旨在以符号序列生成包含歌词和旋律的人声音轨,是歌曲生成的核心任务。近年来,歌词生成、旋律生成、歌词→旋律和旋律→歌词等子任务各有进展,但缺乏统一框架同时处理歌词和旋律。

现有方法的局限性: (1) SongMASS、TeleMelody等传统模型只能处理单一子任务,无法一个模型覆盖所有创作需求;(2) 直接使用LLM进行歌曲创作面临三大挑战——歌词与旋律的对齐方式未被探索、歌曲的层次化结构(motif和phrase)难以建模、高质量配对数据集稀缺。

核心动机: 歌曲的符号表示与自然语言在结构上有相似性,LLM的指令跟随能力使其可以将多个子任务整合到一个模型中。但需要解决符号表示设计、音高理解和结构建模三大技术难题。


方法详解

整体框架

SongComposer基于InternLM2-7B构建,包含三个核心创新:词级元组表示格式、标量音高初始化、以及三阶段渐进式训练。训练数据来自自建的SongCompose数据集(280K纯歌词 + 20K纯旋律 + 8K配对数据)。

关键设计

1. 词级元组格式: 将旋律分解为音高 \(p\)、音符时长 \(d\)、休止时长 \(r\) 三个属性。配对数据中每个音符与对应歌词按 <p>,d,w 格式对齐。时长以1/16拍为单位量化: $\(d_k = \phi\left(\frac{\text{bpm}}{60}(\text{note-end}_k - \text{note-start}_k) \times 16\right)\)$

2. 标量音高初始化: 先用高斯初始化中心音高 <66>,其余音高设为中心嵌入的标量倍数: $\(\text{emb}(\langle p \rangle) = c_p \cdot \text{emb}(\langle 66 \rangle)\)$ 其中倍数范围为 \([-\ln(e+17), \cdots, -\ln(e), \ln(e), \cdots, \ln(e+17)]\),显式编码了音高间的数值关系。

3. 渐进式结构感知训练: - 阶段1 - Motif级旋律训练: 提取高重复性短音符序列作为motif数据,让模型学习基本的重复模式 - 阶段2 - 独立全曲训练: 分别在纯歌词和纯旋律数据上训练全曲理解能力 - 阶段3 - 短语级配对训练: 在配对数据中引入5种短语特殊token(intro/verse/chorus/bridge/outro),让模型学习歌曲的段落结构

损失函数

标准的自回归next-token prediction损失,最大化给定上下文的token对数似然。


实验

主实验:歌词配旋律与旋律配歌词

方法 PD(%)↑ DD(%)↑ MD↓ Cosine Dist.↑ ROUGE-2↑ BS↑
SongMASS 30.34 48.98 2.95 0.568 0.204 0.532
TeleMelody 46.81 51.77 2.60 - - -
GPT-3.5 31.24 38.52 3.01 0.641 0.142 0.603
GPT-4 36.43 42.94 2.87 0.654 0.158 0.610
SongComposer 50.75 57.71 2.20 0.697 0.234 0.657

消融实验

消融维度 具体结果
音高初始化 Scalar > Interpolation > Average > Gaussian(MD: 2.33 vs 3.07/3.41/2.90)
Motif重复阈值 阈值=10时RR-MD平衡最优(RR=2.03, MD=2.33)
对齐粒度 Word-level > Line-level > Song-level(MD: 2.12 vs 2.42 vs 3.71)
短语级token 有短语token的续写效果更好(MD: 2.12 vs 2.58, BS: 0.662 vs 0.612)

主观评估

方法 歌词配旋律 HMY. MLC. 文本生成歌曲 OVL. REL.
GPT-3.5 1.68 1.88 2.53 2.95
GPT-4 2.82 2.79 2.43 3.27
SongComposer 3.82 3.76 3.41 3.88

关键发现

  • 统一框架有效: 单一模型在四个子任务上全面超越GPT-4和专用模型
  • 标量初始化关键: 显式编码音高间数值关系比随机初始化显著更优,Recall Rate从1.44提升到2.03
  • 词级对齐必要: 相比行级和曲级,词级对齐将Melody Distance从3.71降至2.12
  • 结构感知有效: Motif训练提升了旋律的重复性和结构感,短语token提升了段落组织能力

亮点

  • 首次使用LLM同时生成歌词和旋律,实现统一的歌曲创作框架
  • 标量音高初始化巧妙利用数值关系编码音高语义,实质上是一种音乐知识注入
  • 渐进式训练策略从motif到phrase逐步引入结构信息,符合人类作曲认知
  • 自建的SongCompose数据集(8K精确词级对齐配对数据)填补了该领域数据空白

局限性

  • 音高范围限制在C3-B5(MIDI 48-83),无法覆盖更宽音域的创作需求
  • 基于InternLM2-7B的模型规模限制了创作复杂度和多样性
  • 配对数据集仅8K首歌曲,规模仍然有限
  • 评估偏重旋律相似度指标,对音乐创意性和可听性的评估不足
  • 仅支持单声部(人声音轨),无法生成伴奏等多声部内容

相关工作

  • 歌曲子任务: SongMASS (Sheng et al., 2021) Lyric↔Melody双向生成,TeleMelody (Ju et al., 2022) 模板旋律生成
  • LLM音乐生成: ChatMusician (Yuan et al., 2024) 纯音乐符号生成,本文扩展到歌词+旋律
  • 符号表示: REMI (Huang & Yang, 2020) 基于拍的音乐表示
  • 配对数据集: M4Singer (Zhang et al., 2022b) 提供约700首中文歌曲

评分

维度 分数
新颖性 ⭐⭐⭐⭐⭐
技术深度 ⭐⭐⭐⭐
实验充分性 ⭐⭐⭐⭐⭐
写作质量 ⭐⭐⭐⭐
实用价值 ⭐⭐⭐⭐
总评 8/10