ComfyUI_SparkTTS 插件完整教程
1. 插件简介
ComfyUI_SparkTTS 是一个专门为 ComfyUI 设计的文字转语音插件,就像给你的电脑装上了一个超级厉害的配音员。这个插件基于 Spark-TTS 技术,能够使用大语言模型来生成非常自然、听起来像真人的语音。
插件原地址: https://github.com/billwuhao/ComfyUI_SparkTTS
这个插件能给你带来什么效果?
- 把任何文字瞬间变成语音,就像有个专业配音师在为你朗读
- 可以克隆别人的声音,让语音听起来像特定的人说话
- 支持多种语言,中文、英文都能搞定
- 可以调节语速、音调等参数,让语音更符合你的需求
- 甚至可以直接录音,然后用录音的声音来生成新的语音
2. 如何安装
步骤一:下载插件
- 打开终端或命令提示符
- 进入你的 ComfyUI 安装目录下的 custom_nodes 文件夹
- 运行以下命令:
cd ComfyUI/custom_nodes
git clone https://github.com/billwuhao/ComfyUI_SparkTTS.git
cd ComfyUI_SparkTTS
pip install -r requirements.txt
步骤二:下载模型文件
需要下载 Spark-TTS-0.5B 模型文件,并放到 ComfyUI\models\TTS 文件夹中。
步骤三:配置音色文件
将 Step-Audio-speakers 文件夹移动到 ComfyUI\models\TTS 文件夹中,这个文件夹里装的是各种预设的音色。
最终的文件结构应该是这样的:
ComfyUI\models\TTS
├── Spark-TTS-0.5B
├── Step-Audio-speakers
3. 节点详细解析
基于搜索结果,这个插件包含以下主要节点:
3.1 Spark TTS 节点(基础文字转语音)
这个节点就像一个基础的播音员,你给它文字,它就给你念出来。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 文本内容 | text | 字符串 | 任意文字 | 就像给播音员的稿子,你想让它说什么就输入什么 | 需要转换为语音的文本内容 | 输入"你好,欢迎使用ComfyUI",就会生成这句话的语音 |
| 音色选择 | speaker | 下拉选择 | 根据需要选择 | 选择播音员的声音类型,就像选择男声还是女声 | 预设的音色模型,决定输出语音的音色特征 | 选择"女声甜美"就会用甜美的女声来念文字 |
| 语速 | speed | 0.5-2.0 | 1.0 | 控制说话快慢,就像调节播放速度 | 语音合成的速度倍率参数 | 设置0.8说话会慢一点,设置1.5说话会快一点 |
| 音调 | pitch | -1.0到1.0 | 0.0 | 调节声音的高低,就像调节音响的高音 | 语音的基频调节参数 | 设置0.3声音会更尖一点,设置-0.3声音会更低沉 |
3.2 Spark TTS Voice Clone 节点(声音克隆)
这个节点就像一个声音复制机,你给它一段录音,它就能学会用那个声音说话。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 参考音频 | reference_audio | 音频文件 | 3-10秒音频 | 就像给复制机一个样本,告诉它要模仿哪个声音 | 用于声音克隆的参考音频样本 | 上传一段朋友说话的录音,系统就能学会用朋友的声音说话 |
| 目标文本 | target_text | 字符串 | 任意文字 | 你想让克隆的声音说什么话 | 需要用克隆声音合成的文本内容 | 输入"今天天气真好",就会用参考音频的声音说这句话 |
| 相似度 | similarity | 0.0-1.0 | 0.8 | 控制克隆声音和原声音的相似程度,就像调节相似度 | 声音克隆的相似度控制参数 | 设置0.9会非常像原声,设置0.5会有一定差异 |
| 语速 | speed | 0.5-2.0 | 1.0 | 控制克隆声音的说话速度 | 克隆语音的速度倍率参数 | 设置1.2会比原声音说话快一点 |
| 音调 | pitch | -1.0到1.0 | 0.0 | 调节克隆声音的高低 | 克隆语音的基频调节参数 | 设置0.2让克隆的声音更尖一点 |
3.3 Spark TTS Voice Clone Advanced 节点(高级声音克隆)
这个节点就像一个高级声音复制机,能更精细地控制克隆出来的声音。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 参考音频 | reference_audio | 音频文件 | 3-10秒音频 | 用来学习的声音样本 | 声音克隆的参考音频文件 | 上传一段你想模仿的人的说话录音 |
| 目标文本 | target_text | 字符串 | 任意文字 | 想让克隆声音说的话 | 需要合成的文本内容 | 输入"欢迎来到我的直播间" |
| 温度 | temperature | 0.1-1.0 | 0.7 | 控制声音的"创造性",就像调节随机性 | 模型生成的随机性控制参数 | 设置0.3声音会更稳定,设置0.9声音会更有变化 |
| 重复惩罚 | repetition_penalty | 1.0-1.5 | 1.1 | 避免克隆声音重复说同样的词,就像避免口吃 | 防止模型重复生成相同内容的参数 | 设置1.2能减少说话时的重复现象 |
| 最大长度 | max_length | 50-500 | 200 | 控制一次能说多长的话,就像限制句子长度 | 单次生成语音的最大长度限制 | 设置100适合短句子,设置300适合长段落 |
| 语速 | speed | 0.5-2.0 | 1.0 | 控制说话快慢 | 语音合成的速度倍率 | 设置0.8说话慢一点,适合朗读 |
| 音调 | pitch | -1.0到1.0 | 0.0 | 调节声音高低 | 语音的音调调节参数 | 设置-0.2让声音更低沉一点 |
3.4 MW Audio Recorder 节点(录音器)
这个节点就像一个录音笔,可以用麦克风录制音频,还有进度条显示录音进度。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 录音时长 | duration | 1-60秒 | 5秒 | 设置录音多长时间,就像设置录音笔的录音时长 | 录音的持续时间控制 | 设置10秒可以录制一段完整的话 |
| 采样率 | sample_rate | 16000/22050/44100 | 22050 | 录音的清晰度,就像相机的像素 | 音频采样频率,影响音质 | 选择44100能获得最高音质 |
| 音频格式 | format | wav/mp3 | wav | 录音保存的格式,就像照片保存格式 | 录音文件的编码格式 | 选择wav格式音质最好,mp3格式文件更小 |
| 自动开始 | auto_start | 开启/关闭 | 关闭 | 是否自动开始录音,就像自动拍照 | 是否在节点执行时自动开始录音 | 开启后一运行就开始录音,关闭需要手动点击 |
| 降噪 | noise_reduction | 开启/关闭 | 开启 | 是否去除录音中的杂音,就像照片美颜 | 是否对录音进行降噪处理 | 开启后录音会更清晰,但处理时间会长一点 |
3.5 Audio Output 节点(音频输出)
这个节点就像一个音响播放器,把生成的语音播放出来或保存到文件。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频输入 | audio_input | 音频数据 | 来自其他节点 | 接收要播放的音频,就像音响的输入接口 | 待输出的音频数据流 | 连接语音合成节点的输出 |
| 输出格式 | output_format | wav/mp3/flac | wav | 保存音频的格式 | 音频文件的编码格式 | wav格式音质最好,mp3格式文件小 |
| 音量 | volume | 0.0-2.0 | 1.0 | 控制播放音量大小 | 音频输出的音量倍率 | 设置1.5声音更大,设置0.5声音更小 |
| 自动播放 | auto_play | 开启/关闭 | 开启 | 是否自动播放生成的音频 | 是否在音频生成后自动播放 | 开启后生成完就播放,关闭需要手动播放 |
| 保存路径 | save_path | 文件路径 | 默认输出文件夹 | 音频文件保存的位置 | 输出音频文件的存储路径 | 设置成"D:\我的语音"就保存到这个文件夹 |
3.6 Model Loader 节点(模型加载器)
这个节点就像一个工具箱管理员,负责加载和管理不同的语音模型。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型名称 | model_name | 下拉选择 | Spark-TTS-0.5B | 选择要使用的语音模型,就像选择不同的配音员 | 指定要加载的TTS模型文件 | 选择不同模型会有不同的音色和质量 |
| 设备类型 | device | cpu/cuda | cuda | 选择用什么硬件来运行,就像选择用普通电脑还是游戏电脑 | 模型运行的硬件设备 | cuda用显卡更快,cpu用处理器更稳定 |
| 自动卸载 | auto_unload | 开启/关闭 | 开启 | 不用时自动释放内存,就像自动关灯节电 | 是否在不使用时自动卸载模型 | 开启能节省内存,关闭加载更快 |
| 精度模式 | precision | float32/float16 | float16 | 选择计算精度,就像选择画质 | 模型运行的数值精度 | float16更省内存,float32更精确 |
| 缓存大小 | cache_size | 1-10 | 3 | 设置缓存的大小,就像设置内存条 | 模型缓存的大小限制 | 设置大一点加载更快,设置小一点省内存 |
4. 使用技巧和建议
4.1 音质优化技巧
- 参考音频选择:用作声音克隆的录音最好是3-10秒的清晰人声,没有背景音乐和杂音
- 文本优化:输入的文字最好使用标点符号,这样生成的语音停顿会更自然
- 参数调节:第一次使用建议用默认参数,熟练后再慢慢调整
4.2 性能优化建议
- 显卡使用:如果你有独立显卡,选择 cuda 设备会大大提高生成速度
- 内存管理:开启自动卸载可以节省内存,但会增加每次加载的时间
- 批量处理:如果要生成多个语音,可以一次性设置好再批量运行
4.3 创意使用方法
- 多语言混合:可以用不同语言的参考音频来生成多语种语音
- 情感表达:通过调节音调和语速来表达不同的情感
- 角色扮演:克隆不同的声音来为视频配音,创造多个角色
5. 常见问题解答
Q1:为什么生成的语音听起来机械?
A1:可能是以下原因:
- 参考音频质量不好,有杂音或背景音
- 文本没有标点符号,导致停顿不自然
- 温度参数设置太低,试试调高到0.8-0.9
Q2:声音克隆效果不像怎么办?
A2:尝试以下方法:
- 确保参考音频是清晰的人声,长度在5-10秒最佳
- 提高相似度参数到0.9以上
- 参考音频的内容最好和目标文本的语言一致
Q3:生成速度太慢怎么办?
A3:可以这样优化:
- 如果有独立显卡,选择cuda设备
- 减少最大长度参数,分段生成长文本
- 使用float16精度模式
Q4:录音节点无法使用?
A4:检查以下设置:
- 确保麦克风权限已开启
- 检查系统音频设备是否正常
- 尝试重启ComfyUI
Q5:模型加载失败怎么办?
A5:按以下步骤排查:
- 检查模型文件是否正确放置在TTS文件夹中
- 确保模型文件完整下载,没有损坏
- 检查是否有足够的内存和显存
6. 高级应用场景
6.1 视频配音制作
- 使用录音节点录制原声
- 用声音克隆节点生成其他角色的声音
- 配合视频编辑软件制作多角色对话
6.2 语音助手定制
- 录制你喜欢的声音作为参考
- 克隆这个声音
- 用于智能家居或个人助手应用
6.3 教育内容制作
- 录制教师的标准发音
- 批量生成教学音频
- 为不同课程内容配音
6.4 多语言内容制作
- 使用不同语言的参考音频
- 生成多语种版本的内容
- 保持同一个声音特色
通过这个详细的教程,你应该能够完全掌握ComfyUI_SparkTTS插件的使用方法。记住,最好的学习方法就是多实践,尝试不同的参数组合,找到最适合你需求的设置。如果遇到问题,可以先查看常见问题解答,或者到插件的GitHub页面寻求帮助。