本地版Suno?0成本AI生成音乐,我直接跑了一套不受限的 AI 音乐工作站

 

ACE-Step UI:在本地跑一套不受限的 AI 音乐工作站

一句话判断:目前最完整的开源 AI 音乐生成前端,把 ACE-Step 1.5 的 51 个参数全部暴露给了 Web UI,本地部署零成本。

Suno 和 Udio 把 AI 音乐生成做成了云服务,每月 10 刀起步,排队还有时长限制。如果你有一张 NVIDIA 显卡,想自己跑一个不受限的版本,ACE-Step 1.5 是目前最强的开源模型,而 ACE-Step UI 是目前最像样的前端。

三层架构,一层界面

ACE-Step UI 不是另一个 AI 音乐模型,而是一个 Web 界面层,架在 ACE-Step 1.5 的 Gradio API 之上。这种分层我在其他项目里也见过,但 ACE-Step UI 做得比较彻底:

  • ACE-Step 1.5:底层 Python 模型,负责实际的音频生成(Gradio API 暴露)
  • Express + SQLite 后端:Node.js 中间层,处理任务队列、存储、认证
  • React 18 + TypeScript 前端:用户直接交互的界面

前端做得很用心——暗色/亮色主题、底栏播放器、播放列表、收藏、关注系统,视觉上和 Spotify 高度相似。

启动只需要两步

git安装: https://git-scm.com/install/windows

python安装:https://www.python.org/downloads/windows/

安装分两部分:先装 ACE-Step 1.5 模型,再装这个 UI。

# 1. 安装 ACE-Step 1.5(模型约 5GB,首次运行自动下载)
git clone https://github.com/ace-step/ACE-Step-1.5
cd ACE-Step-1.5
uv venv && uv pip install -e .

# 2. 安装 ACE-Step UI
cd ..
git clone https://github.com/fspecii/ace-step-ui
cd ace-step-ui
./setup.sh

启动可以用一条命令搞定:

./start-all.sh   # Linux/macOS
start-all.bat    # Windows

这个脚本会依次启动 Gradio API(端口 8001)、Express 后端(端口 3001)、Vite 前端(端口 3000),并在同一局域网内开放访问。Windows 用户还有个免安装的便携包方案——解压 5GB 的 7z 文件直接跑。

硬件门槛:4GB 显存就能用基础功能(关闭 Thinking Mode),12GB+ 可以解锁 LLM 增强和推理模式。


生成模式从简单到专业

项目提供了三种递进的生成方式:

简单模式:输入一段描述,比如"一段欢快的夏日流行曲",模型自动处理所有参数。适合快速出样。

自定义模式:手动设定 BPM、调式、拍号、时长,填入完整歌词(支持 [Verse][Chorus] 结构标签),精确控制输出。

Expert 模式:暴露 ACE-Step 1.5 的全部 51 个 Gradio API 参数——DiT 推理步数、CFG Scale、LM Temperature、Top-K/Top-P、重绘区间、Audio Cover 强度、CoT 推理开关……在代码层面,这些参数被组织成一个 50 元素的位置参数数组传给 Gradio 的 /generation_wrapper 端点(server/src/services/acestep.ts 中的 buildGradioArgs 函数)。


还有一个实用的"AI Enhance"功能:开启后,LLM 会把你写的简单标签(如"pop, rock")扩展为包含 BPM、调式、拍号的完整 caption。仓库注释里提到,如果生成结果总是像慢歌,开 AI Enhance 会好很多。

架构上几个有意思的设计

双链路容错。后端和 ACE-Step 的通信有两条路:首选 Gradio Client SDK 直连(@gradio/client),失败后自动 fallback 到 Python 子进程 spawn(server/src/scripts/simple_generate.py)。这个设计让我觉得比较踏实——即使 Gradio 挂了,只要 Python 环境在,生成还能继续。

任务队列 + 乐观锁。因为 GPU 一次只能跑一个生成任务,后端实现了内存级任务队列,串行处理。状态轮询时用乐观锁(WHERE id = ? AND status = ?)防止并发重复创建歌曲记录——这是一个在单用户本地场景下仍值得做的工程细节。

存储抽象层。音频文件默认存本地 public/audio/,但也支持 S3 兼容的对象存储,通过 storage/factory.js 工厂模式切换。配置切换后,所有上传和生成结果自动走新存储后端。

SQLite 本地优先。整个数据库就是一个 SQLite 文件,包含用户、歌曲、播放列表、评论、关注、参考音轨、生成任务 9 张表,索引覆盖了常见查询路径。零外部依赖,备份就是复制文件。


内置工具链不只是花架子

ACE-Step UI 内嵌了几个实用工具:

  • AudioMass 音频编辑器:集成在 /editor 路径,支持裁剪、淡入淡出、均衡器、降噪等操作,整个前端代码直接打包在 server/audio-editor/ 目录下
  • Demucs 音轨分离:Web 界面调用 Demucs 模型,把一首歌拆成人声、鼓、贝斯、其他四轨
  • 视频生成器:结合 Pexels 素材库生成带背景画面的音乐视频(需要 Pexels API Key)
  • 专辑封面生成:纯算法生成渐变色封面,不需要网络

这些工具不是外部链接跳转,而是真正集成在应用内部的功能。音频编辑器直接把 AudioMass 的完整前端代码打包在 server/audio-editor/ 下,通过 Express 静态文件服务暴露——这意味着离线也能用。

实际使用要注意什么

4GB 显卡的限制。Thinking Mode(LLM 辅助推理)需要额外 12GB 显存,4GB 卡只能用 PT 后端 + batch size 1 + 关闭 Thinking。生成速度取决于显存和模型大小,一首 4 分钟的歌通常需要几分钟。

前端是单文件巨石App.tsx 有 52K,所有视图和组件逻辑集中在一个文件里。功能上没问题,但我翻了一下源码,如果想做二次开发,这个文件的阅读和维护成本偏高。

认证极简。用户名即登录,没有密码、没有邮箱验证。这在本地单人使用场景下完全合理,但如果暴露到局域网甚至公网,需要自己加一层反向代理做访问控制。

FFmpeg 是硬依赖。后端用 ffprobe 获取音频时长,用 FFmpeg 做格式转换和音视频处理。没装的话歌曲会显示 0:00 时长。

适合谁
  • 有 NVIDIA 显卡(4GB+)且不想给 Suno 付费的开发者
  • 想要完全本地、隐私可控的 AI 音乐创作工具
  • 需要 AI Enhance、重绘、Cover 等高级功能的音乐爱好者
  • 想基于 ACE-Step 1.5 做二次开发的起点

不适合完全不想折腾环境配置的用户——虽然 Windows 便携包降低了门槛,但仍然需要 5GB+ 磁盘空间和一块像样的显卡。

ACE-Step UI 的完成度在开源 AI 音乐前端里属于第一梯队。它不只是套了个壳,而是把 ACE-Step 1.5 的完整能力都接了出来,同时用 Spotify 级的体验把它包裹得足够好用。如果你有 GPU、有耐心装环境,它值得试。

评论