1. 插件简介
ComfyUI-DiaTTS 是一个能让你在 ComfyUI 里面制作语音对话的神器!它就像一个虚拟配音员,可以根据你写的剧本生成多个角色的对话,还能模仿你上传的声音样本。
插件地址: https://github.com/BobRandomNumber/ComfyUI-DiaTTS
这个插件能帮你做什么:
- 制作多人对话:用[S1]、[S2]这样的标签来区分不同说话人
- 添加表情音效:比如(笑声)、(咳嗽)、(叹气)等生动的声音
- 声音克隆:上传一段音频,让AI模仿这个声音说新的话
- 生成44100Hz高质量音频,声音清晰自然
想象一下,这就像是一个超级厉害的配音工作室,你只需要写好剧本,选好声音样本,它就能帮你生成完整的对话音频!
2. 如何安装
第一步:下载模型文件
- 去这个网址下载语音模型:https://huggingface.co/nari-labs/Dia-1.6B/resolve/main/model.safetensors?download=true
- 下载完成后,把文件放到你的 ComfyUI 文件夹里的
models/diffusion_models/目录下 - 建议把文件重命名为
Dia-1.6B.safetensors,方便识别
第二步:安装插件
- 打开 ComfyUI 文件夹里的
custom_nodes目录 - 下载插件源码包并解压到这个目录里
- 或者用命令行:
git clone https://github.com/BobRandomNumber/ComfyUI-DiaTTS.git
第三步:安装依赖
- 打开命令行窗口
- 进入插件目录:
cd ComfyUI/custom_nodes/ComfyUI-DiaTTS - 运行安装命令:
pip install -r requirements.txt - 重启 ComfyUI
注意: 这个插件需要支持CUDA的显卡才能运行,就是那种专门用来玩游戏和跑AI的显卡。
3. 节点详解
3.1 Dia 1.6b Loader 节点 - 模型加载器
这个节点就像一个"模型管家",负责把语音生成的大脑(也就是AI模型)装载到内存里准备工作。你可以把它想象成开机启动一个配音软件。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| ckpt_name | ckpt_name | 下拉菜单显示.safetensors文件 | Dia-1.6B.safetensors | 这就像选择要用哪个配音员的声音库,每个文件代表一套完整的声音生成能力 | 选择预训练的Dia模型检查点文件,包含了模型的权重和参数 | 从列表中选择你下载的模型文件,通常是"Dia-1.6B.safetensors" |
输出:
dia_model:加载好的模型,就像一个准备好工作的配音员,要连接到生成节点才能开始制作语音
3.2 Dia TTS Generate 节点 - 语音生成器
这个节点是真正的语音制作工厂,它接收你写的剧本,然后生成对应的语音。就像一个超级智能的配音演员,能根据你的要求说出各种话。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| dia_model | dia_model | 从加载器传来的模型 | 连接Loader输出 | 这是刚才加载好的"配音员大脑",必须连接才能工作 | 接收DiaLoader节点输出的模型实例 | 用线连接Loader节点的dia_model输出到这里 |
| text | text | 文本输入框 | 你的剧本内容 | 这是你要让AI说的话,用[S1]、[S2]区分不同说话人,用()加表情 | 输入要转换为语音的文本,支持对话标签和非语言声音 | 输入:[S1] 你好![S2] 你也好!(笑声) |
| max_tokens | max_tokens | 数字,最大3072 | 1720 | 控制语音长度,数字越大生成的语音越长,就像设置录音时间上限 | 限制生成的音频令牌数量,直接影响输出音频的长度 | 短句子用1000,长对话用2500,最长不超过3072 |
| cfg_scale | cfg_scale | 小数,通常1.0-10.0 | 3.0 | 控制AI听话程度,数字越大越严格按照你的文字生成,越小越有创意发挥 | 分类器自由引导强度,影响生成内容对文本的遵循度 | 要求精确朗读用5.0,要自然表达用2.0-3.0 |
| temperature | temperature | 小数,通常0.1-2.0 | 1.3 | 控制语音的随机性,低了很死板,高了很随意,就像调节说话人的情绪波动 | 控制采样过程中的随机性,影响输出的多样性和创造性 | 机器人式朗读用0.7,自然对话用1.3,活泼聊天用1.8 |
| top_p | top_p | 小数,0.0-1.0 | 0.95 | 控制用词选择范围,数字越大选词越丰富,越小越保守 | 核采样概率阈值,限制词汇选择的范围 | 正式场合用0.8,日常对话用0.95,创意内容用0.98 |
| cfg_filter_top_k | cfg_filter_top_k | 整数,通常10-100 | 35 | 在精确控制时的词汇过滤数量,数字越小选择越精确 | CFG过程中的Top-K过滤参数,影响生成质量 | 要求精确发音用20,平衡质量用35,丰富表达用50 |
| speed_factor | speed_factor | 小数,通常0.5-2.0 | 0.94 | 调节说话速度,1.0是正常速度,小于1.0慢一些,大于1.0快一些 | 调整生成音频的播放速度倍数 | 慢速朗读用0.8,正常对话用0.94,快速播报用1.2 |
| seed | seed | 整数,任意数字 | 随机或固定数字 | 随机种子,相同的种子配相同的设置会生成相同的结果,用于重复实验 | 控制随机数生成的种子值,确保结果可重现 | 测试时用固定数字如12345,正式使用可以随机 |
| audio_prompt | audio_prompt | 音频输入(可选) | 可不连接 | 声音克隆用的样本,连接一段音频让AI模仿这个声音说新话 | 可选的音频条件输入,用于声音克隆和风格迁移 | 连接LoadAudio节点加载的音频文件 |
输出:
audio:生成的语音文件,44100Hz采样率,可以连接到保存或预览节点
4. 使用技巧和建议
基础对话制作技巧:
- 说话人标签:用[S1]、[S2]等标签区分不同角色,就像给每个演员分配台词
- 表情音效:支持这些表情音 - (笑声)、(咳嗽)、(叹气)、(喘气)、(咳嗽)、(唱歌)、(嘟哝)、(哼唱)、(鼓掌)、(尖叫)、(吸气)、(呼气)、(掌声)、(打嗝)、(哼唱)、(打喷嚏)、(轻笑)、(吹口哨)
声音克隆使用技巧:
- 准备样本:上传一段清晰的音频样本(wav或mp3格式)
- 写好对照:在文本框里先写上音频样本的准确台词,再写要生成的新内容
- 调整参数:适当降低temperature让声音更像样本,提高cfg_scale让内容更准确
参数调节建议:
- 日常对话:cfg_scale=3.0, temperature=1.3, top_p=0.95
- 正式朗读:cfg_scale=5.0, temperature=0.8, top_p=0.85
- 情感丰富:cfg_scale=2.5, temperature=1.5, top_p=0.98
5. 常见问题解答
Q1:提示需要CUDA显卡怎么办?
A1:这个插件必须用游戏显卡(NVIDIA显卡)才能运行,如果你的电脑没有,可以考虑使用云端ComfyUI服务。
Q2:生成的语音和文字内容不匹配?
A2:试试调高cfg_scale到4.0-5.0,让AI更严格按照文字内容生成。同时检查文字是否有拼写错误。
Q3:声音克隆效果不好?
A3:确保文本输入的开头部分是音频样本的准确台词,就像这样:"[S1] 这是我的声音样本内容 [S2] 现在请用这个声音说新的话"
Q4:音频太长或太短?
A4:调整max_tokens参数,短句子用1000-1500,长对话用2000-2500,最长不超过3072。
Q5:声音听起来很机械?
A5:适当提高temperature到1.3-1.5,让声音更自然。同时可以在文本中添加一些表情音效让对话更生动。
6. 实际应用场景
这个插件特别适合:
- 教学视频制作:为课程内容配音,制作对话式教学
- 故事创作:为小说、童话配音,制作有声读物
- 游戏开发:为游戏角色制作对话语音
- 广告制作:快速制作广告配音素材
- 个人创作:制作播客、有声日记等个人内容
总之,ComfyUI-DiaTTS 就像是给你的创作工具箱里添加了一个超级配音员,让你可以轻松制作出各种有趣的语音内容。记住最重要的是多试验不同的参数组合,找到最适合你需求的设置!