跳到主要内容

音乐生成模型

Riffusion 本地部署:fp16 只吃约 4GB 显存,一张 RTX 3090 就能跑满实时

riffusion-model-v1 把 Stable Diffusion 1.5 微调成了画频谱图的模型:文本生成一张 512×512 的图,再经 Griffin-Lim 逆变换成 5.12 秒、44.1kHz 的音频。权重公开、代码 MIT,唯一的硬门槛是一张能在 5 秒内跑完 50 步扩散的卡。

Riffusion 是 Seth Forsgren 和 Hayk Martiros 在 2022 年 12 月 15 日放出来的项目,思路简单到有点离谱:既然 Stable Diffusion 会画图,那就教它画声音的频谱图,画完再把图变回音频。模型本体 riffusion-model-v1 就是 SD 1.5 的微调版,UNet、VAE、冻结的 CLIP ViT-L/14 文本编码器一个没换,所以任何一套跑得动 SD 1.5 的推理栈,理论上都跑得动 Riffusion。这也是它至今仍然是自建音乐生成最容易上手的一条路的原因。

但你得先知道现在是什么局面。riffusion.com 这个域名已经 301 跳到 producer.ai,producer.ai 又 301 跳到 flowmusic.app —— 团队在 2023 年 10 月拿了 400 万美元融资之后转做闭源托管产品,新模型的权重和参数量一个字都没公开。GitHub 上的 riffusion/riffusion-hobby 明明白白写着「不再积极维护」,最后一次更新停在 2024 年 7 月 22 日。换句话说,你能自己部署的 Riffusion 只有 2022 年那一版 v1,托管产品那条线没有私有化选项。这不是坏消息,只是你得按它真实的样子去用它。

好在 v1 这一版是完整开放的:代码 MIT,权重 CreativeML OpenRAIL-M,Hugging Face 上 riffusion-model-v1.ckpt 14.6GB、整个仓库 21.8GB 随便拉。官方 README 直接点名了两张卡 —— 3090 和 A10G —— 说这个级别才能撑起「实时」的体验。NexGPU 这两张恰好都有现货:RTX 3090 24GB $0.193/卡·时、A10 24GB $0.414/卡·时,按秒计费,实例停了计算就不再扣钱。拉一次权重、跑通一遍、决定它值不值得留下,成本大概是一杯咖啡的零头。

01 —

Riffusion 有哪几个版本,哪一个能自己部署

公开权重只有一条线,托管产品那条线已经改名两次了

版本参数量显存上下文说明
riffusion/riffusion-model-v1(权重)约 1B(SD 1.5 骨架:UNet 860M + VAE 83M + CLIP ViT-L/14 123M)fp16 推理约 4GB、fp32 约 8GB;磁盘 ckpt 14.6GB、整仓 21.8GB512×512 图 = 5.12 秒 / 44.1kHz / 单声道唯一公开权重的 Riffusion。CreativeML OpenRAIL-M 授权,仓库最后更新停在 2023 年 6 月,官方没有放出 fp16 或 safetensors 变体,只有原始 ckpt 和 diffusers 目录结构(含一份 traced UNet)。
riffusion/riffusion-hobby(推理代码)Python 3.9 / 3.10 only同上,代码本身不额外占显存CLI + Streamlit playground + Flask 推理服务MIT 授权,README 首行就是「不再积极维护」。requirements.txt 把 diffusers 钉死在 0.9.0,这是自建时第一个会炸的地方 —— 详见下面的部署步骤。
riffusion/riffusion-app-hobby(Web 前端)TypeScript / Next.js不占显存,可以放在 CPU 机器上靠后端 /run_inference 无限拼接官方那个「无限滚动的音乐流」网页版就是它。同样 MIT、同样停更,靠 img2img 循环加 prompt 插值把 5.12 秒的片段接成连续的曲子。
现行托管产品线(Producer AI → Flow)官方未公开无法自建整首歌,带人声riffusion.com 现在跳转到 producer.ai,再跳到 flowmusic.app。这条线是闭源 SaaS,权重、参数量、架构一律没公开,想私有化只能退回 v1 或者换开源模型。
ACE-Step v1(推荐的开源替代)3.5B优化后峰值降到 8GB,bf16 可开 --cpu_offload 再压最长约 4 分钟整曲Apache-2.0,是目前自建「能听的完整歌曲」最实际的选择。官方实测 RTX 4090 上 27 步 RTF 34.48×(1 分钟音频算 1.74 秒),3090 上 12.76×。
DiffRhythm-v1.2(另一条开源路线)base / full 两档最低 8GB,关掉分块解码要更多base 1 分 35 秒、full 4 分 45 秒Apache-2.0,中文名「谛韵」,支持歌词条件和参考音频条件,能一次出整首带结构的歌。想做中文歌词的团队通常先试它。

02 —

跑 Riffusion 该租哪张卡

官方 README 点名了 3090 和 A10G,这两张我们都有

  • 跑通 riffusion-hobby,生成 5.12 秒片段做评估

    RTX 3090 24GB$0.193/卡·时

    README 原文点名的卡,50 步 512×512 稳定在 5 秒内,24GB 显存对一个只要 4GB 的模型来说完全没有压力,而且它是整个价目表里最便宜的现代卡。

  • Flask 服务常驻,img2img 循环持续出流

    A10 24GB$0.414/卡·时

    对应 README 里的另一张点名卡 A10G,数据中心被动散热设计,适合一直挂着不停生成的长时任务。

  • DreamBooth / LoRA 微调频谱图风格,或批量并发出图

    RTX 4090 24GB$0.540/卡·时

    微调 SD 1.5 骨架时显存和算力都吃得下,同时还能并行跑 demucs 分轨预处理,训练轮次明显缩短。

  • 转向 ACE-Step 3.5B 或 DiffRhythm-full 做整首歌

    RTX 5090 32GB$0.723/卡·时

    32GB 让你可以关掉分块解码、把整首 4 分钟的 latent 一次性解出来,省掉拼接处的接缝。

03 —

Riffusion 私有化部署四步

从空机器到第一段音频,主要时间都花在拉 21.8GB 权重上

  1. 01

    开一台 3090,选 PyTorch 镜像

    在 NexGPU 控制台选 RTX 3090 24GB,直接用预置的 PyTorch 镜像(2,000+ 镜像里也有 ComfyUI、Whisper ASR 这些,音频链路后面用得上)。开机后先确认卡认到了,再确认 ffmpeg 在 —— Riffusion 除了 WAV 之外的所有格式都靠它。

    nvidia-smi && ffmpeg -version | head -1 && python -c "import torch; print(torch.__version__, torch.cuda.get_device_name(0))"
  2. 02

    拉权重,先看清楚要占多少盘

    riffusion-model-v1.ckpt 单文件 14.6GB,整个仓库连 diffusers 目录和那份 traced UNet 一共 21.8GB。如果你只打算用 diffusers 管线,可以跳过 .ckpt 只拉子目录,能省掉一大半下载量。注意存储按 $0.414/GB·月 中位价计费,而且实例停机后存储照收,直到你把卷销毁为止。

    huggingface-cli download riffusion/riffusion-model-v1 --local-dir ./riffusion-model-v1
  3. 03

    建 Python 3.10 环境,绕开 diffusers 版本坑

    riffusion-hobby 的 requirements.txt 把 diffusers 钉在 0.9.0,而 0.9.0 跟 2023 年以后的 transformers、accelerate、torch 组合几乎必然冲突,这是自建时最常见的翻车点。稳妥做法是单独开一个 Python 3.10 环境,让这套老依赖自己待着;如果你不需要 Streamlit playground 和 demucs 分轨,更省事的路子是直接用新版 diffusers 把它当普通 SD 管线加载:StableDiffusionPipeline.from_pretrained('riffusion/riffusion-model-v1', torch_dtype=torch.float16).to('cuda'),然后自己写 mel 逆变换。

    conda create -n riffusion python=3.10 -y && conda activate riffusion && pip install -r requirements.txt
  4. 04

    起推理服务,出第一段音频

    Flask 服务默认监听 3013,POST /run_inference 收 prompt 和配置就返回音频。想先玩交互式的就跑 Streamlit playground(8501 端口),里面有文本转音频、音频转图、prompt 插值这些现成页面。通过 SSH 端口转发或 NexGPU 的 Web 终端访问都行,别直接把端口暴露到公网。

    python -m riffusion.server --host 0.0.0.0 --port 3013

一小时能出多少音频,一共花多少钱

按官方 README 的口径算:3090 上 50 步一张 512×512 大约 5 秒,一小时 3600 秒能出约 720 张频谱图。每张图对应 5.12 秒音频,720 × 5.12 秒 ≈ 3686 秒 ≈ 61 分钟成品音频。RTX 3090 24GB 每卡时 $0.193,折算下来每分钟音频约 $0.193 ÷ 61 ≈ $0.0032 —— 三厘钱一分钟。如果换成 A10 24GB 做常驻服务,每天挂 8 小时、跑满一个月是 8 × 30 × $0.414 = $99.36。存储那边,开一个 30GB 卷装权重按 $0.414/GB·月 中位价是 30 × $0.414 = $12.42/月,这部分在实例停机后仍然计费,直到卷被销毁;计算部分则是停机即停,按秒结算。导出成品的出网流量按中位 $0.0081/GB,1GB 的 WAV 大约八厘钱。没有最低消费,没有开通费,也不用提配额申请。

04 —

常见问题

Riffusion 本地部署到底需要多大显存?

模型是 SD 1.5 骨架,fp16 单张 512×512 推理峰值大约 4GB,fp32 大约 8GB,开批量到 4 张也就 6–8GB。真正占地方的是磁盘:ckpt 单文件 14.6GB、整仓 21.8GB。所以显存从来不是瓶颈,速度才是 —— 你需要的是一张 50 步能在 5 秒内跑完的卡。NexGPU 的 RTX 3090 24GB $0.193/卡·时正好是这个级别里最划算的一张。

riffusion.com 打不开了,跳到别的网站,模型是不是没了?

模型还在,公司改名了。riffusion.com 现在 301 跳到 producer.ai,producer.ai 再 301 跳到 flowmusic.app —— 团队 2023 年 10 月融资 400 万美元后转做闭源托管产品,新模型不放权重。但 Hugging Face 上的 riffusion/riffusion-model-v1 和 GitHub 上的 riffusion-hobby 都还在,MIT 加 OpenRAIL-M,随时可以拉下来自己跑。在 NexGPU 开一台机器,二十分钟就能验证它还能不能用。

为什么 Riffusion 生成的音乐听起来发闷、有金属味?

三个原因都写在源码的默认参数里:max_frequency 是 10000,也就是 10kHz 以上的高频整个被切掉了,所以听着闷;相位信息完全没有建模,靠 32 轮 Griffin-Lim 硬猜出来,所以有那种水声般的金属感;stereo 默认 False,输出是单声道。这些不是 bug,是 2022 年这套频谱图方案的固有代价。想要干净的成品音质,直接上 ACE-Step 或 DiffRhythm,NexGPU 的 RTX 5090 32GB $0.723/卡·时一张卡就够。

一次只能生成 5 秒吗?怎么做成完整的曲子?

默认参数下 step_size_ms 是 10,512 像素宽正好是 5.12 秒。官方的做法是 img2img 循环加 prompt 之间的隐空间插值,让相邻片段在音色上连得住,再拼成连续的流 —— riffusion-app-hobby 那个网页版就是这么工作的。缺点是拼接处始终有痕迹。要一次出整首带结构的歌,DiffRhythm-v1.2-full 能到 4 分 45 秒、ACE-Step 能到 4 分钟。三种方案在 NexGPU 上都能开机就试,按秒计费,试错成本几乎为零。

Riffusion 能商用吗?授权怎么算?

分两层:riffusion-hobby 的代码是 MIT,基本没有限制;权重是 CreativeML OpenRAIL-M,属于「负责任 AI」许可,本身允许商用但附带一组使用限制条款,且底座 SD 1.5 是在 LAION-5B 上训练的,训练数据的合规风险需要你自己评估。想彻底避开这层不确定性,Apache-2.0 的 ACE-Step 和 DiffRhythm 干净得多。以上不构成法律意见,具体条款请自行审阅。算力这边我们不设授权门槛,1,175 个可租节点随便挑。

2026 年了,自建 Riffusion 还有意义吗?

有,但要摆对位置。它现在的价值在于教学和风格化音频纹理 —— 频谱图这条路径可解释、可视化、可以直接对图做 img2img 和 inpainting,这是任何端到端音频模型都给不了的手感,而且它便宜到几乎不用算成本。要做能发布的成品歌曲,就换 ACE-Step 3.5B 或 DiffRhythm。NexGPU 上这两条路可以并行开:3090 $0.193 跑 Riffusion 做实验,5090 32GB $0.723 跑整曲生成,2,498 张卡、75 种型号、51 个国家和地区,Telegram 上有中英文支持,不用排工单。

开始使用 NexGPU

无论你是企业研发团队还是独立开发者,都可以在几分钟内跑起第一个任务。

注册即可浏览全网实时价格,无需绑定支付方式。