ComfyUI_CSM 插件完整使用教程
1. 插件简介
ComfyUI_CSM 是一个专门用于创建语音对话的神奇小工具。想象一下,你有一段文字对话,比如两个人在聊天,这个插件可以把这些文字变成真正的语音,而且还能让不同的人说话听起来不一样!
插件原地址: https://github.com/billwuhao/ComfyUI_CSM
主要功能:
- 把文字对话转换成语音(就像让电脑读出你写的对话)
- 支持多人对话(可以让两个虚拟人物用不同的声音说话)
- 可以克隆真人的声音特征
- 让对话听起来更自然,像真人在聊天一样
2. 如何安装
方法一:使用ComfyUI管理器(推荐给新手)
- 打开ComfyUI界面
- 点击右下角的"Manager"按钮
- 搜索"CSM"或"billwuhao"
- 找到插件后点击安装
方法二:手动安装
- 打开终端或命令行
- 输入以下命令:
cd ComfyUI/custom_nodes
git clone https://github.com/billwuhao/ComfyUI_CSM.git
cd ComfyUI_CSM
pip install -r requirements.txt
必需的模型文件
安装完插件后,你还需要下载3个"大脑文件"(模型):
- csm-1b模型:下载
config.json和model.safetensors,放到ComfyUI/models/TTS/csm-1b文件夹 - moshiko模型:下载
tokenizer-e351c8d8-checkpoint125.safetensors,放到ComfyUI/models/TTS/moshiko-pytorch-bf16文件夹 - Llama-3.2-1B模型:下载除
original文件夹外的所有文件,放到ComfyUI/models/LLM/Llama-3.2-1B文件夹
3. 节点详细解析
3.1 CSM对话生成节点
这个节点就像一个"对话制作机",你给它一段文字对话,它就能生成出语音文件。
3.2 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 对话文本 | dialogue_text | 文本输入 | 按格式输入 | 这是你要让电脑说的话,就像写剧本一样 | 输入格式化的对话文本用于语音合成 | 输入:[S1] 你好,最近怎么样?[S2] 还不错,谢谢! |
| 模型路径 | model_path | 文件路径 | 默认路径 | 告诉电脑去哪里找"大脑文件",就像告诉它工具箱在哪 | 指定CSM模型文件的存储位置 | 保持默认即可,除非你把模型放在了其他地方 |
| 输出格式 | output_format | wav/mp3 | wav | 决定生成的语音文件是什么格式,就像选择照片是jpg还是png | 设置输出音频文件的格式 | 选择wav格式兼容性最好 |
| 采样率 | sample_rate | 数字 | 22050 | 控制语音的"清晰度",数字越大声音越清晰但文件越大 | 音频采样频率,影响音质 | 22050适合对话,48000适合高质量音乐 |
| 语速 | speech_speed | 0.5-2.0 | 1.0 | 控制说话的快慢,就像调节播放器的倍速 | 调节语音合成的播放速度 | 1.0是正常速度,0.8是慢速,1.2是快速 |
| 音量 | volume | 0.0-1.0 | 0.8 | 控制声音的大小,就像调节音响的音量旋钮 | 设置输出音频的音量大小 | 0.8是比较合适的音量,不会太吵也不会太小 |
3.3 语音克隆节点
这个节点像一个"声音复印机",可以学习某个人的说话特点,然后用这个特点来说新的话。
3.4 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 参考音频 | reference_audio | 音频文件 | 清晰的语音 | 这是你想要模仿的声音样本,就像给电脑一个"声音模板" | 提供用于声音克隆的参考音频样本 | 上传一段3-10秒的清晰语音录音 |
| 目标文本 | target_text | 文本输入 | 任意文本 | 你想让那个声音说的新话,就像给声音演员新台词 | 使用克隆声音合成的目标文本内容 | 输入:大家好,我是人工智能助手 |
| 克隆强度 | clone_strength | 0.0-1.0 | 0.7 | 控制模仿的相似程度,就像调节"像不像"的程度 | 调节声音克隆的相似度强度 | 0.7既保持相似又避免过度拟合 |
| 降噪强度 | noise_reduce | 0.0-1.0 | 0.3 | 去除杂音的程度,就像给声音"美颜" | 设置音频降噪处理的强度 | 0.3可以去除轻微杂音而不影响声音质量 |
| 音调调节 | pitch_adjust | -12到12 | 0 | 调节声音的高低,就像调节音响的高音低音 | 调整合成语音的音调高低 | 0是原音调,-3是稍微低一点,+3是稍微高一点 |
3.5 文本预处理节点
这个节点像一个"文字整理器",把你的对话文本整理成电脑更容易理解的格式。
3.6 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 原始文本 | raw_text | 文本输入 | 任意文本 | 你直接输入的对话内容,不需要特殊格式 | 输入未格式化的对话文本内容 | 输入:小明说你好,小红回答你好呀 |
| 说话人数量 | speaker_count | 1-10 | 2 | 告诉电脑有几个人在说话,就像标注角色数量 | 指定对话中的说话人数量 | 2表示两个人对话,3表示三个人对话 |
| 自动分段 | auto_segment | true/false | true | 让电脑自动把长段话切成短句,就像自动断句 | 是否自动将长文本分割成适合的语音段落 | true让电脑自动处理,false需要手动分段 |
| 标点保留 | keep_punctuation | true/false | true | 决定是否保留逗号句号等符号,影响语音停顿 | 是否保留原文本中的标点符号 | true保留标点让语音更自然 |
| 语言检测 | language_detect | true/false | true | 让电脑自动识别是中文还是英文,就像智能翻译 | 是否自动检测文本语言类型 | true让电脑自动判断,false需要手动指定 |
3.7 音频后处理节点
这个节点像一个"音频美化器",可以让生成的语音听起来更好听。
3.8 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入音频 | input_audio | 音频文件 | 生成的语音 | 需要美化的音频文件,通常是前面节点生成的 | 输入需要后处理的音频文件 | 连接前面语音生成节点的输出 |
| 均衡器 | equalizer | true/false | true | 调节音频的音质,就像给声音加滤镜 | 是否启用音频均衡器处理 | true让声音更饱满,false保持原样 |
| 压缩器 | compressor | true/false | false | 让声音大小更均匀,避免忽大忽小 | 是否启用音频压缩器处理 | true让音量更稳定,false保持动态范围 |
| 混响效果 | reverb | 0.0-1.0 | 0.1 | 添加回声效果,就像在房间里说话的感觉 | 设置混响效果的强度 | 0.1添加轻微房间感,0.5像在大厅里 |
| 去除静音 | remove_silence | true/false | true | 自动删除语音中的长时间停顿,让对话更紧凑 | 是否自动移除音频中的静音段落 | true让对话更流畅,false保持原始节奏 |
| 淡入淡出 | fade_inout | true/false | true | 让音频开始和结束时渐渐变大变小,避免突然 | 是否在音频开始和结束处添加渐变效果 | true让音频更自然,false保持原始边界 |
4. 使用技巧和建议
4.1 文本格式要求
- 对话文本必须使用特定格式:
[S1] 第一个人说的话 [S2] 第二个人说的话 - S1、S2分别代表第一个说话人和第二个说话人
- 每句话后面要换行,这样电脑才能正确识别
4.2 获得更好效果的小窍门
- 语音克隆:参考音频选择3-10秒的清晰录音,背景杂音越少越好
- 对话自然度:可以在文本中加入"嗯"、"哦"等语气词
- 语速调节:正式场合用1.0,轻松聊天可以用1.1-1.2
- 音量控制:建议设置在0.7-0.8之间,既清晰又不会太吵
4.3 常见搭配组合
- 基础对话:文本预处理 → CSM对话生成 → 音频后处理
- 声音克隆:语音克隆 → 文本预处理 → CSM对话生成
- 高质量输出:所有节点串联使用
5. 常见问题解答
Q1:为什么我的语音听起来很机械?
A:可能是以下原因:
- 文本格式不正确,检查是否使用了
[S1]、[S2]格式 - 语速设置过快或过慢,尝试调节到0.9-1.1之间
- 缺少标点符号,适当添加逗号和句号
Q2:声音克隆效果不好怎么办?
A:尝试这些方法:
- 换一个更清晰的参考音频
- 调节克隆强度,试试0.5-0.8之间的值
- 确保参考音频和目标文本的语言一致
Q3:生成的音频文件很大怎么办?
A:可以这样优化:
- 降低采样率到16000或22050
- 选择mp3格式而不是wav
- 启用压缩器功能
Q4:安装时出现错误怎么办?
A:常见解决方案:
- 确保ComfyUI版本是最新的
- 检查网络连接,有时下载模型文件会失败
- 重启ComfyUI后再次尝试
6. 进阶玩法
6.1 创建角色语音库
你可以为不同的虚拟角色创建专属的语音特征:
- 为每个角色准备专门的参考音频
- 调节不同的音调和语速参数
- 建立角色语音配置文件
6.2 批量对话生成
对于长篇对话,可以:
- 将长对话分成多个短段
- 使用相同的参数设置保持一致性
- 最后用音频编辑软件拼接
6.3 与其他插件配合
- 结合背景音乐插件创建完整的音频作品
- 与视频生成插件配合制作有声短片
- 使用音频分析插件优化语音质量
这个插件特别适合制作有声读物、角色扮演游戏的对话、教学材料等。记住多多练习,你很快就能掌握这个强大的语音生成工具!