riffusion-hobby
用 Stable Diffusion 生成音频频谱图,实现「文字描述→音乐片段」的 AI 音乐生成工
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用 Stable Diffusion 生成音频频谱图,实现「文字描述→音乐片段」的 AI 音乐生成工
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:深夜,音乐人李明正在为一首 indie 歌曲寻找灵感。他打开 Riffusion,在提示框里输入「church bells on sunday」,再输入另一个词「jazz with piano」,然后点击生成。几秒钟后,一段融合了教堂钟声和爵士钢琴的 30 秒音频片段就出现在他面前——附带一张可视化的频谱图,直观展示声音的频率与时间分布。这就是 Riffusion 所做的事:用文本描述来驱动 AI 生成音乐。
Riffusion 诞生于 2022 年初,由音乐人 Seth Forsgren 和 Hayk Martiros 共同创建。他们的本职工作并非 AI 研究,但在探索 AI 辅助音乐创作的过程中,发现了一个巧妙的切入角度:与其直接让 AI 生成音频波形,不如让 AI 先生成一张「频谱图」(Spectrogram),再将这张图片转换为声音。
这一思路的灵感来源于 Stable Diffusion——一个原本用于生成图像的扩散模型。两人将 Stable Diffusion v1.5 进行微调,使其从生成普通图像转变为生成音频频谱图。由于频谱图本质上是二维图像,Stable Diffusion 的架构可以无缝迁移,而人类的音乐感知本身就与频率信息密切相关,这使得微调后的模型能够生成质量较高的音频内容。
2023 年 10 月,Riffusion 宣布获得 400 万美元融资,并推出了移动端 App,逐渐从极客工具走向更广泛的用户群体。项目在 GitHub 上获得了近 4000 颗星,衍生出多个社区项目和第三方集成。
频谱图( Spectrogram )是一种将音频可视化的方式:在图表中,横轴是时间,纵轴是频率,颜色深浅代表该时间点该频率的音量大小。学过音乐制作的人对此不会陌生——在 DAW(数字音频工作站)软件中,我们每天都在和频谱图打交道。
Riffusion 的核心创新在于:把「文生图」问题转化为「文生频谱图」问题。Stable Diffusion 本身已经非常擅长理解「church bells」「jazz piano」这类文本提示,通过微调,它学会将这些概念映射到频谱图的视觉模式上。生成的频谱图再通过短时傅里叶变换(STFT)逆变换回 WAV/MP3 音频文件。
推理过程采用「插值」(Interpolation)策略:用户提供两个提示词(start prompt 和 end prompt),模型在两者之间进行线性过渡,生成一段渐变的音频。例如从「church bells」过渡到「jazz piano」,音频会自然地从钟声风格逐渐变化为钢琴爵士风格。推理参数包括:
在 RTX 3090 或 A10G 等高端 GPU 上,50 步推理可在 5 秒内完成,实现「实时」音乐生成体验。
代码库支持三种推理后端:
一行命令启动交互式 Web 界面:
python -m riffusion.streamlit.playground
访问 http://127.0.0.1:8501/ 后,可以输入两个提示词、调整参数、实时预览生成的频谱图并收听音频片段。对于不熟悉命令行的用户,这是最友好的上手方式。
对于需要在自有应用中集成 AI 音乐生成能力的开发者,Riffusion 提供了 Flask 服务器:
python -m riffusion.server --host 127.0.0.1 --port 3013
服务端点 POST /run_inference 接受 JSON 请求,返回 base64 编码的频谱图 JPEG 和音频 MP3,可无缝嵌入其他应用。
直接通过 CLI 进行频谱图→音频转换:
python -m riffusion.cli image-to-audio --image spectrogram.png --audio output.wav
适合批处理和自动化工作流。
Riffusion 对硬件要求较高。官方明确指出,实时生成(在 5 秒内完成 50 步推理)需要 GPU 算力约等于 RTX 3090 或 A10G 的水平。显存需求 8GB 以上,磁盘空间约 10GB(包含模型权重和依赖)。
CPU 模式功能完整,但生成速度可能慢到难以接受——一次推理可能需要数分钟甚至更久。因此,对于想要真正「用起来」的用户,一张高性能 NVIDIA 显卡几乎是必需品。
此外,系统需要安装 ffmpeg 和 libsndfile 来处理音频格式转换。Python 版本支持 3.9 和 3.10。
值得注意的是,该 repo 在 README 中已明确标注「项目不再活跃维护」(no longer actively maintained)。这一决定背后有几重因素:
竞品压力:2023 年 Meta 推出了 AudioCraft(MusicGen + AudioGen),Google 和 Stability AI 也有类似产品。这些模型直接生成音频波形,跳过了频谱图中间层,在某些场景下效果更好。
架构局限:频谱图→音频的转换过程(逆 STFT)会损失部分相位信息,导致生成音频有时听起来略有「人工感」,不如端到端音频生成模型自然。
维护成本:作者团队选择将精力投入商业产品(riffusion.com 网站和移动 App),开源代码库的后续更新因此放缓。
尽管不再活跃开发,Riffusion 在 AI 音乐生成领域仍具有标志性意义:它是第一个成功将图像生成模型迁移到音乐生成的项目,证明了「扩散模型 + 频谱图」这条技术路径的可行性。2024 年 Intel 还推出了基于 OpenVINO 的 Riffusion 推理优化教程,进一步延续了其技术影响力。
对于今天的用户来说,Riffusion 的价值在于:
如果你正在探索 AI 音乐生成领域,Riffusion 依然是一个值得研究和实验的项目——它的核心思路在今天依然具有启发性。
本分析基于 riffusion/riffusion-hobby 仓库,GitHub 4,901 Stars(分析时间:2026-06-02)。