SongBloom:腾讯开源的AI完整歌曲生成框架,支持音频提示与高质量音乐输出

原创 发布日期:
7

1. SongBloom 是什么

SongBloom 是由 腾讯人工智能实验室(Tencent AI Lab) 开发并开源的 全长歌曲生成框架。它的核心目标是让AI能够从一个简短的音频提示(如10秒的参考音频)出发,自动生成一首完整、连贯、风格一致的歌曲,长度可达2分30秒(150秒)。

与以往的音乐生成模型不同,SongBloom 创新性地采用了 交错的自回归草图绘制(Autoregressive Sketching)扩散模型精炼(Diffusion Refinement) 技术,将语言模型的可扩展性与扩散模型的高保真度结合起来,实现了从粗到细、从短到长的渐进式音乐生成。

该项目于 2025 年 6 月首次开源,随后在 9 月推出了经过 DPO(Direct Preference Optimization)优化的版本,进一步提升了生成音乐的质量和可控性。

2. 功能特色

SongBloom 在音乐生成领域具备多项独特优势,下面通过表格形式对比其与传统音乐生成方法的差异:

特性 SongBloom 传统自回归音乐模型 纯扩散音乐模型
生成长度 最长 150 秒(2分30秒) 较短(通常 < 30秒) 中等(30-90秒)
提示类型 10秒音频(部分模型支持文本) 文本或旋律 文本或噪声
音质 高保真,细节丰富 中等,易产生重复或断裂 高,但长时一致性差
可控性 可通过提示音频控制风格、节奏 受限于文本描述 较弱,风格不稳定
一致性 整首歌曲风格统一,结构完整 短片段一致性好,长段落易脱节 局部一致性好,整体连贯性弱
开源性 开源代码与模型权重 部分开源 部分开源

主要特色

  1. 全长音乐生成
    支持一次性生成完整的歌曲,而非片段式拼接,避免了传统方法中常见的段落衔接不自然问题。

  2. 双阶段生成范式

  • 草图阶段:自回归模型生成音乐的“骨架”(低分辨率的旋律与和声结构)。

  • 精炼阶段:扩散模型对骨架进行细节填充,提升音质与表现力。

  1. 高保真输出
    生成音频采样率为 48kHz,音质接近专业制作水平。

  2. 多样化模型选择
    提供基础版、DPO优化版等多个模型,适应不同的生成需求。

  3. 易于使用
    提供简洁的推理脚本和JSONL输入格式,只需准备提示音频和歌词即可生成歌曲。

3. 技术细节

3.1 整体架构

SongBloom 的架构可以分为四个主要部分:

  1. 音频编码器(Audio Encoder)

  • 将输入的提示音频转换为潜在空间的特征表示。

  • 采用基于VAE的音频压缩技术,保留关键声学特征。

  1. 自回归草图生成器(Autoregressive Sketch Generator)

  • 基于Transformer架构,处理编码器输出的特征。

  • 按时间步逐步生成音乐的低分辨率“草图”。

  • 草图包含旋律走向、和声结构和节奏信息。

  1. 扩散精炼器(Diffusion Refiner)

  • 接收草图作为条件输入。

  • 通过多步扩散过程,将低分辨率草图提升为高保真音频。

  • 引入交叉注意力机制,确保精炼过程与草图内容一致。

  1. 音频解码器(Audio Decoder)

  • 将扩散模型输出的特征映射回时域波形。

  • 输出48kHz的高质量音频。

3.2 核心技术创新

  • 交错生成机制:自回归与扩散模型并非完全独立,而是在多个时间尺度上交错工作,确保全局结构和局部细节的平衡。

  • 上下文整合:模型不仅关注当前生成的音乐片段,还会回顾已生成的内容,保持风格一致性。

  • 多尺度建模:草图阶段处理较低时间分辨率的特征,精炼阶段则恢复高频细节,这种分工提高了生成效率和质量。

3.3 数据与训练

  • 训练数据:包含大量授权音乐作品,涵盖多种风格。

  • 歌词处理:支持将歌词作为条件输入,影响生成音乐的情感和节奏。

  • DPO优化:通过人类偏好数据微调模型,提升音乐的审美质量。

SongBloom:腾讯开源的AI完整歌曲生成框架,支持音频提示与高质量音乐输出

4. 应用场景

SongBloom 的高-quality 全长音乐生成能力,使其在多个领域具有广泛应用前景:

应用领域 具体场景 价值
音乐创作 作曲家快速获取灵感、生成伴奏初稿 提高创作效率,降低入门门槛
广告传媒 为广告片、短视频生成定制背景音乐 快速匹配视频风格,降低版权成本
教育领域 音乐教学中的示例生成、即兴伴奏 提供多样化的教学素材
游戏开发 为游戏场景、角色定制主题音乐 丰富游戏音效库,提升沉浸感
个人娱乐 普通用户创作个性化歌曲 满足非专业人士的音乐创作需求

5. 使用方法

5.1 环境准备

  1. 创建并激活虚拟环境

  conda create -n SongBloom python==3.8.12
  conda activate SongBloom
  1. 安装依赖

  pip install -r requirements.txt

注意:PyTorch版本建议使用2.2.0,并根据CUDA版本选择合适的安装命令。

5.2 数据准备

  • 输入为JSONL格式文件,每行一个样本:

 {
  "idx": "001",
  "lyrics": "这是一首关于春天的歌...",
  "prompt_wav": "example/test.wav"
 }
  • 提示音频要求:

  • 时长:10秒

  • 采样率:48kHz

  • 格式:WAV

5.3 模型下载

模型权重托管在Hugging Face:

5.4 推理运行

基础命令:

source set_env.sh
python3 infer.py --input-jsonl example/test.jsonl

低VRAM设备优化:

python3 infer.py --input-jsonl example/test.jsonl --dtype bfloat16

5.5 结果输出

生成的音频文件默认保存在output目录下,文件名为样本idx加上时间戳。

SongBloom:腾讯开源的AI完整歌曲生成框架,支持音频提示与高质量音乐输出

6. 常见问题解答

Q1: SongBloom 需要什么级别的GPU?

A: 推荐使用至少24GB显存的GPU(如RTX 3090/4090)。12GB显存也可运行,但需要使用bfloat16精度并调整批处理大小。

Q2: 生成一首2分30秒的歌曲需要多长时间?

A: 在RTX 4090上,大约需要1-2分钟,具体时间取决于模型类型和精度设置。

Q3: 可以控制生成音乐的风格吗?

A: 可以,主要通过选择不同风格的提示音频来控制整体风格。未来版本计划支持更精细的风格控制参数。

Q4: SongBloom支持中文歌词吗?

A: 是的,完全支持中文歌词输入,并能根据歌词内容调整音乐情感。

Q5: 该项目的许可证是什么?

A: SongBloom代码和模型权重仅允许学术用途,禁止商业使用。

Q6: 如何处理生成结果中的不自然过渡?

A: 可以尝试更换提示音频、调整歌词结构,或使用DPO优化版模型,通常能获得更自然的结果。

Q7: 是否支持其他采样率的输入音频?

A: 目前仅支持48kHz的输入音频,其他采样率需要先转换。

7. 相关链接

8. 总结

SongBloom 是一个突破性的全长歌曲生成框架,它巧妙地结合了自回归模型和扩散模型的优势,实现了高质量、风格一致的完整音乐创作。该项目不仅为音乐创作者提供了强大的辅助工具,也为AI音乐生成研究领域贡献了宝贵的开源资源。通过简洁易用的接口和多样化的模型选择,SongBloom 降低了AI音乐创作的技术门槛,使更多人能够享受到音乐生成的乐趣。无论是专业音乐制作还是个人娱乐创作,SongBloom 都展现出了巨大的应用潜力。

打赏
THE END
作者头像
人工智能研究所
发现AI神器,探索AI技术!