ACE-Step: 音乐生成基础模型的重大突破

ACE-Step logo

ACE-Step是一个开创性的开源音乐生成基础模型,通过全新的架构设计克服了现有方法的关键限制,实现了音乐生成领域的突破性进展。本文将为您详细介绍这个强大的音乐AI工具的特点、安装方法和使用指南。

🏗️ 项目概述

ACE-Step的目标不仅仅是创建另一个端到端的文本到音乐管道,而是建立一个音乐AI的基础模型:一个快速、通用、高效且灵活的架构,可以轻松地在其上训练子任务。这为开发强大的工具铺平了道路,这些工具可以无缝地集成到音乐艺术家、制作人和内容创作者的创意工作流程中。简而言之,ACE-Step旨在成为音乐领域的"Stable Diffusion时刻"。

📝 技术亮点

ACE-Step通过集成基于扩散的生成与Sana的深度压缩自编码器(DCAE)和轻量级线性变换器,弥合了现有模型的差距。它还利用MERT和m-hubert在训练期间对齐语义表示(REPA),实现快速收敛。

其结果是:

  • 在A100 GPU上仅需20秒即可合成长达4分钟的音乐——比基于LLM的基线快15倍
  • 在旋律、和声和节奏指标上实现卓越的音乐连贯性和歌词对齐
  • 保留精细的声学细节,支持高级控制机制

✨ 主要功能

🎯 基础质量

🌈 多样化风格与流派

  • 支持所有主流音乐风格,可通过短标签、描述性文本或用例场景进行描述
  • 能够生成不同流派的音乐,并配备适当的乐器和风格

🌍 多语言支持

  • 支持19种语言,包括英语、中文、俄语、西班牙语、日语等10种表现最佳的语言
  • 注意:由于数据不平衡,较少见的语言可能表现欠佳

🎻 器乐风格

  • 支持不同流派和风格的器乐音乐生成
  • 能够产生具有适当音色和表现力的真实器乐轨道
  • 可以生成具有多种乐器的复杂编排,同时保持音乐的连贯性

🎤 人声技术

  • 能够以良好的质量渲染各种人声风格和技巧
  • 支持不同的人声表达,包括各种演唱技巧和风格

🎛️ 可控性

🔄 变体生成

  • 使用无需训练的推理时优化技术实现
  • 可调整原始初始噪声和新高斯噪声之间的混合比例,以控制变化程度

🎨 重绘功能

  • 通过在ODE过程中向目标音频输入添加噪声并应用掩码约束来实现
  • 当输入条件与原始生成不同时,只能修改特定方面,同时保留其余部分

✏️ 歌词编辑

  • 创新地应用流编辑技术,能够在保留旋律、人声和伴奏的同时进行局部歌词修改
  • 适用于生成内容和上传的音频,大大增强了创意可能性

🚀 应用场景

🎤 歌词转人声 (LoRA)

  • 基于在纯人声数据上微调的LoRA,允许直接从歌词生成人声样本
  • 提供众多实用应用,如人声演示、指导轨道、歌曲写作辅助和人声编排实验
  • 提供一种快速测试歌词唱出来的效果,帮助词曲作者更快迭代

📝 文本转样本 (LoRA)

  • 与歌词转人声类似,但在纯器乐和样本数据上微调
  • 能够从文本描述生成概念性音乐制作样本
  • 用于快速创建乐器循环、音效和音乐制作元素

🔮 即将推出

  • RapMachine: 在纯说唱数据上微调,创建专门用于说唱生成的AI系统
  • StemGen: 在多轨数据上训练的controlnet-lora,生成单个乐器音轨
  • 唱歌转伴奏: StemGen的反向过程,从单个人声轨道生成混合主轨

🖥️ 硬件性能

ACE-Step在不同硬件设置下的性能评估结果如下:

设备 RTF (27步) 渲染1分钟音频的时间 (27步) RTF (60步) 渲染1分钟音频的时间 (60步)
NVIDIA RTX 4090 34.48 × 1.74 秒 15.63 × 3.84 秒
NVIDIA A100 27.27 × 2.20 秒 12.27 × 4.89 秒
NVIDIA RTX 3090 12.76 × 4.70 秒 6.48 × 9.26 秒
MacBook M2 Max 2.27 × 26.43 秒 1.03 × 58.25 秒

RTF (实时因子) 用于测量ACE-Step的性能。更高的值表示更快的生成速度。27.27x意味着生成1分钟的音乐需要2.2秒 (60/27.27)。

💻 安装指南

前提条件

  • 确保已安装Python,可从python.org下载
  • 需要Conda(推荐)或venv

环境设置

强烈建议使用虚拟环境来管理项目依赖并避免冲突。可以选择以下方法之一(Conda或venv):

选项1: 使用Conda

创建名为ace_step的环境,使用Python 3.10:

conda create -n ace_step python=3.10 -y

激活环境:

conda activate ace_step

选项2: 使用venv

确保使用正确的Python版本。 创建虚拟环境(通常命名为venv):

python -m venv venv

激活环境:

  • Windows (cmd.exe): venv\Scripts\activate.bat
  • Windows (PowerShell): .\venv\Scripts\Activate.ps1
  • Linux / macOS (bash/zsh): source venv/bin/activate

安装依赖项

从requirements.txt文件安装依赖项:

macOS/Linux用户:

pip install -r requirements.txt

Windows用户:

# 为Windows安装PyTorch, TorchAudio和TorchVision
# 将cu126替换为您的CUDA版本
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
# 然后安装其他依赖项
pip install -r requirements.txt

🚀 使用方法

基本使用

python app.py

高级使用

python app.py --checkpoint_path /path/to/checkpoint --port 7865 --device_id 0 --share true --bf16 true

MacOS用户请使用--bf16 false以避免错误。

命令行参数

  • --checkpoint_path: 模型检查点路径(默认:自动下载)
  • --server_name: Gradio服务器绑定的IP地址或主机名(默认:‘127.0.0.1’)。使用'0.0.0.0’使其可从网络上的其他设备访问。
  • --port: 运行Gradio服务器的端口(默认:7865)
  • --device_id: 使用的GPU设备ID(默认:0)
  • --share: 启用Gradio共享链接(默认:False)
  • --bf16: 使用bfloat16精度加速推理(默认:True)
  • --torch_compile: 使用torch.compile()优化模型,加速推理(默认:False)。Windows不支持

用户界面指南

ACE-Step界面提供了几个选项卡,用于不同的音乐生成和编辑任务:

📝 文本转音乐选项卡

  • 输入字段:
    • 标签: 输入以逗号分隔的描述性标签、流派或场景描述
    • 歌词: 输入带有结构标签(如[verse]、[chorus]和[bridge])的歌词
    • 音频时长: 设置所需生成音频的时长(-1表示随机)
  • 设置:
    • 基本设置: 调整推理步骤、引导比例和种子
    • 高级设置: 微调调度器类型、CFG类型、ERG设置等
  • 生成: 点击"生成"基于您的输入创建音乐

🔄 重拍选项卡

  • 使用不同的种子重新生成带有微小变化的音乐
  • 调整方差以控制重拍与原始版本的差异程度

🎨 重绘选项卡

  • 选择性地重新生成音乐的特定部分
  • 指定要重绘的部分的开始和结束时间
  • 选择源音频(文本转音乐输出、上次重绘或上传)

✏️ 编辑选项卡

  • 通过更改标签或歌词来修改现有音乐
  • 在"仅歌词"模式(保留旋律)或"remix"模式(更改旋律)之间选择
  • 调整编辑参数以控制保留原始内容的程度

📏 扩展选项卡

  • 在现有音乐的开头或结尾添加音乐
  • 指定左右扩展长度
  • 选择要扩展的源音频

📝 高级使用:训练自己的模型

ACE-Step不仅提供了强大的预训练模型,还允许用户通过提供的训练脚本训练自己的模型或微调现有模型。这包括基础模型训练和LoRA训练,使用户能够根据自己的需求定制ACE-Step。

详细的训练参数和数据集准备指南可在项目文档中找到,为希望深入探索音乐生成技术的开发者提供了宝贵资源。

📜 许可证与免责声明

本项目采用Apache License 2.0许可证。

ACE-Step支持多种流派的原创音乐生成,可用于创意制作、教育和娱乐。虽然设计用于支持积极和艺术性使用案例,但我们承认存在潜在风险,如由于风格相似而导致的无意版权侵犯、文化元素不当混合以及滥用生成有害内容。为确保负责任使用,我们鼓励用户验证生成作品的原创性,明确披露AI参与,并在改编受保护风格或材料时获得适当许可。

🔗 项目链接

GitHub仓库: https://github.com/ace-step/ACE-Step

🙏 致谢

该项目由ACE Studio和StepFun共同领导。


ACE-Step代表了音乐生成技术的重大突破,为音乐创作者提供了前所未有的工具和可能性。通过其高效的架构、多样化的功能和出色的性能,ACE-Step正在重新定义AI驱动的音乐创作的边界,为音乐创作者开辟了全新的创意途径。

无论您是专业音乐人、音乐制作人还是音乐爱好者,ACE-Step都提供了一个易于使用但功能强大的平台,可以将您的音乐创意转化为现实。