ComfyUI-OmniVoice-TTS
ComfyUI 零样本多语言 TTS 节点插件,支持声音克隆、文字设计声音、多人对白,600+语言覆盖
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
ComfyUI 零样本多语言 TTS 节点插件,支持声音克隆、文字设计声音、多人对白,600+语言覆盖
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一个场景: 你是一名视频创作者,需要为一档多语言纪录片配音——主角的中文旁白需要沉稳有力,对话中的英文字幕需要地道自然,还要穿插一段法语的情感独白。传统方案要么找专业配音演员成本高昂,要么用通用 TTS 引擎质量参差不齐。ComfyUI-OmniVoice-TTS 正是为这类需求而生——它让你在熟悉的 ComfyUI 可视化工作流中,通过简单的节点连接,实现零样本声音克隆、文字描述声音设计和多说话人对白合成,支持 600+ 种语言,质量达到 SOTA 水准。
OmniVoice 是由 k2-fsa 团队开源的零样本多语言 TTS(Text-to-Speech)模型,底层基于改进的 Transformer 架构,在 HuggingFace 上的同名 Space 已获得大量用户验证。OmniVoice 的核心能力在于:只需 3~15 秒的参考音频,即可克隆出高度相似的声音;无需参考音频时,也可通过文字描述(性别、年龄、音调、口音等属性)生成合成声音。
然而,直接使用 OmniVoice 需要编写 Python 脚本、调用 API、管理模型下载和显存,对普通用户门槛较高。ComfyUI 作为 AI 生成领域最流行的可视化工作流平台,天然适合将 OmniVoice 的能力节点化——用户通过拖拽、连线即可完成复杂的语音合成任务,完全无需编写代码。Saganaki22 正是看准了这一机会,开发了这款 ComfyUI 扩展节点,目前版本 0.4.7,GitHub 获星 432 颗。
ComfyUI-OmniVoice-TTS 提供四个功能节点,共同构成完整的语音合成工作流:
这是最基础的节点,负责将长文本切分为合理的句子片段,逐段合成后拼接为完整音频。源码 omnivoice_tts.py 中实现了智能分句算法,能够识别 CJK(中日韩)、泰语、缅甸语等不使用空格分词的语言,自动按字符数阈值切分,同时在句子边界处断句,保证语义完整性。
关键实现:
pip install soundfile 或 soxr 的音频格式降级ProgressBar)支持只需提供一段参考音频,即可克隆该声音用于新文本的语音合成。参考音频长度 3~15 秒最佳,过短影响保真度,过长无额外收益。支持 language 参数指定目标语言,语言与参考音频语言匹配时效果最佳。
无需参考音频,通过文字描述创建合成声音。支持的属性维度包括:性别(male/female)、年龄(child/young/elderly)、音调(very low/low/medium/high/very high)、风格(whisper)、口音(american/british/australian/sichuan/shaanxi 等)。例如输入 "female, low pitch, british accent" 即可生成一位带有英伦口音的低沉女声。
通过 [Speaker_N]: 标签语法实现多人对白合成,最多支持 10 个说话人。multi_speaker_node.py 中使用正则解析标签,逐一处理每个说话人的片段,最终按顺序拼接为连续音频流。
model_cache.py 实现了一个全局线程锁的模型缓存系统,支持配置化的"保持加载"策略。核心设计包括:懒加载(首次使用时从 HuggingFace 下载)、CPU 卸载(合成完成后自动将模型移回 CPU 释放显存)、ComfyUI ModelPatcher 集成(获得完整的 VRAM 追踪能力)。
OmniVoice pip 包声明了 torch==2.8.* 依赖,但 ComfyUI 已管理自己的 PyTorch 版本(通常是 2.5+)。直接 pip install omnivoice 会降级 PyTorch 为 CPU 版,导致 ComfyUI 失去 GPU 加速。项目通过 --no-deps 参数安装 omnivoice 规避这一问题,然后单独安装缺失依赖,始终不触碰 ComfyUI 已管理的 torch/torchaudio/torchvision。install.py 中明确声明了这一原则,并提供了详细的 PyTorch 兼容性矩阵(支持 PyTorch 2.8.0/2.9.0/2.10.0 + CUDA 12.8/13.0)。
sage_attention_patch.py 和 sage_attention_v1/ 目录提供 SageAttention 支持,在兼容的 CUDA 架构(SM80+,即 RTX 30 系列及以上)上,通过无 mask 注意力内核实现显著加速。RTF(实时因子)最低可达 0.025,意味着比实时快 40 倍。
OmniVoice 支持丰富的内联标签来控制非语言表达:[laughter] 笑声、[sigh] 叹气、[sniff] 吸鼻子,以及两人对话中的笑声标签 MAN[laughter]WOMAN。这些标签可直接写在合成文本中,OmniVoice 模型会自动渲染对应的声音效果。
两种路径:ComfyUI Manager(推荐,一键安装自动处理依赖)或手动安装(git clone 后运行 python install.py)。
项目维护了详尽的中文故障排除文档,三个最常见问题:
① 只有 Whisper Loader 可见,其他节点全是红色: 根因是 omnivoice 包导入失败(通常是 transformers 版本过旧或缺少 soxr)。解决:升级 transformers + 安装 soxr,然后重启 ComfyUI。
② PyTorch CUDA 被破坏: 某个依赖包升级了 ComfyUI 管理的 PyTorch。解决:根据 pytorch_compatibility_matrix.md 找到对应版本的恢复命令重新安装。
③ 模型下载失败(中国大陆环境): HuggingFace 在部分地区访问受限。解决:设置 HF_ENDPOINT 镜像或使用代理。
| 规格 | 最低要求 | 推荐配置 |
|---|---|---|
| GPU | NVIDIA GPU | RTX 3090/4090 或更新 |
| 显存 | 6GB(全精度)/ 4GB(bf16量化) | 8GB+ |
| 内存 | 16GB | 32GB |
| 磁盘 | 5-10GB | SSD |
| 维度 | 评分 | 说明 |
|---|---|---|
| 代码质量 | ★★★★☆ | 架构清晰,注释详尽,但部分异常处理较宽泛 |
| 文档质量 | ★★★★★ | 中文文档覆盖完整,故障排除指南非常实用 |
| 维护活跃度 | ★★★★☆ | 版本更新频繁(0.4.7),issue 响应及时 |
| 工程设计 | ★★★★★ | --no-deps 策略完美解决依赖冲突,工程水平很高 |
| 创新性 | ★★★★☆ | 节点化封装是工程创新,底层模型非本项目原创 |
OmniVoice 模型在 2026 年 4 月的 arXiv 论文(arXiv:2604.00688)中正式发布,ComfyUI 节点在随后数周内迅速上线,目前保持每月多次小版本迭代。GitHub 432 颗星的体量在 ComfyUI 第三方节点中属于中等偏上,增长曲线(growth_trend_score: 77.47)相当可观。
从行业视角看,ComfyUI-OmniVoice-TTS 代表了一个趋势:专业 AI 模型正在加速向可视化工作流平台迁移。用户不再需要写代码,只需拖几个节点就能完成过去需要几百行脚本才能实现的功能。

图1:OmniVoice TTS 在 ComfyUI 中的典型工作流配置——包含模型加载节点、参考音频输入、文本输入和多说话人对白配置,通过可视化连线清晰展示整个语音合成管线的上下游关系。
总结:ComfyUI-OmniVoice-TTS 将 OmniVoice 的零样本多语言 TTS 能力以节点形式带入 ComfyUI 生态,
--no-deps依赖隔离策略堪称工程典范。适合需要快速生成多语言语音内容的创作者和开发者,有 NVIDIA 显卡即可上手。