ComfyUI_DiffRhythm 插件保姆级教程
1. 插件简介
插件地址: https://github.com/billwuhao/ComfyUI_DiffRhythm
ComfyUI_DiffRhythm 是一个超级厉害的音乐生成插件,就像一个会作曲的魔法师!它能帮你:
- 根据歌词生成完整歌曲:你只需要输入歌词,它就能给你配上好听的旋律,就像请了个专业作曲家
- 模仿音乐风格:给它一段参考音乐,它就能学会这种风格,然后用这种风格创作新歌
- 编辑现有歌曲:可以修改歌曲的某些部分,比如改个开头或者结尾
- 支持中英文歌词:不管是中文还是英文歌词都能处理
- 生成长达4分钟的完整歌曲:不是那种几秒钟的小片段,而是完整的一首歌
这个插件就像是把专业录音棚搬到了你的电脑里,让普通人也能轻松创作出专业水准的音乐作品。
2. 如何安装
2.1 基础安装步骤
-
进入 ComfyUI 插件目录
cd ComfyUI/custom_nodes -
下载插件
git clone https://github.com/billwuhao/ComfyUI_DiffRhythm.git -
安装依赖包
cd ComfyUI_DiffRhythm pip install -r requirements.txt如果你用的是 ComfyUI 自带的 Python 环境:
./python_embeded/python.exe -m pip install -r requirements.txt
2.2 模型文件下载
这一步很重要!你需要手动下载模型文件到 ComfyUI\\models\\TTS\\DiffRhythm 文件夹下。
需要下载的文件:
- cfm_model_v1_2.pt(主要模型文件)
- cfm_full_model.pt(完整版模型)
- cfm_model.pt(基础模型)
- vae_model.pt(音频编码器)
- config.json(配置文件)
- 还有几个子文件夹里的模型文件
下载地址:
- https://huggingface.co/ASLP-lab/DiffRhythm-1_2/blob/main/cfm_model.pt(重命名为 cfm_model_v1_2.pt)
- https://huggingface.co/ASLP-lab/DiffRhythm-full/tree/main
- https://huggingface.co/ASLP-lab/DiffRhythm-base/blob/main/cfm_model.pt
- https://huggingface.co/ASLP-lab/DiffRhythm-vae/blob/main/vae_model.pt
2.3 环境配置
Windows 用户:
- 下载安装 espeak-ng
- 添加系统环境变量
PHONEMIZER_ESPEAK_LIBRARY,值设为:C:\\Program Files\\eSpeak NG\\libespeak-ng.dll
Linux 用户:
apt-get -qq -y install espeak-ng
3. 节点详细解析
3.1 MultiLineLyricsDR 节点 - 歌词输入器
这个节点就像一个专门的歌词输入框,你可以在这里写下你想要变成歌曲的歌词。它支持带时间标记的歌词格式(LRC格式),就像KTV里显示的那种歌词。
3.1.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| lyrics | lyrics | STRING (多行文本) | 带时间标记的歌词 | 这里输入你想要变成歌曲的歌词,就像在记事本里写歌词一样 | 接受LRC格式的歌词文本,支持时间戳标记 | [00:18.23]让我掉下眼泪的\n[00:21.80]不止昨夜的酒 |
3.2 DiffRhythmRun 节点 - 音乐生成器
这是插件的核心节点,就像一个超级智能的作曲家。它能根据你提供的歌词、风格描述或参考音乐,生成完整的歌曲。
3.2.1 必需参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | 下拉选择 | cfm_model_v1_2.pt | 选择用哪个大脑来作曲,就像选择不同水平的作曲家 | 选择不同的预训练模型,影响生成质量和长度 | 新手推荐用 cfm_model_v1_2.pt,质量好速度快 |
| style_prompt | style_prompt | STRING (多行文本) | "Indie folk ballad, coming-of-age themes, acoustic guitar picking with harmonica interludes" | 告诉AI你想要什么风格的音乐,就像跟作曲家说"我想要一首温柔的民谣" | 文本风格提示,描述期望的音乐风格和情感 | "轻快的流行歌曲,吉他伴奏,青春活力" |
3.2.2 可选参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| lyrics_or_edit_lyrics | lyrics_or_edit_lyrics | STRING (输入连接) | 来自歌词节点 | 接收歌词输入,就像把写好的歌词交给作曲家 | 接收歌词文本输入,支持LRC格式 | 连接 MultiLineLyricsDR 节点的输出 |
| style_audio_or_edit_song | style_audio_or_edit_song | AUDIO (音频文件) | 无 | 上传一段参考音乐,AI会学习这个风格,就像给作曲家听个样本 | 音频风格参考,用于风格迁移或歌曲编辑 | 上传一段你喜欢的歌曲片段 |
| unload_model | unload_model | BOOLEAN | True | 生成完后是否清理内存,就像用完工具后收拾桌子 | 控制是否在生成后卸载模型以释放显存 | True可以节省内存,False可以加快下次生成 |
| odeint_method | odeint_method | 下拉选择 | euler | 选择计算方法,就像选择不同的绘画技法 | ODE求解器方法,影响生成质量和速度 | euler最快,rk4质量最好但慢 |
| steps | steps | INT (1-100) | 30 | 生成时的计算步数,步数越多质量越好但越慢,就像画画时的精细程度 | 扩散模型的采样步数,影响生成质量 | 30步适合快速预览,50-80步质量更好 |
| cfg | cfg | INT (1-10) | 4 | 控制AI听话程度,数值越高越严格按照你的要求,就像调节学生的服从度 | Classifier-free guidance强度,控制条件遵循程度 | 4-6适合大多数情况,太高可能过度拟合 |
| quality_or_speed | quality_or_speed | 下拉选择 | speed | 选择要速度还是要质量,就像选择快餐还是精致料理 | 控制生成模式,影响质量和速度平衡 | speed适合快速试听,quality适合最终作品 |
| seed | seed | INT | 0 | 随机种子,相同种子会生成相同结果,就像抽奖时的幸运数字 | 随机数种子,控制生成的随机性和可重复性 | 0表示随机,固定数字可重复生成相同结果 |
| edit | edit | BOOLEAN | False | 是否编辑现有歌曲,就像选择是创作新歌还是改编老歌 | 启用歌曲编辑模式,可修改现有音频片段 | True时需要提供原始音频和编辑区间 |
| edit_segments | edit_segments | STRING | "[-1, 20], [60, -1]" | 指定要编辑的时间段,就像告诉编辑"从这里到那里需要修改" | 定义编辑的时间区间,-1表示开始或结束 | [0, 30]表示编辑前30秒,[60, -1]表示从60秒到结尾 |
4. 使用技巧和建议
4.1 歌词格式技巧
- 时间标记格式:使用
[分:秒.毫秒]格式,如[01:23.45] - 歌词对齐:确保歌词和时间标记对应,这样生成的歌曲节奏会更准确
- 换行处理:每行歌词对应一个时间标记,就像KTV歌词一样
4.2 风格描述技巧
- 具体描述:不要只说"好听的歌",要说"温柔的民谣,吉他伴奏,略带忧伤"
- 乐器指定:可以指定想要的乐器,如"钢琴独奏"、"摇滚乐队"
- 情感表达:描述歌曲要表达的情感,如"青春活力"、"怀旧温暖"
4.3 参数调优建议
- 新手设置:model用cfm_model_v1_2.pt,steps设30,cfg设4
- 高质量设置:steps提高到50-80,quality_or_speed选quality
- 快速预览:steps降到20,quality_or_speed选speed
4.4 内存管理
- 显存不足时:开启unload_model,每次生成后清理内存
- 批量生成时:关闭unload_model,避免重复加载模型
5. 常见问题解答
5.1 安装相关问题
Q: 提示找不到模型文件怎么办?
A: 检查模型文件是否下载到正确位置:ComfyUI\\models\\TTS\\DiffRhythm,文件名是否正确。
Q: Windows下提示espeak相关错误?
A: 确保安装了espeak-ng并正确设置了环境变量PHONEMIZER_ESPEAK_LIBRARY。
Q: 依赖包安装失败?
A: 尝试使用国内镜像:pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
5.2 使用相关问题
Q: 生成的歌曲质量不好?
A: 尝试增加steps数值(50-80),使用quality模式,检查歌词格式是否正确。
Q: 生成速度很慢?
A: 使用speed模式,降低steps数值(20-30),确保显卡驱动正常。
Q: 歌词和音乐不匹配?
A: 检查歌词时间标记是否准确,确保使用正确的LRC格式。
Q: 显存不够用?
A: 开启unload_model选项,使用较小的模型(cfm_model.pt),关闭其他占用显存的程序。
5.3 高级使用问题
Q: 如何编辑现有歌曲?
A: 设置edit为True,上传原始音频到style_audio_or_edit_song,在edit_segments中指定要编辑的时间段。
Q: 如何使用音频风格参考?
A: 上传参考音频到style_audio_or_edit_song输入,系统会自动学习该音频的风格特征。
Q: 生成结果不稳定?
A: 设置固定的seed值,这样每次生成都会得到相同的结果。
6. 实际应用场景
6.1 个人创作
- 写歌爱好者:有歌词但不会作曲的朋友,可以轻松把歌词变成完整歌曲
- 音乐学习:学习不同风格的音乐创作,通过AI生成来理解音乐结构
- 创意灵感:快速生成音乐小样,为后续创作提供灵感
6.2 内容创作
- 视频配乐:为自制视频生成原创背景音乐
- 播客片头:制作个性化的播客开场音乐
- 游戏音效:为小游戏生成背景音乐
6.3 商业应用
- 广告配乐:快速生成符合品牌调性的广告音乐
- 产品演示:为产品介绍视频配上合适的背景音乐
- 活动音乐:为各种活动生成主题音乐
7. 进阶技巧
7.1 风格混合
可以在style_prompt中描述多种风格的组合,如:"融合了爵士乐的即兴和流行音乐的旋律性,加入轻微的电子元素"
7.2 情感控制
通过详细的情感描述来控制音乐氛围,如:"从忧伤开始,逐渐转向希望和温暖,最后以激昂的情绪结束"
7.3 乐器编排
具体指定乐器组合,如:"主要以钢琴为主,配以小提琴和大提琴,鼓点轻柔,偶尔加入长笛点缀"
7.4 节奏控制
在歌词时间标记中精确控制节奏,让AI生成更符合预期的音乐节拍。
8. 总结
ComfyUI_DiffRhythm 插件是一个功能强大的音乐生成工具,它让音乐创作变得简单易懂。无论你是音乐新手还是有经验的创作者,都能通过这个插件快速生成高质量的音乐作品。
记住几个关键点:
- 歌词格式很重要:使用正确的LRC格式
- 风格描述要具体:详细描述想要的音乐风格
- 参数调节要合理:根据需求平衡质量和速度
- 多尝试多实验:不同的参数组合会产生不同的效果
希望这份教程能帮助你更好地使用这个神奇的音乐生成插件,创作出属于自己的美妙音乐!🎵