ComfyUI-Orpheus-TTS 插件完整教程
1. 插件简介
ComfyUI-Orpheus-TTS 是一个让文字变成真人说话声音的神奇工具!就像给你的电脑装上了一个超厉害的配音演员,可以用不同的声音、不同的语言、不同的情绪来读出你写的任何文字。
插件地址: https://github.com/ShmuelRonen/ComfyUI-Orpheus-TTS
这个插件能给你带来什么效果?
- 🎙️ 超级自然的人声合成,听起来就像真人在说话
- 🎭 可以加入各种情绪表达,比如笑声、叹气、咳嗽等
- 👥 提供多种不同的声音选择(tara、leah、jess、leo、dan、mia、zac、zoe等)
- 📝 可以处理很长的文字,自动分段处理
- 🎛️ 专业的音频效果:调音调、调速度、加混响、加回声等
- 🌐 支持多种语言(英语、法语、西班牙语等)
- 💻 支持 Windows、Linux 和 macOS 系统
2. 如何安装
第一步:下载插件
- 打开你的 ComfyUI 文件夹
- 进入
custom_nodes目录 - 在这里运行命令:
git clone https://github.com/ShmuelRonen/ComfyUI-Orpheus-TTS.git
第二步:安装依赖包
运行这个命令来安装必要的工具:
pip install torch numpy soundfile transformers huggingface_hub nltk snac
如果你用的是 WSL2,可能需要用这个命令:
pip install git+https://github.com/hubertsiuzdak/snac.git
第三步:安装 SoX 音频处理工具
Windows 用户:
- 去 https://sourceforge.net/projects/sox/files/sox/14.4.2/ 下载 SoX
- 下载 .exe 安装文件(比如 sox-14.4.2-win32.exe)
- 运行安装程序,记住安装路径(通常是
C:\Program Files (x86)\sox-14-4-2\)
Linux 用户:
sudo apt-get update
sudo apt-get install sox
macOS 用户:
brew install sox
第四步:重启 ComfyUI
安装完成后重启 ComfyUI 来加载插件。
3. 节点详解
3.1 Orpheus TTS Model Loader 节点
这个节点就像一个"模型管家",负责加载和准备好语音合成需要的所有工具。就像你要做饭前先准备好锅碗瓢盆一样。
3.1.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| SNAC Model Path | snac_model_path | 文本输入 | hubertsiuzdak/snac_24khz | 音频编码器的位置,就像找到处理声音的工具箱 | SNAC音频编解码器模型路径 | 保持默认值即可,除非你有特殊的模型 |
| Orpheus Model Path | orpheus_model_path | 文本输入 | canopylabs/orpheus-3b-0.1-ft | 语音合成大脑的位置,就像找到配音演员的"大脑" | Orpheus TTS核心模型路径 | 保持默认值即可,除非你有自定义模型 |
输出:
- model:把准备好的模型传递给下一个节点使用
3.2 Orpheus TTS Generate 节点
这个节点是真正的"配音演员",负责把你的文字转换成声音。就像有一个专业配音员在给你念稿子。
3.2.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Model | model | 连接输入 | 来自Model Loader | 接收准备好的模型,就像给配音员准备好的工具 | 模型引用对象 | 连接上一个节点的输出 |
| Text | text | 文本输入 | 你要转换的文字 | 要让电脑读出来的文字内容 | 待合成的文本内容 | 输入"Hello, how are you today?" |
| Voice | voice | 下拉选择 | tara | 选择配音员的声音,就像选择男声女声 | 语音角色选择 | tara(女声)、leo(男声)、dan(男声)等 |
| Language | language | 下拉选择 | en | 选择说话的语言,就像选择说中文还是英文 | 语言代码设置 | en(英语)、fr(法语)、es(西班牙语) |
| Max Chunk Size | max_chunk_size | 数字输入 | 150 | 长文本分段大小,就像把长文章分成小段来读 | 文本分块处理大小 | 一般150就够用,太长可能出错 |
| Paralinguistic Elements | paralinguistic_elements | 下拉选择 | none | 添加表情声音,就像加入笑声、叹气等 | 副语言元素类型 | laugh(笑声)、sigh(叹气)、cough(咳嗽) |
| Element Position | element_position | 下拉选择 | none | 表情声音放在哪里,就像决定在句子前面还是后面笑 | 副语言元素位置 | none(不加)、append(后面)、prepend(前面)、pipe(用|标记位置) |
输出:
- audio:生成的音频数据,传递给下一个节点处理
3.3 Orpheus Audio Effects 节点
这个节点是"音频美化师",负责给生成的声音加各种效果,就像给照片加滤镜一样。
3.3.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Audio | audio | 连接输入 | 来自Generate节点 | 接收原始音频,就像拿到要处理的录音 | 音频数据输入 | 连接上一个节点的音频输出 |
| Pitch Shift | pitch_shift | 滑块(-12到12) | 0 | 调音调高低,就像让声音变粗变细 | 音调偏移量(半音) | -4让声音变低沉,+4让声音变尖 |
| Speed Factor | speed_factor | 滑块(0.5到2.0) | 1.0 | 调说话速度,就像调播放速度 | 播放速度倍数 | 0.8慢一点,1.2快一点 |
| SoX Path | sox_path | 文本输入 | 自动检测 | SoX工具的位置,就像找到音频处理工具 | SoX可执行文件路径 | Windows一般是C:\Program Files (x86)\sox-14-4-2\sox.exe |
| Gain (dB) | gain_db | 滑块(-20到20) | 0 | 调音量大小,就像调电视音量 | 音量增益(分贝) | +3增大音量,-3减小音量 |
| Use Limiter | use_limiter | 勾选框 | True | 防止音量过大爆音,就像音量保护器 | 限制器开关 | 建议开启,防止声音失真 |
| Normalize Audio | normalize_audio | 勾选框 | False | 自动平衡音量,就像自动调节音量 | 音频归一化 | 开启后音量会自动调整到合适大小 |
| Add Reverb | add_reverb | 勾选框 | False | 添加回声效果,就像在大厅里说话 | 混响效果开关 | 开启后声音有空间感 |
| Reverb Amount | reverb_amount | 滑块(0到100) | 50 | 回声强度,就像调节房间大小的感觉 | 混响强度百分比 | 20是小房间,80是大教堂 |
| Reverb Room Scale | reverb_room_scale | 滑块(0到100) | 50 | 房间大小感,就像调节空间大小 | 混响房间尺寸 | 数值越大感觉房间越大 |
| Add Echo | add_echo | 勾选框 | False | 添加回音效果,就像在山谷里喊话 | 回声效果开关 | 开启后有延迟重复的声音 |
| Echo Delay | echo_delay | 滑块(0.1到2.0) | 0.5 | 回音延迟时间,就像调节回音间隔 | 回声延迟时间(秒) | 0.3是快速回音,1.0是慢速回音 |
| Echo Decay | echo_decay | 滑块(0.1到1.0) | 0.5 | 回音衰减速度,就像调节回音消失快慢 | 回声衰减系数 | 0.3回音快速消失,0.8回音慢慢消失 |
输出:
- audio:处理后的音频数据
3.4 Preview Audio 节点
这个节点是"音频播放器",让你能听到生成的声音效果。就像电脑上的音乐播放器一样简单。
3.4.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Audio | audio | 连接输入 | 来自前面节点 | 接收音频数据进行播放,就像插入音响 | 音频数据输入 | 连接Generate或Effects节点的输出 |
输出:
- 无输出,直接播放音频
4. 使用技巧和建议
4.1 基础使用流程
简单版本(基础语音合成):
- 添加 "Orpheus TTS Model Loader" 节点
- 添加 "Orpheus TTS Generate" 节点
- 添加 "Preview Audio" 节点
- 按顺序连接:Model Loader → Generate → Preview Audio
- 在 Generate 节点输入文字,选择声音
- 运行工作流就能听到效果
完整版本(带音效处理):
- 添加 "Orpheus TTS Model Loader" 节点
- 添加 "Orpheus TTS Generate" 节点
- 添加 "Orpheus Audio Effects" 节点
- 添加 "Preview Audio" 节点
- 按顺序连接:Model Loader → Generate → Audio Effects → Preview Audio
- 调整各种参数获得想要的效果
4.2 声音选择建议
女声推荐:
- tara:温柔自然的女声,适合讲故事
- leah:清甜的女声,适合广告配音
- jess:专业的女声,适合新闻播报
- mia:年轻活泼的女声,适合动画配音
- zoe:成熟优雅的女声,适合纪录片
男声推荐:
- leo:温和的男声,适合教学内容
- dan:低沉的男声,适合严肃内容
- zac:年轻的男声,适合轻松内容
4.3 音效搭配建议
电话效果:
- pitch_shift: 0
- speed_factor: 1.0
- add_reverb: True
- reverb_amount: 10
- reverb_room_scale: 10
广播员效果:
- pitch_shift: -2
- speed_factor: 0.9
- add_reverb: True
- reverb_amount: 20
- gain_db: 3
体育场播报:
- pitch_shift: 0
- speed_factor: 1.0
- add_reverb: True
- reverb_amount: 60
- add_echo: True
- echo_delay: 0.8
儿童声音:
- pitch_shift: 4
- speed_factor: 1.1
- gain_db: 2
深沉声音:
- pitch_shift: -4
- speed_factor: 0.9
- gain_db: -2
4.4 表情元素使用技巧
可用的表情元素:
<laugh>:自然笑声<chuckle>:轻声笑<sigh>:叹气<cough>:咳嗽<sniffle>:吸鼻子<groan>:呻吟声<yawn>:打哈欠<gasp>:倒吸气
使用方法:
- None模式:直接在文字中插入标签
- 输入:"我不敢相信!
<laugh>太棒了!"
- 输入:"我不敢相信!
- Append模式:自动在文字后面加表情
- 输入:"太棒了!" + 选择laugh
- 结果:"太棒了!
<laugh>"
- Prepend模式:自动在文字前面加表情
- 输入:"我需要回去工作了。" + 选择sigh
- 结果:"
<sigh>我需要回去工作了。"
- Pipe模式:用|符号标记位置
- 输入:"我不敢相信!| 太好笑了!| 笑死我了!" + 选择laugh
- 结果:"我不敢相信!
<laugh>太好笑了!<laugh>笑死我了!"
5. 常见问题解答
5.1 安装相关问题
Q:提示找不到 SoX 怎么办?
A:检查 SoX 是否正确安装,Windows 用户确认路径是否为 C:\Program Files (x86)\sox-14-4-2\sox.exe,如果不是,在 Audio Effects 节点中手动输入正确路径。
Q:安装依赖包时出错怎么办?
A:如果是 WSL2 用户,尝试使用 pip install git+https://github.com/hubertsiuzdak/snac.git 命令。
Q:节点不显示怎么办?
A:确保插件安装在正确的 custom_nodes 目录下,并且重启了 ComfyUI。
5.2 使用相关问题
Q:生成的声音很机械怎么办?
A:尝试添加表情元素,使用 Audio Effects 节点调整音调和速度,让声音更自然。
Q:长文本处理失败怎么办?
A:减小 max_chunk_size 参数值,比如从 150 改为 100,让文本分段更小。
Q:声音太小或太大怎么办?
A:使用 Audio Effects 节点的 gain_db 参数调整音量,建议开启 use_limiter 防止爆音。
Q:想要特定的音效怎么办?
A:参考上面的"音效搭配建议"部分,或者自己实验不同的参数组合。
5.3 高级使用问题
Q:如何使用私有模型?
A:在插件目录下创建 hf_config.json 文件,内容如下:
{
"token": "你的HuggingFace令牌"
}
Q:支持哪些语言?
A:主要支持英语(en)、法语(fr)、西班牙语(es)、意大利语(it)、中文(zh)、韩语(ko)、德语(de)、印地语(hi)等。
Q:如何获得最佳效果?
A:建议按照这个顺序调整参数:
- 先选择合适的声音
- 添加适当的表情元素
- 调整音调和速度
- 最后添加空间效果(混响、回声)
6. 实用示例
6.1 制作有声读物
设置建议:
- Voice: tara 或 leah(温柔女声)
- Speed Factor: 0.9(稍慢便于理解)
- Add Reverb: True,Reverb Amount: 20(轻微空间感)
- 在适当位置添加
<sigh>或<pause>元素
6.2 制作广告配音
设置建议:
- Voice: dan 或 leo(专业男声)
- Pitch Shift: -1(稍微低沉)
- Gain: +3(增强音量)
- Normalize Audio: True(保持音量一致)
6.3 制作角色对话
设置建议:
- 为不同角色选择不同的声音
- 使用 Pipe 模式在对话中加入表情:
- "真的吗?| 太不可思议了!| 我简直不敢相信!"
- 调整不同角色的音调区分度
这个插件让文字转语音变得超级简单,就像给你的电脑请了一位专业配音员。多尝试不同的参数组合,你会发现更多有趣的效果!