Stable Audio 2:用潜在扩散模型生成完整歌曲)
论文题目LONG-FORM MUSIC GENERATION WITH LATENT DIFFUSION潜在扩散的长形式音乐生成会议Arxiv2404.10301v2摘要基于音频的音乐生成模型最近取得了长足的进步但到目前为止还没有成功地从文本提示中产生具有连贯音乐结构的完整长度的音乐轨道。我们表明通过在长时间背景下训练生成模型有可能产生高达4m45s的长形式音乐。我们的模型由一个工作在高度下采样的连续潜伏率(潜伏率为21.5赫兹)上的扩散变压器组成。它根据音频质量和即时对齐的指标获得最先进的代数主观测试表明它可以产生结构连贯的全长音乐。Stable Audio 2用潜在扩散模型生成完整歌曲一、为什么之前的模型不够用1.1 流行音乐比你想象的要长得多现有的文本条件音乐生成模型包括 MusicGen、MusicLM、AudioLDM 2 等训练时使用的音频片段通常只有1030 秒少数模型如 Stable Audio 1达到了90 秒。但这远远不够。此处配图论文Figure 1流行音乐时长累积直方图累积直方图显示流行音乐的代表性样本中小于特定长度的音乐的比例1。虚线与我们的型号(285s)和以前的型号(90s)的最大世代长度相关的比例。为了提高可读性垂直轴按幂定律进行了扭曲。论文分析了 Spotify 上 60 万首流行歌曲的时长分布。数据显示90 秒以内只覆盖了约17%的流行音乐而将生成时长扩展到4 分 45 秒285 秒则可以覆盖约83%。这意味着过去几乎所有的音乐生成模型在面对生成一首完整歌曲这个任务时从训练阶段就已经力不从心了。1.2 短片段训练 没有结构用短片段训练出来的模型即使通过自回归拼接的方式生成更长的音频也只能保证局部连贯——相邻几秒听起来还行但整体毫无章法没有前奏、主歌、副歌、尾奏这样的宏观结构。MusicGen 就是典型例子它可以生成任意长度的音频但结果往往是某个段落无限重复或者整首曲子从头到尾都在同一个状态里打转像一首没有终点的循环。1.3 长时序建模的显存瓶颈想要从根本上解决问题就必须在训练时就让模型看到完整的歌曲。但问题在于4 分 45 秒的 44.1kHz 立体声音频包含约1260 万个采样点。即使压缩成 latent如果帧率在 40150 Hz主流水平序列长度仍高达 1 万4 万帧远超当前 GPU 的显存容量。1.4 以往的绕路方案语义 tokenMusicLM 和 AudioLM 的解决思路是引入语义 token作为中间层先用文本预测高层语义表示再用语义引导生成声学 token最后重建波形。这条路虽然有效但整个流程被拆成了四个阶段管线极为复杂维护成本高。Stable Audio 2 的目标是绕开语义 token用一个三阶段的端到端系统一次性生成长达 4 分 45 秒的完整音乐。二、模型架构三个组件协同工作整个系统由三个模块串联文本提示 ↓ CLAP 文本编码器125M ↓ Diffusion-Transformer DiT1.1B ← 在 latent 空间扩散 ↓ 自编码器 Decoder157M 的一部分 ↓ 44.1kHz 立体声波形总参数量约1.3B。此处配图论文Figure 2DiT 架构图和Figure 3自编码器架构图2.1 自编码器把音频压缩到极致自编码器承担着将原始波形压缩成可操作序列的任务是整个系统能否处理长音频的关键。架构编码器由多组卷积块构成每组包含膨胀卷积 Snake 激活可学习周期性参数 β 步进卷积用于下采样。解码器结构镜像对称用转置步进卷积上采样。瓶颈层是一个变分自编码器VAE输出 64 通道的连续 latent。最关键的指标——latent 帧率21.5 Hz。这是本文自编码器与所有前人工作最大的区别。对比一下模型latent 帧率DAC86 Hz离散Stable Audio 143 Hz连续Stable Audio 2本文21.5 Hz连续21.5 Hz 意味着 4 分 45 秒的音频被压缩成约6,100 帧这才让 Transformer 对全曲建模成为可能。训练损失由三部分组成多分辨率 STFT 重建损失分别施加在 Mid/Side 和 Left/Right 立体声表示上L/R 权重为 0.5专门约束立体声定位。对抗损失GAN使用 5 个卷积判别器参数量约为前人工作的 4 倍。KL 散度损失权重为约束 latent 分布。代价是轻微的重建质量下降但保持了可接受的感知质量见第四节自编码器评测。2.2 Diffusion-TransformerDiT扩散模型的主体DiT 是整个系统参数量最大的部分1.1B在自编码器的 latent 空间中执行扩散过程。为什么用 Transformer 而不是 U-Net主流音频扩散模型AudioLDM、Stable Audio 1都用卷积 U-Net。但 U-Net 的感受野受卷积核限制难以建模几分钟跨度的长程依赖。Transformer 的全局自注意力机制天然适合长序列。架构细节标准 Transformer 堆叠每个 Block 包含LayerNorm → 自注意力 → Cross-attention → 门控 MLP每个子模块都有残差连接。注意力的 Key/Query 施加了旋转位置编码RoPE处理的是 latent 序列的下半部分嵌入维度。此外使用了 FlashAttention 分块高效注意力和梯度检查点两者对于在如此长序列上训练 Transformer 至关重要。三路条件注入是 DiT 的设计亮点条件信号内容注入方式文本CLAP 文本嵌入Cross-attention时序信息目标时长、当前位置正弦编码Cross-attention Prepend扩散步当前扩散 timestep正弦编码Prepend其中Prepend是指将条件 token 直接拼接在序列前端让整个序列中的每个位置都能通过自注意力感知到它。扩散训练采用 v-objective预测噪声的速度方向而非噪声本身推理使用 DPM-Solver100 步Classifier-Free Guidance scale 为 7.0。2.3 CLAP 文本编码器使用对比学习CLAP从头训练一个文本-音频编码器约消耗 3k GPU 小时。文本编码器基于 RoBERTa音频编码器基于 HTSAT。推理时使用 CLAP 文本编码器的倒数第二层隐状态而非最后一层作为文本特征这与 Stable Audio 1 保持一致实践中效果更稳定。2.4 可变长度生成通过 timing conditioning用户可以指定任意目标时长例如 3 分 10 秒或 4 分 45 秒。模型在窗口末尾自动填充静音推理结束后裁剪掉静音部分即可得到目标长度的音频。整个过程无需为每种时长单独训练模型。三、训练两阶段课程学习自编码器和 CLAP 先独立训练然后再训练 DiT。DiT 的训练是两阶段的第一阶段预训练在最长3 分 10 秒的片段上训练消耗约70k GPU hoursA100。第二阶段微调以预训练权重为起点在最长4 分 45 秒的片段上微调额外消耗约15k GPU hours。这种课程式训练的好处是显著降低了直接在超长上下文上从头训练的难度和风险两阶段的定量指标无明显退化也印证了这一策略的可行性。数据集806,284 个文件共 19,500 小时其中 66% 为音乐25% 为音效9% 为乐器分轨全部含文本元数据BPM、流派、情绪、乐器等。文本提示在训练时随机拼接元数据子集并以两种分隔符格式逗号 / 竖线交替构造增强鲁棒性。优化器使用 AdamW基础学习率配合指数式预热和衰减调度并维护权重的指数移动平均EMA用于推理。四、实验结果4.1 定量评估全面超越 MusicGen评测基准为Song Describer Dataset无人声子集586 条提示使用三个已验证的自动化指标FD_openl3Fréchet Distance越低越好衡量生成音频与真实音频分布的距离KL_passtKL 散度越低越好衡量标签分布匹配程度CLAP score越高越好衡量音频与文本提示的语义对齐此处配表论文Table 2预训练模型结果预训练模型最长生成 3 分 10 秒与 MusicGen-large-stereo 对比在 2 分钟生成长度上FD_openl3 从 204.03 降到78.70↓61%KL_passt 从 0.49 降到0.36↓27%CLAP score 从 0.28 升到0.39↑39%。推理耗时仅8 秒而 MusicGen 需要6 分 38 秒快约 50 倍。此处配表论文Table 3全量训练模型结果全量训练模型最长生成 4 分 45 秒在各长度上同样全面优于 MusicGen且与预训练模型相比无明显退化说明从 3 分 10 秒扩展到 4 分 45 秒的微调策略是有效且无损的。生成 4 分 45 秒完整音乐仅需13 秒而 MusicGen 需要近13 分钟。4.2 主观评测接近真实录音水准26 位音乐制作人和音乐研究人员参与了主观评测使用 webMUSHRA 框架对音频质量、文本对齐、音乐结构、音乐性和立体声正确性打分15 分。此处配表论文Table 4主观评测 MOS 分数主要结论如下在4 分 45 秒生成上Stable Audio 2 在音频质量4.5、文本对齐4.6、音乐性4.3方面均达到与真实录音4.6/4.6/4.6接近的水平音乐结构4.0也达到好的水准立体声正确率高达100%。MusicGen 在所有维度上均只有 2.12.9 分立体声正确率仅 57%因为其倾向于将本应居中的乐器如底鼓、贝斯偏向一侧。值得注意的是2 分钟生成的音乐结构得分3.5略低于 4 分 45 秒4.0作者认为这是因为训练集中 2 分钟左右的音乐往往是重复性的循环素材而非完整结构的歌曲导致模型在此长度上的结构表现不如更长的生成。这一发现也印证了论文的核心论点长程音乐结构的涌现需要足够长的训练上下文而不是靠语义 token 来钦点。不是到 90 秒就够了——要到 4 分 45 秒模型才真正学会了歌曲结构。4.3 自编码器评测在极低帧率下保持感知质量单独评测自编码器的重建质量将 Song Describer Dataset706 首编码后解码与若干主流 codec 比较。此处配表论文Table 5自编码器重建质量对比本文自编码器21.5 Hz的 STFT 距离1.19和 MEL 距离0.71与 Stable Audio 143 Hz1.19/0.67相当SI-SDR7.14略低于后者8.62但时序压缩量是 Stable Audio 1 的2 倍。相比 DAC86 HzSTFT 0.96和 EnCodec50 HzSTFT 1.82本文的极低帧率下依然维持了有竞争力的感知质量。结论是重建质量的轻微下降是用来换取序列长度大幅压缩的合理代价整体音频质量仍足以支撑高质量的生成任务。4.4 音乐结构分析自相似矩阵可视化此处配图论文Figure 4三行自相似矩阵对比图每列对应摇滚、流行、爵士、嘻哈、古典五种流派论文用二值自相似矩阵SSM直观验证了生成音乐的结构质量横轴和纵轴均为时间颜色深的格子表示对应两个时间段的音频片段相似。真实音乐第一行呈现出清晰的块状结构和对角跳变代表段落的重复与对比。Stable Audio 2 的生成第二行与真实音乐非常相似——能看到明显的块状结构晚期段落中出现与早期段落相似的红色标记说明主题动机得到了重现。MusicGen 的生成第三行则呈现出两种典型缺陷要么早期段落基本不重复整幅图呈对角线形态要么在中间或结尾段落陷入循环蓝色重复块。4.5 记忆化分析论文对生成样本是否抄袭训练数据进行了严格检验用 LAION-CLAP 音频编码器将训练集全部嵌入并找出其中 5,566 个完全重复的音频然后针对这些最高风险提示生成音乐在 CLAP 空间中找出 Top-50 最相似的生成样本逐一人工审听。结论是未发现任何记忆化现象。五、拓展能力论文还展示了三个非主线但有趣的能力均在 demo 页面提供样本音频到音频Audio-to-Audio风格迁移在扩散采样时不从纯噪声出发而是将参考音频加噪后作为起点再按文本提示去噪。这样可以在保留参考音频整体结构的前提下改变其风格例如将一段打击乐口技beatbox转换为真实鼓声。人声生成训练集包含部分人声音乐但没有歌词条件因此当提示中包含人声相关词汇时模型会生成无字旋律式的哼唱——没有可辨识的词汇但具有一定的旋律和音色特征。短音效生成训练集中包含音效和乐器单音样本模型在被适当提示时也能生成这类短时音频。六、总结Stable Audio 2 的贡献可以概括为将文本条件音乐生成的时长从 90 秒扩展到4 分 45 秒覆盖了 83% 的流行音乐。通过将 latent 帧率压缩至21.5 Hz使全曲全上下文 Transformer 建模在单 GPU 上成为可能。用实验证明了不需要语义 token足够长的训练上下文本身就能让音乐结构从数据中涌现出来。在所有定量指标上大幅领先唯一可比基线 MusicGen同时推理速度快约50 倍13 秒 vs 13 分钟。主观评测中4 分 45 秒生成在音频质量、文本对齐和音乐性上达到接近真实录音的水准立体声正确率100%。这项工作的核心洞察其实很朴素模型能生成什么很大程度上取决于训练时它看到了什么。想要有结构的完整歌曲就必须训练时看完整首歌。