IndexTTS2 × ComfyUI 王炸上线,本地语音创作全面起飞!

IndexTTS2 与 ComfyUI 的结合,为本地语音创作带来了革命性的变化。这款强大的组合将彻底改变您创作语音内容的方式,让每个人都能轻松地在本地环境中制作出高质量的语音作品。
### IndexTTS2 简介
IndexTTS2 是一款先进的文本到语音(TTS)系统,它利用最新的深度学习技术,能够将文本内容实时转换为自然、流畅的语音。IndexTTS2 支持多种语言和语音风格,能够满足不同用户的需求。
### ComfyUI 简介
ComfyUI 是一个用户友好的界面,专为简化复杂工作流程而设计。它提供了直观的操作界面和丰富的功能,使得即使是没有技术背景的用户也能轻松上手。
### 王炸组合的优势
1. "本地化处理":IndexTTS2 与 ComfyUI 的结合,使得语音创作可以在本地环境中进行,无需依赖云端服务,保证了数据的安全性和隐私性。
2. "高效便捷":ComfyUI 的用户友好界面使得操作变得简单快捷,用户可以快速上手,无需复杂的学习过程。
3. "高质量输出":IndexTTS2 的先进技术确保了语音输出的高质量,无论是清晰度还是自然度,都能满足专业需求。
4. "多语言支持":支持多种语言和语音风格,满足不同用户的需求,无论是中文、英文还是其他语言,都能轻松处理。
5. "灵活定制":Comfy

相关内容:

Hello,诸位好久不见,我是AI姐儿。

工业级的语音合成王炸来了,那就是bilibili发布的IndexTTS2。是的,你没有听错,就是工业级的。相比较其开源中流行的 TTS 系统,例如 `Fish 语音,Cosyvoice2,FireredTTS 和 F5-TTS,Ind`,IndexTT2从语速控制、情感表达以及语音时长都实现了重大突破。有兴趣的小伙伴,可以先进行体验一下!

本文主要介绍了IndexTTS2的本地部署流程,包括插件下载、模型配置及ComfyUI工作流创建。通过自定义节点,用户可实现文本到语音转换,并支持情感调节功能。助力大家在自己电脑解锁更多的技能!

一、IndexTTS2 本地部署

由于ComfUI官方并没有像之前Qwen-image以及Huangyuan-image 一发布就及时的集成,目前如果想要本地实现IndexTTS2,需要自行进行开发以及配置,最终作为一个Custom_Node(自定义节点)集成到我们的工作流中。

1. 插件下载

ComfyUI-IndexTTS2 这是在github上开源的一个项目,该项目已经集成好了indextts2模型。我们只需要将项目下载,并配置到ComfyUI具有的目录就可以了。Let’s Go!

(1)将项目克隆到 本地的comfyui路径对应的custom_node的文件夹。

# Clone this repository to: ComfyUI/custom_nodes/
git clone https://github.com/snicolast/ComfyUI-IndexTTS2.git

(2)进入项目目录,安装python环境以及对应的依赖

pip install wetext
pip install -r requirements.txt

2. 模型下载及配置

众所众知,语音合成(TTS)系统往往都是模块化的,并不是一个模型就能从文字直接合成自然语音。通常会分成几个环节:文本/语义特征提取 (Feature Extraction)、语义编码 / 解码 (Semantic Codec)、声学建模 & 声码器 (Vocoder)、辅助模块(如 ASR/声学模型)等一系列模型的组合,才能达到一个很好的效果。因此除了IndexTTS2之外,我们还要部署其他模型。

(1)我们要把所有的模型都放在
custom_node/ComfyUI-IndexTTS2/checkpoints
文件夹下。其目录结构如下:

ComfyUI/custom_nodes/ComfyUI-IndexTTS2/checkpoints/
├── config.yaml
├── gpt.pth
├── s2mel.pth
├── bpe.model
├── feat1.pt
├── feat2.pt
├── wav2vec2bert_stats.pt
├── campplus_cn_common.bin
├── bigvgan/
│   ├── config.json
│   └── bigvgan_generator.pt
├── semantic_codec/
│   └── model.safetensors
├── qwen0.6bemo4-merge/          (required only for Text -> Emotion node)
│  └── 
└── w2v-bert-2.0/
    └── 

(2)所有相关模型的下载以及配置

  • W2V-BERT-2.0 特征提取器/模型(下载地址: https://huggingface.co/facebook/w2v-bert-2.0):
  • 下载整个存储库内容并将其放在: checkpoints/w2v-bert-2.0/
  • BigVGAN 声码器模型文件(下载地址:https://huggingface.co/nvidia/bigvgan_v2_22khz_80band_256x):
  • config.json → 存放位置: checkpoints/ bigvgan/ bigvgan_generator.pt → 放置于: checkpoints/bigvgan/
  • Semantic codec 模型文件下载:(download from: https://huggingface.co/amphion/MaskGCT/tree/main):
  • 下载文件: semantic_codec/model.safetensors → 放置于:checkpoints/semantic_codec/
  • CAMPPlus 说话人嵌入模型:(下载地址:https://huggingface.co/funasr/campplus/tree/main):
  • 下载文件: campplus_cn_common.bin → 放置在: checkpoints/
  • indexTTS2模型下载:https://modelscope.cn/models/IndexTeam/IndexTTS-2

至此,所有indextts的本地部署以及配置就先告一段落,我们在启动ComfyUI的时候,系统会自动加载 Custom_Node 节点

二、ComfyUI配置

1. 加载模型

打开ComfyUI,在管理界面,我们可以看到有自定义配置的功能操作。比如自定义节点管理、安装丢失的节点以及运行在工作流中的节点。我们可以先通过Custom Nodes Manager 看下刚才配置的节点有没有安装。


如下图所示,我这边已经安装过了,可以正常显示刚刚配置的ComfyUI-indexTTS2节点。正常情况下启动ComfyUI时就会加载我们刚才的本地配置,显示未安装状态,需要用户手动点击安装。这里就不给大家展示了具体操作了,安装的时候点击一下就行,然后重启ComfyUI重新加载资源。


注意:如上图通过搜indexTTS可能出来多个,一定要看好我们自定义配置的是哪个节点。最简单的方法可以根据Author进行判断。

2. 创建工作流

工作流的创建有两种方式,一种可以使用项目中提供的workflow样例,直接导入到ComfyUI中即可。第二个就是新建工作流,完成整个闭环的操作。下面我们就采用第二种,来完整的创建一个工作流。
工作流样例目录comfyuicustom_nodesComfyUI-IndexTTS2workflow_example

(1)加载自定义节点,通过上述安装之后,我们就可以在画布中,通过右键新建节点,然后选择到对应的节点名称。


这里我们选择“IndexTTS2 Simple” 简单版本该节点可以输入:音频(扬声器)、文本、情绪控制权重(0.0-1.0)、情绪音频(可选)、情绪向量(可选),主要的流程是:加载音频 -> IndexTTS2 简易版 -> 预览/保存音频,因此围绕该节点,我们可以进行多方面的配置。

(2)添加音频的输入以及输出节点

该节点主要可以让用户上传(load audio)以及预览(preview audio)、下载音频(save audio)。

(3)添加“emotion_vertor”节点。

IndexTTS情感向量(IndexTTS2 Emotion Vector):

  • 8 个滑块(0.0-1.4)分别表示:高兴、愤怒、悲伤、害怕、厌恶、忧郁、惊讶、平静
  • 约束:滑块总和必须小于等于 1.5(无自动缩放)
  • 输入: EMOTION_VECTOR 输出:EMOTION_VECTOR

(4)IndexTTS2 Emotion From Text 该节点可选择性添加,与IndexTTS2 Emotion Vector功能类似,主要作用是通过文本输入的方式,可以提取情感,悲伤还是喜悦等等。

输入:

“今天的天气灰蒙蒙的,我一个人在房间里发呆,心里觉得有点孤单“”。

通过模型这里使用的Qwen相关的模型,提取出来的就是:

“主要情绪是“孤独与轻微的忧伤”,几乎没有愤怒或恐惧成分。”

3. 体验结果

三、总结几种工作流程

  • IndexTTS2 Simple 基本工作流程:加载音频 -> IndexTTS2 简易版 -> 预览/保存音频
  • Vector emotion音频情绪:加载音频(扬声器)+加载音频(情绪)-> IndexTTS2 Simple -> 保存
  • Vector emotion矢量情感:IndexTTS2 情感矢量 -> IndexTTS2 简单 -> 保存
  • Text emotion文本情感:IndexTTS2 情感来自文本 -> IndexTTS2 简易 -> 保存

四. 资料

Huggingface体验地址
https://huggingface.co/spaces/IndexTeam/IndexTTS-2-Demo

ModelScope 体验地址
https://modelscope.cn/studios/IndexTeam/IndexTTS-2-Demo

示例: 每个DEMO中都有一些例子,可以进行测试。


至于更多的玩法我这边暂时就先不介绍的,最后给大家再推荐两个Github的开源项目,基本上都是结合ComfyUI-IndexTTS2来做的,并且支持多角色对话,体验并解锁更多的技能!

✨ 都已经看到这里,赶紧体验上手吧,与此同时也顺便点个赞+关注哦!!!

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章