腾讯SongBloom开源歌曲生成模型:10秒样本创作完整歌曲实战指南

10秒样本创作完整歌曲实战指南

工具概述

SongBloom是腾讯AI Lab联合香港中文大学(深圳)、南京大学和深圳市大数据研究院于2026年10月开源的全长度歌曲生成框架。该模型的核心创新在于交错生成范式——在自回归草图绘制和扩散模型细化之间动态切换,同时保证歌曲的整体结构连贯性和局部音质精细度。

核心能力包括仅需10秒参考音频片段加对应歌词即可自动生成长达2分30秒的完整歌曲,支持双通道48kHz专业级音频输出,支持主歌副歌结构、器乐过渡段落、和声编排,在主客观评估中达到SOTA水平媲美Suno-v4.5等商业闭源系统。授权协议为MIT License可商用,适用人群包括独立音乐人、影视游戏配乐师、AI音乐研究者和内容创作者。

能力边界:复杂和声编排能力有限,多乐器编曲效果不如单旋律清晰,中文歌词对齐精度低于英文。

环境准备

硬件方面最低需要NVIDIA RTX 3060 12GB显存,推荐A100 80GB以获得最佳生成速度。内存最低32GB推荐64GB,磁盘需要至少50GB可用空间建议使用SSD。软件方面要求Python 3.10+、CUDA 11.8+。

安装依赖命令包括pip install torch torchvision torchaudio pip install transformers accelerate pip install soundfile librosa scipy pip install diffusers[torch] pip install einops。如果使用Apple Silicon Mac需要额外设置环境变量export PYTORCH_ENABLE_MPS_FALLBACK=1和export DISABLE_FLASH_ATTN=1。

安装部署

Windows部署步骤

首先克隆仓库git clone https://github.com/tencent-ailab/SongBloom.git并cd进入目录然后执行pip install -r requirements.txt安装依赖。接着从HuggingFace下载预训练权重使用huggingface-cli download CypressYang/SongBloom --local_dir ./models/SongBloom命令。

macOS部署步骤

Apple Silicon用户需先设置MPS环境变量然后克隆仓库并安装依赖。下载模型时需要注意使用float32而非bfloat16,因为MPS后端对bfloat16支持不完善。

Linux部署步骤

Ubuntu 22.04系统需先安装系统依赖sudo apt-get update && sudo apt-get install -y ffmpeg libsndfile1-dev然后克隆仓库并安装Python依赖。同样从HuggingFace下载预训练权重到本地models目录。

快速上手

基础生成示例

import torch
from songbloom import SongBloomSampler

# 加载模型
model = SongBloomSampler.from_pretrained("./models/SongBloom")
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model = model.to(device)

# 准备输入:10秒参考音频 + 歌词
reference_audio_path = "./samples/reference_10s.wav"
lyrics = """
[Verse]
清晨的阳光洒在窗前
咖啡的香气弥漫房间
[Chorus]
这是一个新的开始
今天也要全力以赴
"""

# 生成歌曲
output_path = model.generate(
    ref_audio=reference_audio_path,
    lyrics=lyrics,
    output_path="./output/song.wav",
    duration=150,
    sample_rate=48000,
    stereo=True,
)
print(f"歌曲已生成: {output_path}")

批量生成脚本

对于需要批量生成歌曲的场景,可以封装一个批量生成类来管理多个生成任务。通过传入不同的参考音频路径和歌词文本,可以一次性生成多首歌曲并保存到指定目录。

进阶用法

参数调优

可以通过调整sketch_tokens参数控制生成细节丰富度,默认值为256增大到512可以获得更丰富的细节但会增加显存占用。vae_latent_dim参数影响音质与速度的平衡,默认16增大到32可以提升音质。temperature和top_k参数控制生成的随机性和多样性。

ComfyUI插件集成

对于使用ComfyUI工作流的创作者,可安装专用插件git clone https://github.com/fredconex/ComfyUI-SongBloom.git到ComfyUI/custom_nodes/目录然后安装依赖。在ComfyUI中可通过节点直接连接参考音频和歌词文本实时预览生成效果。

API服务部署

使用FastAPI可以快速搭建歌曲生成API服务。将模型加载为全局变量避免重复初始化,定义GenerateRequest数据模型接收base64编码的参考音频和歌词文本,返回生成后的音频文件路径。可以用uvicorn运行服务提供REST API接口。

常见问题与排查

显存不足时可以降低sketch_tokens参数值或使用half()方法将模型转为float16精度。生成音频出现杂音或失真时应检查参考音频质量确保清晰无背景噪音。歌词与旋律对齐不准确是已知限制建议在歌词中标注段落结构帮助模型理解歌曲结构。生成速度慢是因为首次运行会进行CUDA kernel编译约1-2分钟后续运行显著加速可以使用torch.compile进一步优化。

同类资源对比

功能SongBloomSuno-v4.5UdioStable Audio
开源MIT闭源闭源Apache 2.0
输入10秒音频+歌词文本描述文本描述文本描述
输出时长2分30秒3-5分钟3-4分钟最高45秒
采样率48kHz stereo44.1kHz44.1kHz44.1kHz
结构控制歌词段落标记有限控制有限控制无
本地部署支持不支持不支持支持
商用许可MIT需订阅需订阅Apache 2.0

注意事项

参考音频需要10秒以上清晰无杂音支持人声或纯乐器片段。生成的歌曲需注意避免侵犯原参考音频的版权建议仅使用原创或授权音频。低显存设备低于8GB可能无法运行建议使用12GB以上显存的GPU。已知限制包括复杂和声编排能力有限和多乐器编曲效果不如单旋律清晰。官方计划发布240秒完整版模型及增强文本控制能力的新版本。

官方仓库地址https://github.com/tencent-ailab/SongBloom模型权重在https://huggingface.co/CypressYang/SongBloom在线Demo地址https://cypress-yang.github.io/SongBloom_demo/。