VibeVoice-ComfyUI
ComfyUI 节点包:将微软 VibeVoice TTS 模型本地化接入 AI 工作流
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
ComfyUI 节点包:将微软 VibeVoice TTS 模型本地化接入 AI 工作流
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你花了一整晚调试完一套 AI 虚拟主播工作流——Stable Diffusion 生成画面、GPT-4 写文案、图片转视频——全部串联好了,唯独缺少配音。打开专业 DAW 太重,调用云端 TTS API 要钱又要网。此时,VibeVoice-ComfyUI 登场了:只需要往 ComfyUI 工作流里拖入一个节点,写入文字,语音就自动生成并流入下一个节点。全程本地运行,声音质量逼近真人。
这不是一个简单的语音合成脚本,而是一套经过精心封装的微软 VibeVoice 模型接入方案,让 AI 音频创作从「调用外部服务」变成「拖拽节点」的工作流操作。
VibeVoice 是微软研究院发布的开源文本转语音模型系列,基于 Transformer 架构,主打「一句话复刻声音」和「多说话人会话」两大能力。与传统的拼接 TTS(如 FFmpeg + eSpeak)不同,VibeVoice 采用扩散式声码器(Diffusion-based Vocoder),能生成自然度高、韵律真实的语音。
该项目由独立开发者 Fabio Sarracino(GitHub @enemyx)创建和维护,是对微软 VibeVoice 模型的一次 ComfyUI 生态适配。相比直接使用 Python API 调用 VibeVoice,这个节点包的优势在于:与图像生成、视频生成等其他模态的 AI 工具天然处于同一工作流中,无需切换工具和平台。
将本地 .txt 文件加载为字符串,作为语音生成的输入源。支持从 ComfyUI 的 input/output/temp 目录读取,适合超长文本(脚本、小说朗读等)场景。配合后端自动分chunk功能,长文本会被切分为 250 词一段,逐段生成再拼接。
单人 TTS 生成节点,是最核心的节点。输入文字,选择模型(支持 1.5B、Large、量化版),可选择性接入音频样本实现声音克隆。可调参数包括:
这个节点是整个包的技术核心,代码中嵌入了完整的 VibeVoice 模型推理逻辑(vvembed/ 目录),不依赖外部 API,是真正本地运行的实现。
多人会话节点,通过 [N]: 标签区分不同说话人(1-4人)。每个说话人可单独绑定一个声音克隆样本,实现「不同角色说不同话」的效果。适合有声书、播客、多角色对话视频等场景。推荐使用 VibeVoice-Large 模型以获得最佳多说话人质量。
显存释放节点。在复杂工作流中插入,用于在两个 VibeVoice 节点之间手动释放显存。对于需要在同一工作流中生成多段不同语音的场景(如有声书多章节),此节点能防止显存逐次累积最终导致 OOM。
LoRA 微调适配器配置节点。从 v1.4.0 引入,支持细粒度控制 LoRA 各组件强度(LLM、语言connector、扩散head、语义connector),并可通过 transformers==4.51.3 稳定运行。用户可以训练自己的声音 LoRA 来实现更精确的风格控制。
项目在 vvembed/ 目录下完整嵌入了 VibeVoice 的核心推理代码(包括 modular、processor、schedule、scripts 等子模块),不依赖任何外部 VibeVoice 包。这意味着安装此节点后即可完整使用微软模型的本地推理,无需额外交互。
对于显存有限的用户,项目提供了三种优化手段:
项目内置 MPS(Metal Performance Shaders)后端支持,在 M1/M2/M3 Mac 上可通过苹果统一内存架构运行推理,绕过 NVIDIA 显卡的限制。这对于 macOS 开发者或没有强大独显的用户来说非常实用。
通过 attention_type 参数,用户可以在 auto/eager/sdpa/flash_attention_2/sage 五种注意力实现中切换。SageAttention 是一个高效的 FlashAttention 替代实现,在特定场景下可带来显著加速。项目通过 try/except 优雅降级,无依赖时不报错。
VibeVoice-Large 模型体积约 18.7GB,VibeVoice-1.5B 约 5.4GB。加上其他依赖项,完整安装需要 20GB+ 磁盘空间。从 v1.6.0 起,模型不再自动下载,需要用户手动从 HuggingFace 下载并放到正确目录,这对新手有一定门槛。
项目支持加载第三方量化模型(Q8/Q4),但这些量化版本由社区用户(非微软)制作,其音质损失程度缺乏系统性评估。在生产环境中使用量化模型时,建议先做主观听感测试。
作为 ComfyUI 节点包,安装前提是已有运行中的 ComfyUI 实例。对于只想用 TTS、不想折腾整个图像生成平台的用户,这个包并不友好。
前置条件:
安装步骤:
cd ComfyUI/custom_nodes
git clone https://github.com/Enemyx-net/VibeVoice-ComfyUI
# 重启 ComfyUI,依赖自动安装
模型下载(必须):
从 HuggingFace 下载模型文件,放入 ComfyUI/models/vibevoice/ 目录:
| 模型 | 大小 | 用途 |
|---|---|---|
| VibeVoice-1.5B | ~5.4GB | 单人快速原型 |
| VibeVoice-Large | ~18.7GB | 最高质量生产 |
| VibeVoice-Large-Q8 | ~11.6GB | 12GB VRAM 均衡方案 |
| VibeVoice-Large-Q4 | ~6.6GB | 8GB VRAM 最低门槛 |
还需下载 Qwen2.5-1.5B Tokenizer 文件到 ComfyUI/models/vibevoice/tokenizer/。
开始使用: 刷新浏览器,在 ComfyUI 节点列表中找到 VibeVoice 相关节点,拖入画布,连接文本输入或文本文件节点即可生成语音。
VibeVoice-ComfyUI 的出现,反映了 AI 工具生态的一个重要趋势:多模态 AI 工具的节点化。过去,音频生成需要单独的 API 调用或 Python 脚本;现在,语音合成不过是工作流中的一个节点,与图像生成、视频生成共享同一套调度和缓存机制。
这个项目的 star 曲线(当前 1500+)也印证了社区对「本地化、多模态工作流」工具的强烈需求。随着开源 TTS 模型质量不断提升,类似这样的中间层适配工具将会越来越多,最终让 AI 音频创作像搭积木一样简单。
项目链接: https://github.com/Enemyx-net/VibeVoice-ComfyUI
作者: Fabio Sarracino
许可: MIT License