这是一个用于 ComfyUI 的自定义节点集成,当前支持 FireRedTTS‑2,并计划兼容更多 FireRedTTS 系列模型。它能够实现高质量、富有情感表达的多说话人对话与独白语音合成。该集成采用流式架构和上下文感知的韵律建模技术,支持自然的说话人切换与稳定的长文本生成,特别适合互动聊天和播客等应用场景。
cd ComfyUI/custom_nodes
git clone https://github.com/1038lab/ComfyUI-FireRedTTS.git
cd ComfyUI-FireRedTTS
pip install -r requirements.txt
首次使用时,系统将自动从 Hugging Face 下载 FireRedTTS2 模型:
ComfyUI\models\TTS\FireRedTTS2下载过程中会显示进度条。下载完成后,模型将被缓存以供后续使用。
生成多说话人的对话语音。
输入:
text_list(字符串):包含说话人标签的对话文本(如:[S1], [S2])temperature(浮点数):控制生成的随机性(0.1-2.0,默认值:0.9)topk(整数):控制采样范围(1-100,默认值:30)S1(音频,可选):说话人1的参考音频S1_text(字符串,可选):说话人1的参考文本S2(音频,可选):说话人2的参考音频S2_text(字符串,可选):说话人2的参考文本输出:
audio(音频):生成的对话语音sample_rate(整数):音频采样率(24000Hz)生成单说话人的独白语音。
输入:
text(字符串):输入文本内容temperature(浮点数):温度参数(0.1-2.0,默认值:0.75)topk(整数):TopK 参数(1-100,默认值:20)prompt_wav(字符串,可选):参考音频文件路径prompt_text(字符串,可选):参考文本内容输出:
audio(音频):生成的独白语音sample_rate(整数):音频采样率(24000Hz)在对话文本中使用方括号标记不同的说话人:
[S1]Hello, what a nice day![S2]Yes, perfect for a walk.[S1]Shall we go to the park?[S2]Great idea!
支持的说话人标签:
[S1] - 说话人1[S2] - 说话人2若使用声音克隆功能,请为每位说话人提供音频与文本:
说话人1 (S1):
S1 输入S1_text 字段输入参考文本说话人2 (S2):
S2 输入S2_text 字段输入参考文本text_list 输入:[S1]Welcome to our podcast![S2]Today we'll discuss AI development.[S1]That's a fascinating topic indeed.
3. 调整 temperature 和 topk 参数
4. 将音频输出连接至预览或保存节点
S1S1_text 中输入:This is a voice sample for speaker one
4. 将说话人2的参考音频连接至 S2
5. 在 S2_text 中输入:
This is a voice sample for speaker two
text 字段中输入长文本内容prompt_wav 与 prompt_text 用于声音克隆Q:模型下载失败 A:检查网络连接与 Hugging Face 的访问。尝试使用代理或镜像站点。
Q:CUDA 内存不足 A:
device="cpu" 以使用 CPU 模式Q:音频质量差 A:
Q:说话人标签无效 A:
Q:节点加载失败 A:
内存优化:
速度优化:
最低配置:
推荐配置:
若遇到问题,请确认以下几点:
如需了解更多技术细节,请参阅项目源码及 FireRedTTS2 官方文档。
如需将此内容导出为文档或进一步格式化为 Markdown、PDF 或其他形式,也可以告诉我!
$ claude mcp add ComfyUI-FireRedTTS \
-- python -m otcore.mcp_server <graph>