
riffusion-hobby
用 Stable Diffusion 实时生成音乐,输入文字即出旋律
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 3907
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Python 3.9 或 3.10(CI 中已测试)
- 建议使用 conda 或 virtualenv 创建独立虚拟环境
- 需要安装 ffmpeg 才能处理 WAV 以外的音频格式
- 若 torchaudio 无后端,需要额外安装 libsndfile
- 需准备可用的 torch 设备(CPU 或 GPU)
安装与启动步骤
-
1获取项目代码
把 GitHub 上的 riffusion-hobby 仓库克隆到本地,后续所有命令都在该目录中执行。
git clone https://github.com/riffusion/riffusion-hobby.git cd riffusion-hobby -
2创建虚拟环境
README 强烈建议用 conda 建独立环境,Python 版本指定 3.9 以免依赖冲突。
conda create --name riffusion python=3.9 -
3激活环境
激活刚创建的 riffusion 环境,之后的安装与启动都在该环境中进行。
conda activate riffusion -
4安装 Python 依赖
通过 requirements.txt 一次性安装 diffusers、torch 等项目所需依赖,耗时较长请耐心等待。
python -m pip install -r requirements.txt -
5安装 ffmpeg
只有需要 WAV 以外的音频格式时才必须安装。Linux 用 apt、Mac 用 brew,conda 环境也可直接装。
conda install -c conda-forge ffmpeg -
6启动模型服务
以 Flask 服务方式启动推理接口,默认监听本机 3013 端口,供 Web 应用或 API 调用。
python -m riffusion.server --host 127.0.0.1 --port 3013
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
--host | 否 | 模型服务监听的地址,默认本机回环地址。 | 127.0.0.1 |
--port | 否 | 模型服务监听端口,Web 应用需按此地址连接。 | 3013 |
--checkpoint | 否 | 指定 diffusers 格式的模型目录或 HuggingFace ID。 | riffusion/riffusion-model-v1 |
--device | 否 | 指定使用的 torch 设备,如 cpu 或 cuda。 | cuda |
num_inference_steps | 否 | 推理步数,请求体参数,越大越慢但通常更精细。 | 50 |
alpha | 否 | 起止提示词之间的插值系数,控制风格过渡程度。 | 0.75 |
如何确认成功
向 http://127.0.0.1:3013/run_inference 发送 POST 请求,能返回含 image 与 audio 的 base64 结果即成功。
常见问题
Q:只能用 WAV 音频吗?
A:不是。但要使用 WAV 以外的音频格式,必须先安装 ffmpeg,否则会处理失败。
Q:安装依赖时提示 torchaudio 没有后端怎么办?
A:需要额外安装 libsndfile,README 指向了 issue 12 中给出的解决办法。
Q:diffusers 相关报错如何处理?
A:README 建议尝试升级 diffusers,该项目在 0.9 到 0.11 版本上做过测试。
Q:Windows 上怎么装?
A:README 提供了 Reddit 上的 Windows 简易安装指南链接,可参考该文档操作。
Q:项目还在维护吗?
A:README 明确标注该项目已不再积极维护,使用中遇到问题可能不会得到修复。
注意事项
- 项目已停止积极维护,依赖版本较旧,建议在独立虚拟环境中安装。
- 官方 CI 仅测试过 Python 3.9 和 3.10,不要用更高版本 Python 以免踩坑。
- 模型权重可从 HuggingFace 的 riffusion/riffusion-model-v1 获取,也可用 --checkpoint 指定本地目录。
- 项目采用 MIT 许可证,二次开发请按 README 中的 Citation 引用原始论文。
核心亮点
- 实时生成:基于流式架构,边生成边播放,交互体验流畅
- 文本控制:通过提示词描述风格,降低音乐创作门槛
- 技术新颖:将图像扩散模型迁移到音频领域,创新性强
不足之处
- 生成质量受限于频谱图分辨率,细节可能丢失
- 依赖 GPU 资源,低配设备难以流畅运行
- 文档/社区待观察
适用场景
- 音乐灵感快速草拟,输入风格关键词获取旋律片段
- AI 音乐教育,演示扩散模型在音频生成中的应用
- 创意编程与艺术装置,实时生成背景音乐
替代项目
MusicGen、AudioLDM、DiffSinger
上一篇:facet
同类项目推荐
Breeze-TTS-2.cpp
开源
C++ 本地跑中英双语 TTS,带克隆和流式服务
Bilingual English and Mandarin text to speech in C++ and GGUF. Voice design, cloning···
java-tts
开源
用 Java 轻松调用 Edge TTS,几行代码实现文本转语音
java-tts 文本转语音
OpenWebTTS
开源
本地模型朗读PDF和EPUB,隐私无忧的Speechify替代品
Open source Speechify alternative. Read PDFs and EPUBs with local models.
apple_airplayer
开源
把 AirPlay 音箱变成会说话的 TTS 喇叭
Make your AirPlay devices as TTS speakers
Auto-Synced-Translated-Dubs
开源
上传视频和字幕,自动生成多语言配音,音画同步无需手动。
Automatically translates the text of a video based on a subtitle file, and then uses···
VITS
开源
用文本合成语音,还能一键变声,端到端搞定。
VITSによるテキスト読み上げ器&ボイスチェンジャー
sea-g2p
开源
快速搞定印尼语、泰语、越南语文本转音素,助力 TTS 更地道。
Fast multilingual text-to-phoneme converter for South East Asian languages.
Glosik
开源
在苹果设备上用 Swift 跑通 F5-TTS 语音合成
Sample project for F5-TTS using MLX Swift
ComfyUI-EdgeTTS
开源
在 ComfyUI 里一键把文字变成自然语音,轻松加配音。
ComfyUI-EdgeTTS is a powerful text-to-speech node for ComfyUI, leveraging Microsoft'···