SongGeneration — LeVo 开源音乐模型(NeurIPS 2025)

SongGeneration — LeVo 开源音乐模型(NeurIPS 2025)

如果你曾经想象过一款能够按需创作完整歌曲(歌词、旋律与伴奏)的 AI,SongGeneration 就是你的理想工具。它是 NeurIPS 2025 论文 LeVo: High‑Quality Song Generation with Multi‑Preference Alignment 的官方代码库,能够把前沿研究模型转化为一个开发者友好的、开源的模块,几秒钟内生成完整长度的曲目。

🎶 什么是 SongGeneration?

SongGeneration 是一种基于语言模型的架构,融合了两个核心组件:

  1. LeLM —— Transformer 风格的 LM,联合建模 mixed(声乐+背景音乐)与 dual‑track(分离的声乐与伴奏)标记,使模型能够将歌词与和声、节奏结构对齐。
  2. Music Codec —— 高效的神经编码器,能够将双轨标记解码为高保真 PCM 音频。

两者组合产生的系统具备以下能力:

  • 生成长达 4 分 30 秒的歌曲。
  • 根据检查点支持多种语言(中文、英文、西班牙文、日文等)。
  • 生成多轨输出(声乐、伴奏或两者合并),甚至仅声乐或仅音乐。
  • 通过提示音频来引导风格、流派或音色。

🏗️ 仓库结构

SongGeneration/
├─ conf/                # 默认配置文件
├─ img/                 # README 与文档所用图片
├─ sample/              # 示例 JSONL 文件与输出
├─ tools/
│  └─ gradio/           # Gradio UI 脚本
├─ generate.py          # 基于 Gradio 的推理入口
├─ generate.sh           # 推理的 Shell 包装脚本
├─ LICENSE              # MIT 风格许可证
├─ README.md            # 完整文档
├─ requirements.txt      # Python 依赖
└─ …

README 是你的入口点。它涵盖了从安装到高级使用(例如低内存推理、Flash Attention 开关以及 Docker 部署)的所有内容。

📦 安装与运行

1. 先决条件

  • Python ≥ 3.8.12
  • CUDA ≥ 11.8(用于 GPU 加速;CPU 备选)
  • 至少 10 GB 的 GPU 空闲显存(10B+ RTX 系列)。若显存不足,请参阅 低内存 部分。

2. 安装代码

# 克隆仓库
git clone https://github.com/tencent-ailab/SongGeneration.git
cd SongGeneration

# 安装依赖
pip install -r requirements.txt
pip install -r requirements_nodeps.txt --no-deps

# 可选:安装 Flash Attention(提升速度)
# pip install https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.4.post1/flash_attn-2.7.4.post1+cu12torch2.6cxx11abiFALSE-cp310-cp310-linux_x86_64.whl

3. 下载模型检查点

所有检查点托管在 Hugging Face。以下载 SongGeneration‑base‑full 检查点为例:

huggingface-cli download lglg666/SongGeneration-base-full --local-dir ./songgeneration_base_full

若更喜欢更大的 SongGeneration‑large 模型,请相应调整路径。文件夹名必须与检查点名完全一致。

4. 运行推理

你可以启动 Gradio 界面或在命令行执行推理。

a) Gradio UI

sh tools/gradio/run.sh <ckpt_path>
# 例子:
# sh tools/gradio/run.sh ./songgeneration_base_full

它会在本地启动一个 Web 服务器(默认 http://localhost:7860),你可以:

  • 上传 JSONL 文件或直接输入歌词;
  • 选择模型版本;
  • 切换 Separate TracksPure VocalsPure Music 等选项;
  • 预览并下载生成的 MP3‑style 声音片段。

b) CLI 推理

sh generate.sh <ckpt_path> <input_jsonl> <output_dir> [options]
# 示例
sh generate.sh ./songgeneration_base_full sample/lyrics.jsonl sample/output

可选参数:

  • --low_mem  使用低内存推理(降低 VRAM 需求)。
  • --not_use_flash_attn 若未启用 Flash Attention,则跳过该步骤。
  • --bgm  仅生成背景音乐。
  • --vocal  仅生成声乐(无伴奏)。
  • --separate 生成分离的声乐和伴奏轨道。

5. 提示音频 & 描述

你可以通过 10 秒左右的提示音频或指定 description 标签来引导生成。仓库提供了性别、音色、流派、情绪、乐器与 BPM 等标签表。例如:

{
  "idx": "song_01",
  "gt_lyric": "[intro-short] ; [verse] … ; [chorus] … ; [outro-medium]",
  "descriptions": "female, bright, pop, energetic, guitar, drums"
}

模型将生成一个 2 分钟的流行曲,配合匹配的声乐音色与配器。

🚀 最新功能(截至 2025 年 10 月)

日期 更新
2025‑10‑16 Demo 网页现在支持全长歌曲生成(最多 4 m 30 s)
2025‑10‑15 代码库更新以提升推理速度并加入新模型版本
2025‑10‑14 发布 SongGeneration‑large 检查点
2025‑10‑13 发布带评测数据的 SongGeneration‑base‑full 正式版
2025‑10‑12 发布英文增强版 SongGeneration‑base‑new
2025‑09‑23 发布数据处理管道 — 自动拍子跟踪与歌词对齐
2025‑07‑25 模型可在 10 GB GPU 内存下运行

📚 如何在项目中使用

1️⃣ 搭建 Web 应用

使用 Gradio UI 作为模板,并嵌入你自己的 Flask 或 FastAPI 服务器。generate.py 脚本暴露了一个简单的 API,可被任何语言调用。

2️⃣ 创建移动演示

将训练好的检查点导出为 ONNX 或 TorchScript,并在 Android/iOS 上使用 CoreML 或 TensorFlow Lite 部署。低内存推理标志在移动 GPU 上尤为有用。

3️⃣ 为视频游戏生成音乐

将结构化歌词脚本(如 JSONL 文件)输入系统。输出格式(VST 或原始 PCM)可直接导入 FMOD、Wwise 等游戏音频引擎。

4️⃣ 尝试基于检索的提示

仓库包含一个小工具,可从库中自动选择提示音频:通过指定 auto_prompt_audio_type,你可以让模型在不上传音频文件的情况下生成 JazzRock 风格的作品。

🔗 资源与社区

  • Hugging Face Space – 交互式演示:https://huggingface.co/spaces/lglg666/song-generation-levo
  • 论文LeVo: High‑Quality Song Generation with Multi‑Preference Alignment(arXiv 2506.07520)
  • Docker 镜像 – 快速起步:docker pull juhayna/song-generation-levo:hf0613
  • GitHub 讨论与问题 – 提问、分享示例、报告 bug。

⚙️ 评估亮点

仓库列出了全面的评估指标(PER、Audiobox Aesthetics、SongEval 等)。与 Suno 或 Mureka 等现有开源模型相比,SongGeneration 在 SongGeneration‑large 版本下呈现出最低 PER 与最高美学得分。

🎓 终极思考

SongGeneration 架桥科研与生产。其模块化设计、详尽文档与大规模预训练检查点,使其成为任何想搭建 AI 生成音乐工具的理想选择——无论是商业平台、个人项目还是学术研究。借助 GitHub 上活跃的开发社区及 Hugging Face 的活跃支持,你可以随时跟进最新更新,并在新模型发布后即刻使用。

今天就尝试一下吧——探索仓库,跑 Demo,使用一条命令就能创作自己的 AI 作品!

🎓 终极思考

SongGeneration 架桥科研与生产。其模块化设计、详尽文档与大规模预训练检查点,使其成为任何想搭建 AI 生成音乐工具的理想选择——无论是商业平台、个人项目还是学术研究。借助 GitHub 上活跃的开发社区及 Hugging Face 的活跃支持,你可以随时跟进最新更新,并在新模型发布后即刻使用。

今天就尝试一下吧——探索仓库,跑 Demo,使用一条命令就能创作自己的 AI 作品!

```

原创文章: 查看原文

分享本文