[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-chenpipi0807--ComfyUI-Index-TTS":3,"tool-chenpipi0807--ComfyUI-Index-TTS":64},[4,18,26,39,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,2,"2026-04-10T01:20:03",[13,14,15,16],"插件","Agent","图像","开发框架","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[13,16],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":10,"last_commit_at":32,"category_tags":33,"status":17},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85092,"2026-04-10T11:13:16",[15,34,35,13,14,36,37,16,38],"数据工具","视频","其他","语言模型","音频",{"id":40,"name":41,"github_repo":42,"description_zh":43,"stars":44,"difficulty_score":45,"last_commit_at":46,"category_tags":47,"status":17},7525,"codex","openai\u002Fcodex","Codex 是 OpenAI 推出的一款轻量级编程智能体，专为在终端环境中高效运行而设计。它允许开发者直接在命令行界面与 AI 交互，完成代码生成、调试、重构及项目维护等任务，无需频繁切换至浏览器或集成开发环境，从而显著提升了编码流程的连贯性与专注度。\n\n这款工具主要解决了传统 AI 辅助编程中上下文割裂的问题。通过将智能体本地化运行，Codex 能够更紧密地结合当前工作目录的文件结构，提供更具针对性的代码建议，同时支持以自然语言指令驱动复杂的开发操作，让“对话即编码”成为现实。\n\nCodex 非常适合习惯使用命令行的软件工程师、全栈开发者以及技术研究人员。对于追求极致效率、偏好键盘操作胜过图形界面的极客用户而言，它更是理想的结对编程伙伴。\n\n其独特亮点在于灵活的部署方式：既可作为全局命令行工具通过 npm 或 Homebrew 一键安装，也能无缝对接现有的 ChatGPT 订阅计划（如 Plus 或 Pro），直接复用账户权益。此外，它还提供了从纯文本终端到桌面应用的多形态体验，并支持基于 API 密钥的深度定制，充分满足不同场景下的开发需求。",75220,1,"2026-04-14T14:40:34",[37,14,13],{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":10,"last_commit_at":54,"category_tags":55,"status":17},51,"gstack","garrytan\u002Fgstack","gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置，旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战，gstack 提供了一套标准化解决方案，帮助开发者实现堪比二十人团队的高效产出。\n\n这套配置特别适合希望提升交付效率的创始人、技术负责人，以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具，涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令（如 `\u002Freview` 进行代码审查、`\u002Fqa` 执行测试、`\u002Fplan-ceo-review` 规划功能），即可自动化处理从需求分析到部署上线的全链路任务。\n\n所有操作基于 Markdown 和斜杠命令，无需复杂配置，完全免费且遵循 MIT 协议。gstack 不仅是一套工具集，更是一种现代化的软件工厂实践，让单人开发者也能拥有严谨的工程流程。",73213,"2026-04-15T23:08:54",[14,13],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":17},6520,"openai-cookbook","openai\u002Fopenai-cookbook","openai-cookbook 是 OpenAI 官方提供的一套实用代码示例与指南合集，旨在帮助开发者快速上手并掌握 OpenAI API 的核心用法。面对大模型应用中常见的提示词工程、函数调用、数据嵌入及复杂任务编排等挑战，新手往往难以找到标准化的实现路径。openai-cookbook 通过提供经过验证的代码片段和详细教程，有效解决了“如何从零开始构建应用”以及“如何最佳实践特定功能”的痛点。\n\n这套资源主要面向软件开发者和 AI 技术研究人员，同时也适合希望深入理解大模型能力的技术爱好者。虽然示例代码主要以 Python 编写，但其背后的设计思路和技术逻辑具有通用性，可轻松迁移至其他编程语言。其独特亮点在于内容紧跟官方最新特性更新，覆盖了从基础文本生成到高级代理（Agent）构建的全场景需求，且所有示例均支持在本地环境直接运行调试。作为开源项目，它采用宽松的 MIT 许可证，鼓励社区贡献与二次开发，是学习大模型应用开发不可或缺的实战手册。",72659,"2026-04-10T21:55:21",[37,13],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":79,"owner_url":80,"languages":81,"stars":98,"forks":99,"last_commit_at":100,"license":79,"difficulty_score":101,"env_os":102,"env_gpu":103,"env_ram":104,"env_deps":105,"category_tags":116,"github_topics":79,"view_count":10,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":117,"updated_at":118,"faqs":119,"releases":159},8035,"chenpipi0807\u002FComfyUI-Index-TTS","ComfyUI-Index-TTS","使用IndexTTS模型在ComfyUI中实现高质量文本到语音转换的自定义节点。支持中文和英文文本，可以基于参考音频复刻声音特征。","ComfyUI-Index-TTS 是一款专为 ComfyUI 设计的高质量文本转语音（TTS）扩展节点，基于先进的 IndexTTS 模型打造。它核心解决了传统 TTS 工具在情感表达和声音复刻上的不足，支持中英文双语输入，并能通过参考音频精准还原说话人的音色特征，甚至能细致地复刻情绪状态。\n\n该工具最大的技术亮点在于其灵活的工作流设计。最新版本将功能拆分为基础合成、参考音频情绪复刻、情绪向量控制及文本情绪描述四个独立节点，用户可根据需求自由组合，实现从“读稿机器”到“富有情感的真人演绎”的跨越。此外，它深度集成了 Qwen 情绪分类、CampPlus 说话人嵌入及 BigVGAN 声码器等前沿技术，确保了生成语音的自然度与表现力。\n\nComfyUI-Index-TTS 非常适合希望在可视化工作流中构建复杂语音应用的开发者、需要定制化配音方案的内容创作者，以及研究语音合成技术的专业人员。对于熟悉 ComfyUI 操作的用户而言，它能轻松融入现有的自动化流程，为视频制作、有声书生成或虚拟角色对话提供极具表现力的声音解决方案。需要注意的是，使用前需按指引配置多个模型文件，建议具备一定技术","ComfyUI-Index-TTS 是一款专为 ComfyUI 设计的高质量文本转语音（TTS）扩展节点，基于先进的 IndexTTS 模型打造。它核心解决了传统 TTS 工具在情感表达和声音复刻上的不足，支持中英文双语输入，并能通过参考音频精准还原说话人的音色特征，甚至能细致地复刻情绪状态。\n\n该工具最大的技术亮点在于其灵活的工作流设计。最新版本将功能拆分为基础合成、参考音频情绪复刻、情绪向量控制及文本情绪描述四个独立节点，用户可根据需求自由组合，实现从“读稿机器”到“富有情感的真人演绎”的跨越。此外，它深度集成了 Qwen 情绪分类、CampPlus 说话人嵌入及 BigVGAN 声码器等前沿技术，确保了生成语音的自然度与表现力。\n\nComfyUI-Index-TTS 非常适合希望在可视化工作流中构建复杂语音应用的开发者、需要定制化配音方案的内容创作者，以及研究语音合成技术的专业人员。对于熟悉 ComfyUI 操作的用户而言，它能轻松融入现有的自动化流程，为视频制作、有声书生成或虚拟角色对话提供极具表现力的声音解决方案。需要注意的是，使用前需按指引配置多个模型文件，建议具备一定技术动手能力的用户尝试。","## 免责声明\r\n\r\n本项目基于B站开源项目进行二次开发，由本人对项目进行了ComfyUI的实现，并进行了部分功能优化与调整与进阶功能的开发。然而，需要强调的是，本项目严禁用于任何非法目的以及与侵犯版权相关的任何行为！本项目仅用于开源社区内的交流与学习，以促进技术共享与创新，旨在为开发者提供有益的参考和学习资源。\r\n\r\n在此郑重声明，本项目所有个人使用行为与开发者本人及本项目本身均无任何关联。开发者对于项目使用者的行为不承担任何责任，使用者应自行承担使用过程中可能产生的所有风险和法律责任。请广大使用者在遵守法律法规及相关规定的前提下，合理、合法地使用本项目，维护开源社区的良好秩序与健康发展。\r\n\r\n感谢您的理解与支持！\r\n\r\n\r\n# ComfyUI-Index-TTS\r\n\r\n使用IndexTTS模型在ComfyUI中实现高质量文本到语音转换的自定义节点。支持中文和英文文本，可以基于参考音频复刻声音特征。\r\n\r\n![示例截图1](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_c730188ae733.png)\r\n![示例截图2](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_b1b0db77e455.png)\r\n![微信截图_20250605215845](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_59c7e8d9e87e.png)\r\n\r\n\r\n\r\n## 最新更新（重要）\r\n\r\n本项目已新增对 IndexTTS-2（简称 TTS2）的支持，并将功能拆分为四个核心节点，方便在 ComfyUI 中按需组合：\r\n基础工作流已更新，详见.\u002Fworkflow\u002FTTS2.json.\r\n会有一些BUG，欢迎反馈。功能基本复刻了原版IndexTTS，关于功能建议欢迎交流。\r\n\r\n- Index TTS 2 - Base（基础合成）\r\n- Index TTS 2 - Emotion Audio（基于参考音频情绪复刻）\r\n- Index TTS 2 - Emotion Vector（基于情绪向量复刻）\r\n- Index TTS 2 - Emotion Text（基于情绪文本复刻）\r\n\r\n\u003Cimg width=\"3090\" height=\"1389\" alt=\"image\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_4dd0df855431.png\" \u002F>\r\n\r\n\r\nTTS2 模型下载与放置位置（全部放到 `.\u002FComfyUI\u002Fmodels\u002FIndexTTS-2\u002F`）：\r\n\r\n1) 基础模型\r\n   - 页面：[TTS2](https:\u002F\u002Fhuggingface.co\u002FIndexTeam\u002FIndexTTS-2\u002Ftree\u002Fmain)\r\n   - 放置：`.\\ComfyUI\\models\\IndexTTS-2`\r\n\r\n2) qwen 模型（情绪分类）\r\n   - 页面：[IndexTTS-2\u002Fqwen0.6bemo4-merge](https:\u002F\u002Fhuggingface.co\u002FIndexTeam\u002FIndexTTS-2\u002Ftree\u002Fmain\u002Fqwen0.6bemo4-merge)\r\n   - 放置：`.\\ComfyUI\\models\\IndexTTS-2\\qwen0.6bemo4-merge\\`\r\n\r\n3) semantic codec（MaskGCT 语义编码器）\r\n   - 页面：[https:\u002F\u002Fhuggingface.co\u002Famphion\u002FMaskGCT\u002Ftree\u002Fmain\u002Fsemantic_codec](https:\u002F\u002Fhuggingface.co\u002Famphion\u002FMaskGCT\u002Ftree\u002Fmain\u002Fsemantic_codec)\r\n   - 直链：[https:\u002F\u002Fhuggingface.co\u002Famphion\u002FMaskGCT\u002Fresolve\u002Fmain\u002Fsemantic_codec\u002Fmodel.safetensors](https:\u002F\u002Fhuggingface.co\u002Famphion\u002FMaskGCT\u002Fresolve\u002Fmain\u002Fsemantic_codec\u002Fmodel.safetensors)\r\n   - 放置：`.\\ComfyUI\\models\\IndexTTS-2\\semantic_codec\\model.safetensors`\r\n\r\n4) CampPlus 说话人嵌入\r\n   - 页面：[https:\u002F\u002Fhuggingface.co\u002Ffunasr\u002Fcampplus](https:\u002F\u002Fhuggingface.co\u002Ffunasr\u002Fcampplus)\r\n   - 直链：[https:\u002F\u002Fhuggingface.co\u002Ffunasr\u002Fcampplus\u002Fresolve\u002Fmain\u002Fcampplus_cn_common.bin](https:\u002F\u002Fhuggingface.co\u002Ffunasr\u002Fcampplus\u002Fresolve\u002Fmain\u002Fcampplus_cn_common.bin)\r\n   - 放置：`.\\ComfyUI\\models\\IndexTTS-2\\campplus_cn_common.bin`\r\n\r\n5) Wav2Vec2Bert 特征提取器（facebook\u002Fw2v-bert-2.0）\r\n   - 页面：[https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fw2v-bert-2.0\u002Ftree\u002Fmain](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fw2v-bert-2.0\u002Ftree\u002Fmain)\r\n   - 放置（离线优先）：`.\\ComfyUI\\models\\IndexTTS-2\\w2v-bert-2.0\\`（整个仓库文件夹，包含 `config.json`、`model.safetensors`、`preprocessor_config.json` 等）\r\n   - 若未放置本地文件夹，将自动下载到 HF 缓存：`.\\ComfyUI\\models\\IndexTTS-2\\hf_cache\\`\r\n\r\n6) BigVGAN 声码器\r\n   - 名称读取自 `config.yaml` 的 `vocoder.name`（示例：`nvidia\u002Fbigvgan_v2_22khz_80band_256x`）\r\n   - 建议：提前将对应模型完整缓存到 `.\\ComfyUI\\models\\IndexTTS-2\\bigvgan\\` 内\r\n\r\n7) 其他本地直读文件（需与 `config.yaml` 一致）：\r\n   - `gpt.pth`（`cfg.gpt_checkpoint`）\r\n   - `s2mel.pth`（`cfg.s2mel_checkpoint`）\r\n   - `bpe.model`（`cfg.dataset.bpe_model`）\r\n   - `wav2vec2bert_stats.pt`（`cfg.w2v_stat`）\r\n   - 语义编码配置（如 `repcodec.json`，若需要，`cfg.semantic_codec`）\r\n   - `emo_matrix`（例如 `feat2.pt`）\r\n   - `spk_matrix`（例如 `feat1.pt`）\r\n   - `qwen0.6bemo4-merge\\`（`cfg.qwen_emo_path` 指定目录）\r\n\r\n示例目录结构（部分）：\r\n\r\n```text\r\nComfyUI\u002Fmodels\u002FIndexTTS-2\u002F\r\n│  .gitattributes\r\n│  bpe.model\r\n│  campplus_cn_common.bin\r\n│  config.yaml\r\n│  feat1.pt\r\n│  feat2.pt\r\n│  gpt.pth\r\n│  README.md\r\n│  s2mel.pth\r\n│  wav2vec2bert_stats.pt\r\n│\r\n├─bigvgan\r\n│  └─bigvgan_v2_22khz_80band_256x\r\n│          .gitattributes\r\n│          .gitignore\r\n│          activations.py\r\n│          bigvgan.py\r\n│          bigvgan_discriminator_optimizer.pt\r\n│          bigvgan_discriminator_optimizer_3msteps.pt\r\n│          bigvgan_generator.pt\r\n│          bigvgan_generator_3msteps.pt\r\n│          config.json\r\n│          env.py\r\n│          LICENSE\r\n│          meldataset.py\r\n│          README.md\r\n│          utils.py\r\n│\r\n├─hf_cache\r\n├─qwen0.6bemo4-merge\r\n│      added_tokens.json\r\n│      chat_template.jinja\r\n│      config.json\r\n│      generation_config.json\r\n│      merges.txt\r\n│      model.safetensors\r\n│      Modelfile\r\n│      special_tokens_map.json\r\n│      tokenizer.json\r\n│      tokenizer_config.json\r\n│      vocab.json\r\n│\r\n├─semantic_codec\r\n│      model.safetensors\r\n│\r\n└─w2v-bert-2.0\r\n        .gitattributes\r\n        config.json\r\n        conformer_shaw.pt\r\n        model.safetensors\r\n        preprocessor_config.json\r\n        README.md\r\n```\r\n\r\n> 提示：若你只使用旧版 IndexTTS\u002FIndexTTS-1.5，可忽略上述 TTS2 模型放置步骤。\r\n\r\n### 一键下载脚本（推荐）\r\n\r\n- 脚本位置：`ComfyUI\u002Fcustom_nodes\u002FComfyUI-Index-TTS\u002FTTS2_download.py`\r\n- 作用：自动下载并放置上述所有 TTS2 所需模型文件，支持断点续传、国内镜像（HF_ENDPOINT=hf-mirror.com）、本地缓存（HF_HOME=.\u002FComfyUI\u002Fmodels\u002FIndexTTS-2\u002Fhf_cache）。\r\n- 脚本使用时，可能会存在国内镜像设置不成功的问题，可直接在控制台设置环境变量：Windows Powershell `$env:HF_ENDPOINT = \"https:\u002F\u002Fhf-mirror.com\"`,linux `export HF_ENDPOINT=https:\u002F\u002Fhf-mirror.com`\r\n\r\n```powershell\r\npython .\\ComfyUI\\custom_nodes\\ComfyUI-Index-TTS\\TTS2_download.py\r\n```\r\n\r\n- 运行后根据提示选择 2 使用国内镜像（默认）或 1 使用官方源。\r\n- 依赖：`huggingface_hub`（必须）；可选加速：`hf_transfer`、`hf_xet`。\r\n\r\n```powershell\r\npython -m pip install -U huggingface_hub\r\n# 可选加速：\r\npython -m pip install -U hf_transfer\r\npython -m pip install -U \"huggingface_hub[hf_xet]\"\r\n```\r\n\r\n### 显存\u002F缓存控制（新功能）\r\n\r\n- 新增节点：`Index TTS 2 - Cache Control`\r\n  - 输出：`cache_control`（类型：DICT），包含 `{\"keep_cached\": true\u002Ffalse}`。\r\n  - 用法：将该输出连到以下任一\u002F多个节点的 `cache_control` 输入上：\r\n    - `Index TTS 2 - Base`\r\n    - `Index TTS 2 - Emotion Audio`\r\n    - `Index TTS 2 - Emotion Vector`\r\n    - `Index TTS 2 - Emotion Text`\r\n\r\n- 行为说明：\r\n  - 关闭（默认）：本次推理结束后自动卸载 TTS2 模型并清理 CUDA 缓存，降低显存驻留峰值，适合 12GB 显卡日常使用。\r\n  - 开启：保留已加载的权重（尽量驻留，视环境\u002F模式），连续多次生成更快，但显存占用更高。调参批量测试时可临时打开，用完关闭。\r\n\r\n## 功能特点\r\n\r\n- 支持中文和英文文本合成\r\n- 基于参考音频复刻声音特征（变声功能）\r\n- 支持调节语速（原版不支持后处理实现效果会有一点折损）\r\n- 多种音频合成参数控制\r\n- Windows兼容（无需额外依赖）\r\n\r\n\r\n## 废话两句\r\n\r\n- 生成的很快，真的很快！而且竟然也很像！！！\r\n- 效果很好，感谢小破站的开源哈哈哈哈哈 \r\n- 如果你想体验一下效果 附赠道友B站的传送阵[demo](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FIndexTeam\u002FIndexTTS)\r\n- 如果你不知道去哪找音频，那我建议你去[隔壁](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1AyB3egmr0hAKp0CScI0eXJaUdVccArGB)偷哈哈哈哈哈\r\n\r\n## 演示案例\r\n\r\n以下是一些实际使用效果演示：\r\n\r\n| 参考音频 | 输入文本 | 推理结果 |\r\n|---------|---------|---------|\r\n| \u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F5e8cb570-242f-4a16-8472-8a64a23183fb\">\u003C\u002Fvideo> | 我想把钉钉的自动回复设置成\"服务器繁忙，请稍后再试\"，仅对老板可见。  我想把钉钉的自动回复设置成\"服务器繁忙，请稍后再试\"，仅对老板可见。 | \u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fd8b89db3-5cf5-406f-b930-fa75d13ff0bd\">\u003C\u002Fvideo> |\r\n| \u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F8e774223-e0f7-410b-ae4e-e46215e47e96\">\u003C\u002Fvideo> | 我想把钉钉的自动回复设置成\"服务器繁忙，请稍后再试\"，仅对老板可见。 | \u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6e3e63ed-2d3d-4d5a-bc2e-b42530748fa0\">\u003C\u002Fvideo> |\r\n\r\n- 长文本测试：\r\n\r\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6bfa35dc-1a30-4da0-a4dc-ac3def25452b\">\u003C\u002Fvideo>\r\n\r\n- 多角色小说测试：\r\n\r\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6d4737f4-9d75-431e-bb11-fe3e86a4ab0e\">\u003C\u002Fvideo>\r\n\r\n\r\n\r\n## 更新日志\r\n\r\n### 2025-12-18\r\n\r\n- **修复多个社区反馈问题**：\r\n  - 老节点 `Index TTS` 现已支持 IndexTTS-2 模型 (#121)\r\n  - 新增 `Index TTS 2 Pro (小说多角色)` 节点，支持 TTS 2.0 多角色小说朗读 (#111)\r\n  - 修复 tensor 尺寸不匹配随机报错问题 (#122)\r\n  - 支持 w2v-bert-2.0 本地离线加载，无需联网 (#72\u002F#113)\r\n  - 适配 transformers 4.50+ 版本 API 变化 (#117)\r\n  - 更新 safetensors 版本要求 (#123)\r\n  - 新增 README 常见问题解答 (FAQ) 部分\r\n\r\n### 2025-06-24\r\n\r\n- pro节点新增了对于字幕的json输出，感谢@qy8502提供的玩法思路\r\n\r\n![image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_fdcc2619ad5f.png)\r\n\r\n\r\n### 2025-06-05\r\n\r\n- 改进了小说文本解析器（Novel Text Parser）的功能\r\n  - 增加了对预格式化文本的检测和处理\r\n  - 优化了对话检测和角色识别算法\r\n  - 改进了中文角色名称的识别\r\n  - 支持引号中的对话自动识别\r\n\r\n## 多角色小说文本解析\r\n\r\n本项目包含一个专门用于解析小说文本的节点（Novel Text Structure Node），可以将普通小说文本解析为多角色对话结构，以便生成更加自然的多声音TTS效果。\r\n\r\n### 使用说明\r\n\r\n- 节点会尝试自动识别小说中的角色对话和旁白部分\r\n- 对话部分会标记为`\u003CCharacterX>`形式（X为数字，最多支持5个角色）\r\n- 旁白部分会标记为`\u003CNarrator>`\r\n- 解析后的文本可直接用于多声音TTS生成\r\n\r\n### 局限性\r\n\r\n- 当前解析算法并不完美，复杂的小说结构可能导致错误的角色识别\r\n- 对于重要文本，建议使用LLM（如GPT等）手动拆分文本为以下格式：\r\n\r\n```\r\n\u003CNarrator>少女此时就站在院墙那边，她有一双杏眼，怯怯弱弱。\u003C\u002FNarrator>\r\n\u003CNarrator>院门那边，有个嗓音说：\u003C\u002FNarrator>\r\n\u003CCharacter1>\"你这婢女卖不卖？\"\u003C\u002FCharacter1>\r\n\u003CNarrator>宋集薪愣了愣，循着声音转头望去，是个眉眼含笑的锦衣少年，站在院外，一张全然陌生的面孔。\u003C\u002FNarrator>\r\n\u003CNarrator>锦衣少年身边站着一位身材高大的老者，面容白皙，脸色和蔼，轻轻眯眼打量着两座毗邻院落的少年少女。\u003C\u002FNarrator>\r\n\u003CNarrator>老者的视线在陈平安一扫而过，并无停滞，但是在宋集薪和婢女身上，多有停留，笑意渐渐浓郁。\u003C\u002FNarrator>\r\n\u003CNarrator>宋集薪斜眼道：\u003C\u002FNarrator>\r\n\u003CCharacter2>\"卖！怎么不卖！\"\u003C\u002FCharacter2>\r\n\u003CNarrator>那少年微笑道：\u003C\u002FNarrator>\r\n\u003CCharacter1>\"那你说个价。\"\u003C\u002FCharacter1>\r\n\u003CNarrator>少女瞪大眼眸，满脸匪夷所思，像一头惊慌失措的年幼麋鹿。\u003C\u002FNarrator>\r\n\u003CNarrator>宋集薪翻了个白眼，伸出一根手指，晃了晃，\u003C\u002FNarrator>\r\n\u003CCharacter2>\"白银一万两！\"\u003C\u002FCharacter2>\r\n\u003CNarrator>锦衣少年脸色如常，点头道：\u003C\u002FNarrator>\r\n\u003CCharacter1>\"好。\"\u003C\u002FCharacter1>\r\n\u003CNarrator>宋集薪见那少年不像是开玩笑的样子，连忙改口道：\u003C\u002FNarrator>\r\n\u003CCharacter2>\"是黄金万两！\"\u003C\u002FCharacter2>\r\n\u003CNarrator>锦衣少年嘴角翘起，道：\u003C\u002FNarrator>\r\n\u003CCharacter1>\"逗你玩的。\"\u003C\u002FCharacter1>\r\n\u003CNarrator>宋集薪脸色阴沉。\u003C\u002FNarrator>\r\n```\r\n\r\n### 示例用法\r\n\r\n1. 将小说文本输入到 Novel Text Structure 节点\r\n2. 连接输出到 Index TTS Pro 节点\r\n3. 设置不同角色的语音\r\n4. 运行工作流生成多声音小说朗读\r\n5. 实在不会看我最新增加的工作流\r\n6. 如果你想在comfyui中一站式完成这个，我推荐你使用各类的llm节点，比如[kimichat](https:\u002F\u002Fgithub.com\u002Fchenpipi0807\u002FPIP_KIMI2comfyui)\r\n7. 我也提供了一段llm提示词模板，你可以在llm_prompt模板.txt中看到他\r\n\r\n\r\n### 2025-05-18\r\n\r\n- 优化了长期以来transformers库4.50+版本的API变化与原始IndexTTS模型代码不兼容导致的生成报错问题\r\n\r\n\r\n### 2025-05-16\r\n\r\n- 新增对**IndexTTS-1.5**模型的支持\r\n  - 现在可以在UI中通过下拉菜单切换不同版本的模型\r\n  - 支持原始的Index-TTS和新的IndexTTS-1.5模型\r\n  - 切换模型时会自动加载相应版本，无需重启ComfyUI\r\n \r\n  ![微信截图_20250516182957](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_4cf1faeff83f.png)\r\n  \r\n\r\n### 2025-05-11\r\n- 增加了seed功能，现在linux也可以重复执行抽卡了\r\n- 增加了对 Apple Silicon MPS 设备的检测（仍需测试反馈~）\r\n\r\n\r\n### 2025-04-23\r\n\r\n![微信截图_20250423175608](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_ea9c2abd3b9f.png)\r\n\r\n\r\n- 新增 **Audio Cleaner** 节点，用于处理TTS输出音频中的混响和杂音问题\r\n  - 该节点可以连接在 Index TTS 节点之后，优化生成音频的质量\r\n  - 主要功能：去除混响、降噪、频率滤波和音频归一化\r\n  - 适用于处理有杂音或混响问题的TTS输出\r\n\r\n- 修复了对于transformers版本强依赖的问题\r\n\r\n#### Audio Cleaner 参数说明\r\n\r\n**必需参数**：：\r\n- **audio**: 输入音频（通常为 Index TTS 节点的输出）\r\n- **denoise_strength**: 降噪强度（0.1-1.0，默认0.5）\r\n  - 值越大，降噪效果越强，但可能影响语音自然度\r\n- **dereverb_strength**: 去混响强度（0.0-1.0，默认0.7）\r\n  - 值越大，去混响效果越强，适合处理在回声环境下录制的参考音频\r\n\r\n**可选参数**：：\r\n- **high_pass_freq**: 高通滤波器频率（20-500Hz，默认100Hz）\r\n  - 用于过滤低频噪音，如环境嗡嗡声\r\n- **low_pass_freq**: 低通滤波器频率（1000-16000Hz，默认8000Hz）\r\n  - 用于过滤高频噪音\r\n- **normalize**: 是否归一化音频（\"true\"或\"false\"，默认\"true\"）\r\n  - 开启可使音量更均衡\r\n\r\n#### 使用建议\r\n\r\n- 对于有明显混响的音频，将 `dereverb_strength` 设置为 0.7-0.9\r\n- 对于有背景噪音的音频，将 `denoise_strength` 设置为 0.5-0.8\r\n- 如果处理后音频听起来不自然，尝试减小 `dereverb_strength` 和 `denoise_strength`\r\n- 高通和低通滤波器可以微调以获得最佳人声效果\r\n\r\n\r\n### 2025-04-25\r\n- 优化了阿拉伯数字的发音判断问题；可以参考这个case使用：“4 0 9 0”会发音四零九零，“4090”会发音四千零九十； \r\n\r\n\r\n### 2025-04-26\r\n- 优化英文逗号导致吞字的问题；\r\n\r\n\r\n### 2025-04-29\r\n- 修正了语言模式切换en的时候4090依然读中文的问题，auto现在会按照中英文占比确定阿拉伯数字读法\r\n- 新增了从列表读取音频的方法，同时新增了一些音色音频供大家玩耍；你可以将自己喜欢的音频放入 ComfyUI-Index-TTS\\TimbreModel 里，当然也很鼓励你能把好玩的声音分享出来。\r\n- 示例用法如图：\r\n\r\n![微信截图_20250429112255](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_66b2eafc775d.png)\r\n\r\n\r\n## 安装\r\n\r\n### 安装节点\r\n\r\n1. 将此代码库克隆或下载到ComfyUI的`custom_nodes`目录：\r\n\r\n   ```bash\r\n   cd ComfyUI\u002Fcustom_nodes\r\n   git clone https:\u002F\u002Fgithub.com\u002Fchenpipi0807\u002FComfyUI-Index-TTS.git\r\n   ```\r\n\r\n2. 安装依赖： 安装依赖：\r\n\r\n   ```bash\r\n   cd ComfyUI-Index-TTS\r\n   .\\python_embeded\\python.exe -m pip install -r requirements.txt\r\n\r\n   git pull # 更新很频繁你可能需要\r\n   ```\r\n\r\n### 下载模型\r\n\r\n#### 原始版本 (Index-TTS)\r\n\r\n1. 从[Hugging Face](https:\u002F\u002Fhuggingface.co\u002FIndexTeam\u002FIndex-TTS\u002Ftree\u002Fmain)或者[魔搭](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FIndexTeam\u002FIndex-TTS)下载IndexTTS模型文件\r\n2. 将模型文件放置在`ComfyUI\u002Fmodels\u002FIndex-TTS`目录中（如果目录不存在，请创建）\r\n3. 模型文件夹结构：\r\n   \r\n   ```\r\n   ComfyUI\u002Fmodels\u002FIndex-TTS\u002F\r\n   ├── .gitattributes\r\n   ├── bigvgan_discriminator.pth\r\n   ├── bigvgan_generator.pth\r\n   ├── bpe.model\r\n   ├── config.yaml\r\n   ├── configuration.json\r\n   ├── dvae.pth\r\n   ├── gpt.pth\r\n   ├── README.md\r\n   └── unigram_12000.vocab\r\n   ```\r\n   \r\n   确保所有文件都已完整下载，特别是较大的模型文件如`bigvgan_discriminator.pth`(1.6GB)和`gpt.pth`(696MB)。\r\n\r\n#### 新版本 (IndexTTS-1.5)\r\n\r\n1. 从[Hugging Face](https:\u002F\u002Fhuggingface.co\u002FIndexTeam\u002FIndexTTS-1.5\u002Ftree\u002Fmain)下载IndexTTS-1.5模型文件\r\n2. 将模型文件放置在`ComfyUI\u002Fmodels\u002FIndexTTS-1.5`目录中（如果目录不存在，请创建）\r\n3. 模型文件夹结构与Index-TTS基本相同，但文件大小和内容会有所不同：\r\n   \r\n   ```\r\n   ComfyUI\u002Fmodels\u002FIndexTTS-1.5\u002F\r\n   ├── .gitattributes\r\n   ├── bigvgan_discriminator.pth\r\n   ├── bigvgan_generator.pth\r\n   ├── bpe.model\r\n   ├── config.yaml\r\n   ├── configuration.json\r\n   ├── dvae.pth\r\n   ├── gpt.pth\r\n   ├── README.md\r\n   └── unigram_12000.vocab\r\n   ```\r\n\r\n## 使用方法\r\n\r\n1. 在ComfyUI中，找到并添加`Index TTS`节点\r\n2. 连接参考音频输入（AUDIO类型）\r\n3. 输入要转换为语音的文本\r\n4. 调整参数（语言、语速等）\r\n5. 运行工作流获取生成的语音输出\r\n\r\n### 示例工作流\r\n\r\n项目包含一个基础工作流示例，位于`workflow\u002Fworkflow.json`，您可以在ComfyUI中通过导入此文件来快速开始使用。\r\n\r\n## 参数说明\r\n\r\n### 必需参数\r\n\r\n- **text**: 要转换为语音的文本（支持中英文）\r\n- **reference_audio**: 参考音频，模型会复刻其声音特征\r\n- **model_version**: 模型版本选择，可选项：\r\n  - `Index-TTS`: 原始模型版本（默认）\r\n  - `IndexTTS-1.5`: 新版本模型\r\n- **language**: 文本语言选择，可选项：\r\n  - `auto`: 自动检测语言（默认）\r\n  - `zh`: 强制使用中文模式\r\n  - `en`: 强制使用英文模式\r\n- **speed**: 语速因子（0.5~2.0，默认1.0）\r\n\r\n### 可选参数\r\n\r\n以下参数适用于高级用户，用于调整语音生成质量和特性：\r\n\r\n- **temperature** (默认1.0): 控制生成随机性，较高的值增加多样性但可能降低稳定性\r\n- **top_p** (默认0.8): 采样时考虑的概率质量，降低可获得更准确但可能不够自然的发音\r\n- **top_k** (默认30): 采样时考虑的候选项数量\r\n- **repetition_penalty** (默认10.0): 重复内容的惩罚系数\r\n- **length_penalty** (默认0.0): 生成内容长度的调节因子\r\n- **num_beams** (默认3): 束搜索的宽度，增加可提高质量但降低速度\r\n- **max_mel_tokens** (默认600): 最大音频token数量\r\n- **sentence_split** (默认auto): 句子拆分方式\r\n\r\n## 音色优化建议\r\n\r\n要提高音色相似度：\r\n\r\n- 使用高质量的参考音频（清晰、无噪音）\r\n- 尝试调整`temperature`参数（0.7-0.9范围内效果较好）\r\n- 增加`repetition_penalty`（10.0-12.0）可以提高音色一致性\r\n- 对于长文本，确保`max_mel_tokens`足够大\r\n\r\n## 故障排除\r\n\r\n### 常见问题解答 (FAQ)\r\n\r\n#### Q: w2v-bert-2.0 加载失败 \u002F 401 Unauthorized 错误 (#72\u002F#113)\r\n\r\n**问题**: 运行时提示 `401 Client Error: Unauthorized for url: https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fw2v-bert-2.0`\r\n\r\n**解决方案**: \r\n1. 下载 w2v-bert-2.0 模型到本地：从 [HuggingFace](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fw2v-bert-2.0\u002Ftree\u002Fmain) 下载所有文件\r\n2. 放置到 `ComfyUI\u002Fmodels\u002FIndexTTS-2\u002Fw2v-bert-2.0\u002F` 目录\r\n3. 确保目录包含 `config.json`、`model.safetensors`、`preprocessor_config.json` 等文件\r\n4. 重启 ComfyUI，插件会自动使用本地模型，无需联网\r\n\r\n#### Q: transformers 版本不兼容 (#117)\r\n\r\n**问题**: 使用 transformers>=4.57.1 版本后 TTS2 无法使用\r\n\r\n**解决方案**: \r\n- 推荐使用 `transformers==4.52.1` 或 `transformers==4.54.1`\r\n- 安装命令: `pip install transformers==4.52.1`\r\n- 本插件已适配 transformers 4.50+ 版本的 API 变化\r\n\r\n#### Q: SafeTensorFile 没有 get_slice 属性 (#123)\r\n\r\n**问题**: `AttributeError: 'SafeTensorFile' object has no attribute 'get_slice'`\r\n\r\n**解决方案**: \r\n- 升级 safetensors 到最新版本: `pip install safetensors --upgrade`\r\n- 确保版本 >= 0.4.3\r\n\r\n#### Q: tensor 尺寸不匹配随机报错 (#122)\r\n\r\n**问题**: 随机出现 `RuntimeError: Sizes of tensors must match except in dimension 1`\r\n\r\n**解决方案**: \r\n- 此问题已在最新版本中修复\r\n- 请更新插件到最新版本: `git pull`\r\n\r\n#### Q: Python 3.13 \u002F pynini 安装失败 (#125)\r\n\r\n**问题**: Ubuntu 24 + Python 3.13 环境下 pynini 编译失败\r\n\r\n**解决方案**: \r\n- pynini 目前不支持 Python 3.13\r\n- 建议使用 Python 3.10 或 3.11\r\n- Windows 用户不需要 pynini，可以忽略此错误\r\n\r\n#### Q: 老节点不支持 IndexTTS-2 模型 (#121)\r\n\r\n**解决方案**: \r\n- 最新版本已支持！在 `Index TTS` 节点的 `model_version` 下拉菜单中选择 `IndexTTS-2` 即可\r\n- 也可以使用新的 `Index TTS 2 Pro (小说多角色)` 节点进行多角色小说朗读\r\n\r\n#### Q: TTS 2.0 读小说功能 (#111)\r\n\r\n**解决方案**: \r\n- 新增了 `Index TTS 2 Pro (小说多角色)` 节点\r\n- 支持多角色语音合成，可配合 `小说文本结构化` 节点使用\r\n- 支持最多 5 个角色 + 旁白\r\n\r\n### 其他常见问题\r\n\r\n- 如果出现\"模型加载失败\"，检查模型文件是否完整且放置在正确目录\r\n- 对于Windows用户，无需额外安装特殊依赖，节点已优化\r\n- 如果显示CUDA错误，尝试重启ComfyUI或减少`num_beams`值\r\n- 如果你是pytorch2.7运行报错，短期无法适配，请尝试降级方案(.\\python_embeded\\python.exe -m pip install transformers==4.48.3)\r\n\r\n\r\n\r\n## 鸣谢\r\n\r\n- 基于原始[IndexTTS](https:\u002F\u002Fgithub.com\u002Findex-tts\u002Findex-tts)模型\r\n- 感谢ComfyUI社区的支持\r\n- 感谢使用！\r\n- \r\n\r\n## 许可证\r\n\r\n请参考原始IndexTTS项目许可证。\r\n\r\n\r\n\r\n\r\n","## 免责声明\n\n本项目基于B站开源项目进行二次开发，由本人对项目进行了ComfyUI的实现，并进行了部分功能优化与调整与进阶功能的开发。然而，需要强调的是，本项目严禁用于任何非法目的以及与侵犯版权相关的任何行为！本项目仅用于开源社区内的交流与学习，以促进技术共享与创新，旨在为开发者提供有益的参考和学习资源。\n\n在此郑重声明，本项目所有个人使用行为与开发者本人及本项目本身均无任何关联。开发者对于项目使用者的行为不承担任何责任，使用者应自行承担使用过程中可能产生的所有风险和法律责任。请广大使用者在遵守法律法规及相关规定的前提下，合理、合法地使用本项目，维护开源社区的良好秩序与健康发展。\n\n感谢您的理解与支持！\n\n\n# ComfyUI-Index-TTS\n\n使用IndexTTS模型在ComfyUI中实现高质量文本到语音转换的自定义节点。支持中文和英文文本，可以基于参考音频复刻声音特征。\n\n![示例截图1](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_c730188ae733.png)\n![示例截图2](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_b1b0db77e455.png)\n![微信截图_20250605215845](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_59c7e8d9e87e.png)\n\n\n\n## 最新更新（重要）\n\n本项目已新增对 IndexTTS-2（简称 TTS2）的支持，并将功能拆分为四个核心节点，方便在 ComfyUI 中按需组合：\n基础工作流已更新，详见.\u002Fworkflow\u002FTTS2.json.\n会有一些BUG，欢迎反馈。功能基本复刻了原版IndexTTS，关于功能建议欢迎交流。\n\n- Index TTS 2 - Base（基础合成）\n- Index TTS 2 - Emotion Audio（基于参考音频情绪复刻）\n- Index TTS 2 - Emotion Vector（基于情绪向量复刻）\n- Index TTS 2 - Emotion Text（基于情绪文本复刻）\n\n\u003Cimg width=\"3090\" height=\"1389\" alt=\"image\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_4dd0df855431.png\" \u002F>\n\n\nTTS2 模型下载与放置位置（全部放到 `.\u002FComfyUI\u002Fmodels\u002FIndexTTS-2\u002F`）：\n\n1) 基础模型\n   - 页面：[TTS2](https:\u002F\u002Fhuggingface.co\u002FIndexTeam\u002FIndexTTS-2\u002Ftree\u002Fmain)\n   - 放置：`.\\ComfyUI\\models\\IndexTTS-2`\n\n2) qwen 模型（情绪分类）\n   - 页面：[IndexTTS-2\u002Fqwen0.6bemo4-merge](https:\u002F\u002Fhuggingface.co\u002FIndexTeam\u002FIndexTTS-2\u002Ftree\u002Fmain\u002Fqwen0.6bemo4-merge)\n   - 放置：`.\\ComfyUI\\models\\IndexTTS-2\\qwen0.6bemo4-merge\\`\n\n3) semantic codec（MaskGCT 语义编码器）\n   - 页面：[https:\u002F\u002Fhuggingface.co\u002Famphion\u002FMaskGCT\u002Ftree\u002Fmain\u002Fsemantic_codec](https:\u002F\u002Fhuggingface.co\u002Famphion\u002FMaskGCT\u002Ftree\u002Fmain\u002Fsemantic_codec)\n   - 直链：[https:\u002F\u002Fhuggingface.co\u002Famphion\u002FMaskGCT\u002Fresolve\u002Fmain\u002Fsemantic_codec\u002Fmodel.safetensors](https:\u002F\u002Fhuggingface.co\u002Famphion\u002FMaskGCT\u002Fresolve\u002Fmain\u002Fsemantic_codec\u002Fmodel.safetensors)\n   - 放置：`.\\ComfyUI\\models\\IndexTTS-2\\semantic_codec\\model.safetensors`\n\n4) CampPlus 说话人嵌入\n   - 页面：[https:\u002F\u002Fhuggingface.co\u002Ffunasr\u002Fcampplus](https:\u002F\u002Fhuggingface.co\u002Ffunasr\u002Fcampplus)\n   - 直链：[https:\u002F\u002Fhuggingface.co\u002Ffunasr\u002Fcampplus\u002Fresolve\u002Fmain\u002Fcampplus_cn_common.bin](https:\u002F\u002Fhuggingface.co\u002Ffunasr\u002Fcampplus\u002Fresolve\u002Fmain\u002Fcampplus_cn_common.bin)\n   - 放置：`.\\ComfyUI\\models\\IndexTTS-2\\campplus_cn_common.bin`\n\n5) Wav2Vec2Bert 特征提取器（facebook\u002Fw2v-bert-2.0）\n   - 页面：[https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fw2v-bert-2.0\u002Ftree\u002Fmain](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fw2v-bert-2.0\u002Ftree\u002Fmain)\n   - 放置（离线优先）：`.\\ComfyUI\\models\\IndexTTS-2\\w2v-bert-2.0\\`（整个仓库文件夹，包含 `config.json`、`model.safetensors`、`preprocessor_config.json` 等）\n   - 若未放置本地文件夹，将自动下载到 HF 缓存：`.\\ComfyUI\\models\\IndexTTS-2\\hf_cache\\`\n\n6) BigVGAN 声码器\n   - 名称读取自 `config.yaml` 的 `vocoder.name`（示例：`nvidia\u002Fbigvgan_v2_22khz_80band_256x`）\n   - 建议：提前将对应模型完整缓存到 `.\\ComfyUI\\models\\IndexTTS-2\\bigvgan\\` 内\n\n7) 其他本地直读文件（需与 `config.yaml` 一致）：\n   - `gpt.pth`（`cfg.gpt_checkpoint`）\n   - `s2mel.pth`（`cfg.s2mel_checkpoint`）\n   - `bpe.model`（`cfg.dataset.bpe_model`）\n   - `wav2vec2bert_stats.pt`（`cfg.w2v_stat`）\n   - 语义编码配置（如 `repcodec.json`，若需要，`cfg.semantic_codec`）\n   - `emo_matrix`（例如 `feat2.pt`）\n   - `spk_matrix`（例如 `feat1.pt`）\n   - `qwen0.6bemo4-merge\\`（`cfg.qwen_emo_path` 指定目录）\n\n示例目录结构（部分）：\n\n```text\nComfyUI\u002Fmodels\u002FIndexTTS-2\u002F\n│  .gitattributes\n│  bpe.model\n│  campplus_cn_common.bin\n│  config.yaml\n│  feat1.pt\n│  feat2.pt\n│  gpt.pth\n│  README.md\n│  s2mel.pth\n│  wav2vec2bert_stats.pt\n│\n├─bigvgan\n│  └─bigvgan_v2_22khz_80band_256x\n│          .gitattributes\n│          .gitignore\n│          activations.py\n│          bigvgan.py\n│          bigvgan_discriminator_optimizer.pt\n│          bigvgan_discriminator_optimizer_3msteps.pt\n│          bigvgan_generator.pt\n│          bigvgan_generator_3msteps.pt\n│          config.json\n│          env.py\n│          LICENSE\n│          meldataset.py\n│          README.md\n│          utils.py\n│\n├─hf_cache\n├─qwen0.6bemo4-merge\n│      added_tokens.json\n│      chat_template.jinja\n│      config.json\n│      generation_config.json\n│      merges.txt\n│      model.safetensors\n│      Modelfile\n│      special_tokens_map.json\n│      tokenizer.json\n│      tokenizer_config.json\n│      vocab.json\n│\n├─semantic_codec\n│      model.safetensors\n│\n└─w2v-bert-2.0\n        .gitattributes\n        config.json\n        conformer_shaw.pt\n        model.safetensors\n        preprocessor_config.json\n        README.md\n```\n\n\n> 提示：若你只使用旧版 IndexTTS\u002FIndexTTS-1.5，可忽略上述 TTS2 模型放置步骤。\n\n### 一键下载脚本（推荐）\n\n- 脚本位置：`ComfyUI\u002Fcustom_nodes\u002FComfyUI-Index-TTS\u002FTTS2_download.py`\n- 作用：自动下载并放置上述所有 TTS2 所需模型文件，支持断点续传、国内镜像（HF_ENDPOINT=hf-mirror.com）、本地缓存（HF_HOME=.\u002FComfyUI\u002Fmodels\u002FIndexTTS-2\u002Fhf_cache）。\n- 脚本使用时，可能会存在国内镜像设置不成功的问题，可直接在控制台设置环境变量：Windows Powershell `$env:HF_ENDPOINT = \"https:\u002F\u002Fhf-mirror.com\"`,linux `export HF_ENDPOINT=https:\u002F\u002Fhf-mirror.com`\n\n```powershell\npython .\\ComfyUI\\custom_nodes\\ComfyUI-Index-TTS\\TTS2_download.py\n```\n\n- 运行后根据提示选择 2 使用国内镜像（默认）或 1 使用官方源。\n- 依赖：`huggingface_hub`（必须）；可选加速：`hf_transfer`、`hf_xet`。\n\n```powershell\npython -m pip install -U huggingface_hub\n# 可选加速：\npython -m pip install -U hf_transfer\npython -m pip install -U \"huggingface_hub[hf_xet]\"\n```\n\n\n### 显存\u002F缓存控制（新功能）\n\n- 新增节点：`Index TTS 2 - Cache Control`\n  - 输出：`cache_control`（类型：DICT），包含 `{\"keep_cached\": true\u002Ffalse}`。\n  - 用法：将该输出连到以下任一\u002F多个节点的 `cache_control` 输入上：\n    - `Index TTS 2 - Base`\n    - `Index TTS 2 - Emotion Audio`\n    - `Index TTS 2 - Emotion Vector`\n    - `Index TTS 2 - Emotion Text`\n\n- 行为说明：\n  - 关闭（默认）：本次推理结束后自动卸载 TTS2 模型并清理 CUDA 缓存，降低显存驻留峰值，适合 12GB 显卡日常使用。\n  - 开启：保留已加载的权重（尽量驻留，视环境\u002F模式），连续多次生成更快，但显存占用更高。调参批量测试时可临时打开，用完关闭。\n\n## 功能特点\n\n- 支持中文和英文文本合成\n- 基于参考音频复刻声音特征（变声功能）\n- 支持调节语速（原版不支持后处理实现效果会有一点折损）\n- 多种音频合成参数控制\n- Windows兼容（无需额外依赖）\n\n\n## 废话两句\n\n- 生成的很快，真的很快！而且竟然也很像！！！\n- 效果很好，感谢小破站的开源哈哈哈哈哈 \n- 如果你想体验一下效果 附赠道友B站的传送阵[demo](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FIndexTeam\u002FIndexTTS)\n- 如果你不知道去哪找音频，那我建议你去[隔壁](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1AyB3egmr0hAKp0CScI0eXJaUdVccArGB)偷哈哈哈哈哈\n\n## 演示案例\n\n以下是一些实际使用效果演示：\n\n| 参考音频 | 输入文本 | 推理结果 |\n|---------|---------|---------|\n| \u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F5e8cb570-242f-4a16-8472-8a64a23183fb\">\u003C\u002Fvideo> | 我想把钉钉的自动回复设置成\"服务器繁忙，请稍后再试\"，仅对老板可见。  我想把钉钉的自动回复设置成\"服务器繁忙，请稍后再试\"，仅对老板可见。 | \u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fd8b89db3-5cf5-406f-b930-fa75d13ff0bd\">\u003C\u002Fvideo> |\n| \u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F8e774223-e0f7-410b-ae4e-e46215e47e96\">\u003C\u002Fvideo> | 我想把钉钉的自动回复设置成\"服务器繁忙，请稍后再试\"，仅对老板可见。 | \u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6e3e63ed-2d3d-4d5a-bc2e-b42530748fa0\">\u003C\u002Fvideo> |\n\n- 长文本测试：\n\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6bfa35dc-1a30-4da0-a4dc-ac3def25452b\">\u003C\u002Fvideo>\n\n- 多角色小说测试：\n\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6d4737f4-9d75-431e-bb11-fe3e86a4ab0e\">\u003C\u002Fvideo>\n\n\n\n## 更新日志\n\n### 2025年12月18日\n\n- **修复多个社区反馈问题**：\n  - 老节点 `Index TTS` 现已支持 IndexTTS-2 模型 (#121)\n  - 新增 `Index TTS 2 Pro (小说多角色)` 节点，支持 TTS 2.0 多角色小说朗读 (#111)\n  - 修复 tensor 尺寸不匹配随机报错问题 (#122)\n  - 支持 w2v-bert-2.0 本地离线加载，无需联网 (#72\u002F#113)\n  - 适配 transformers 4.50+ 版本 API 变化 (#117)\n  - 更新 safetensors 版本要求 (#123)\n  - 新增 README 常见问题解答 (FAQ) 部分\n\n### 2025年6月24日\n\n- pro节点新增了对于字幕的json输出，感谢@qy8502提供的玩法思路\n\n![image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_fdcc2619ad5f.png)\n\n\n### 2025年6月5日\n\n- 改进了小说文本解析器（Novel Text Parser）的功能\n  - 增加了对预格式化文本的检测和处理\n  - 优化了对话检测和角色识别算法\n  - 改进了中文角色名称的识别\n  - 支持引号中的对话自动识别\n\n## 多角色小说文本解析\n\n本项目包含一个专门用于解析小说文本的节点（Novel Text Structure Node），可以将普通小说文本解析为多角色对话结构，以便生成更加自然的多声音TTS效果。\n\n### 使用说明\n\n- 节点会尝试自动识别小说中的角色对话和旁白部分\n- 对话部分会标记为`\u003CCharacterX>`形式（X为数字，最多支持5个角色）\n- 旁白部分会标记为`\u003CNarrator>`\n- 解析后的文本可直接用于多声音TTS生成\n\n### 局限性\n\n- 当前解析算法并不完美，复杂的小说结构可能导致错误的角色识别\n- 对于重要文本，建议使用LLM（如GPT等）手动拆分文本为以下格式：\n\n``` \n\u003CNarrator>少女此时就站在院墙那边，她有一双杏眼，怯怯弱弱。\u003C\u002FNarrator>\n\u003CNarrator>院门那边，有个嗓音说：\u003C\u002FNarrator>\n\u003CCharacter1>\"你这婢女卖不卖？\"\u003C\u002FCharacter1>\n\u003CNarrator>宋集薪愣了愣，循着声音转头望去，是个眉眼含笑的锦衣少年，站在院外，一张全然陌生的面孔。\u003C\u002FNarrator>\n\u003CNarrator>锦衣少年身边站着一位身材高大的老者，面容白皙，脸色和蔼，轻轻眯眼打量着两座毗邻院落的少年少女。\u003C\u002FNarrator>\n\u003CNarrator>老者的视线在陈平安一扫而过，并无停滞，但是在宋集薪和婢女身上，多有停留，笑意渐渐浓郁。\u003C\u002FNarrator>\n\u003CNarrator>宋集薪斜眼道：\u003C\u002FNarrator>\n\u003CCharacter2>\"卖！怎么不卖！\"\u003C\u002FCharacter2>\n\u003CNarrator>那少年微笑道：\u003C\u002FNarrator>\n\u003CCharacter1>\"那你说个价。\"\u003C\u002FCharacter1>\n\u003CNarrator>少女瞪大眼眸，满脸匪夷所思，像一头惊慌失措的年幼麋鹿。\u003C\u002FNarrator>\n\u003CNarrator>宋集薪翻了个白眼，伸出一根手指，晃了晃，\u003C\u002FNarrator>\n\u003CCharacter2>\"白银一万两！\"\u003C\u002FCharacter2>\n\u003CNarrator>锦衣少年脸色如常，点头道：\u003C\u002FNarrator>\n\u003CCharacter1>\"好。\"\u003C\u002FCharacter1>\n\u003CNarrator>宋集薪见那少年不像是开玩笑的样子，连忙改口道：\u003C\u002FNarrator>\n\u003CCharacter2>\"是黄金万两！\"\u003C\u002FCharacter2>\n\u003CNarrator>锦衣少年嘴角翘起，道：\u003C\u002FNarrator>\n\u003CCharacter1>\"逗你玩的。\"\u003C\u002FCharacter1>\n\u003CNarrator>宋集薪脸色阴沉。\u003C\u002FNarrator>\n```\n\n### 示例用法\n\n1. 将小说文本输入到 Novel Text Structure 节点\n2. 连接输出到 Index TTS Pro 节点\n3. 设置不同角色的语音\n4. 运行工作流生成多声音小说朗读\n5. 实在不会看我最新增加的工作流\n6. 如果你想在comfyui中一站式完成这个，我推荐你使用各类的llm节点，比如[kimichat](https:\u002F\u002Fgithub.com\u002Fchenpipi0807\u002FPIP_KIMI2comfyui)\n7. 我也提供了一段llm提示词模板，你可以在llm_prompt模板.txt中看到他\n\n\n### 2025年5月18日\n\n- 优化了长期以来transformers库4.50+版本的API变化与原始IndexTTS模型代码不兼容导致的生成报错问题\n\n\n### 2025年5月16日\n\n- 新增对**IndexTTS-1.5**模型的支持\n  - 现在可以在UI中通过下拉菜单切换不同版本的模型\n  - 支持原始的Index-TTS和新的IndexTTS-1.5模型\n  - 切换模型时会自动加载相应版本，无需重启ComfyUI\n \n  ![微信截图_20250516182957](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_4cf1faeff83f.png)\n  \n\n### 2025年5月11日\n- 增加了seed功能，现在linux也可以重复执行抽卡了\n- 增加了对 Apple Silicon MPS 设备的检测（仍需测试反馈~）\n\n\n### 2025年4月23日\n\n![微信截图_20250423175608](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_ea9c2abd3b9f.png)\n\n\n- 新增 **Audio Cleaner** 节点，用于处理TTS输出音频中的混响和杂音问题\n  - 该节点可以连接在 Index TTS 节点之后，优化生成音频的质量\n  - 主要功能：去除混响、降噪、频率滤波和音频归一化\n  - 适用于处理有杂音或混响问题的TTS输出\n\n- 修复了对于transformers版本强依赖的问题\n\n#### Audio Cleaner 参数说明\n\n**必需参数**：：\n- **audio**: 输入音频（通常为 Index TTS 节点的输出）\n- **denoise_strength**: 降噪强度（0.1-1.0，默认0.5）\n  - 值越大，降噪效果越强，但可能影响语音自然度\n- **dereverb_strength**: 去混响强度（0.0-1.0，默认0.7）\n  - 值越大，去混响效果越强，适合处理在回声环境下录制的参考音频\n\n**可选参数**：：\n- **high_pass_freq**: 高通滤波器频率（20-500Hz，默认100Hz）\n  - 用于过滤低频噪音，如环境嗡嗡声\n- **low_pass_freq**: 低通滤波器频率（1000-16000Hz，默认8000Hz）\n  - 用于过滤高频噪音\n- **normalize**: 是否归一化音频（\"true\"或\"false\"，默认\"true\"）\n  - 开启可使音量更均衡\n\n#### 使用建议\n\n- 对于有明显混响的音频，将 `dereverb_strength` 设置为 0.7-0.9\n- 对于有背景噪音的音频，将 `denoise_strength` 设置为 0.5-0.8\n- 如果处理后音频听起来不自然，尝试减小 `dereverb_strength` 和 `denoise_strength`\n- 高通和低通滤波器可以微调以获得最佳人声效果\n\n\n### 2025年4月25日\n- 优化了阿拉伯数字的发音判断问题；可以参考这个case使用：“4 0 9 0”会发音四零九零，“4090”会发音四千零九十； \n\n\n### 2025年4月26日\n- 优化英文逗号导致吞字的问题；\n\n\n### 2025年4月29日\n- 修正了语言模式切换en的时候4090依然读中文的问题，auto现在会按照中英文占比确定阿拉伯数字读法\n- 新增了从列表读取音频的方法，同时新增了一些音色音频供大家玩耍；你可以将自己喜欢的音频放入 ComfyUI-Index-TTS\\TimbreModel 里，当然也很鼓励你能把好玩的声音分享出来。\n- 示例用法如图：\n\n![微信截图_20250429112255](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_readme_66b2eafc775d.png)\n\n\n## 安装\n\n### 安装节点\n\n1. 将此代码库克隆或下载到ComfyUI的`custom_nodes`目录：\n\n   ```bash\n   cd ComfyUI\u002Fcustom_nodes\n   git clone https:\u002F\u002Fgithub.com\u002Fchenpipi0807\u002FComfyUI-Index-TTS.git\n   ```\n\n2. 安装依赖： 安装依赖：\n\n   ```bash\n   cd ComfyUI-Index-TTS\n   .\\python_embeded\\python.exe -m pip install -r requirements.txt\n\n   git pull # 更新很频繁你可能需要\n   ```\n\n### 下载模型\n\n#### 原始版本 (Index-TTS)\n\n1. 从[Hugging Face](https:\u002F\u002Fhuggingface.co\u002FIndexTeam\u002FIndex-TTS\u002Ftree\u002Fmain)或者[魔搭](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FIndexTeam\u002FIndex-TTS)下载IndexTTS模型文件\n2. 将模型文件放置在`ComfyUI\u002Fmodels\u002FIndex-TTS`目录中（如果目录不存在，请创建）\n3. 模型文件夹结构：\n\n   ```\n   ComfyUI\u002Fmodels\u002FIndex-TTS\u002F\n   ├── .gitattributes\n   ├── bigvgan_discriminator.pth\n   ├── bigvgan_generator.pth\n   ├── bpe.model\n   ├── config.yaml\n   ├── configuration.json\n   ├── dvae.pth\n   ├── gpt.pth\n   ├── README.md\n   └── unigram_12000.vocab\n   ```\n\n   确保所有文件都已完整下载，特别是较大的模型文件如`bigvgan_discriminator.pth`(1.6GB)和`gpt.pth`(696MB)。\n\n#### 新版本 (IndexTTS-1.5)\n\n1. 从[Hugging Face](https:\u002F\u002Fhuggingface.co\u002FIndexTeam\u002FIndexTTS-1.5\u002Ftree\u002Fmain)下载IndexTTS-1.5模型文件\n2. 将模型文件放置在`ComfyUI\u002Fmodels\u002FIndexTTS-1.5`目录中（如果目录不存在，请创建）\n3. 模型文件夹结构与Index-TTS基本相同，但文件大小和内容会有所不同：\n\n   ```\n   ComfyUI\u002Fmodels\u002FIndexTTS-1.5\u002F\n   ├── .gitattributes\n   ├── bigvgan_discriminator.pth\n   ├── bigvgan_generator.pth\n   ├── bpe.model\n   ├── config.yaml\n   ├── configuration.json\n   ├── dvae.pth\n   ├── gpt.pth\n   ├── README.md\n   └── unigram_12000.vocab\n   ```\n\n## 使用方法\n\n1. 在ComfyUI中，找到并添加`Index TTS`节点\n2. 连接参考音频输入（AUDIO类型）\n3. 输入要转换为语音的文本\n4. 调整参数（语言、语速等）\n5. 运行工作流获取生成的语音输出\n\n### 示例工作流\n\n项目包含一个基础工作流示例，位于`workflow\u002Fworkflow.json`，您可以在ComfyUI中通过导入此文件来快速开始使用。\n\n## 参数说明\n\n### 必需参数\n\n- **text**: 要转换为语音的文本（支持中英文）\n- **reference_audio**: 参考音频，模型会复刻其声音特征\n- **model_version**: 模型版本选择，可选项：\n  - `Index-TTS`: 原始模型版本（默认）\n  - `IndexTTS-1.5`: 新版本模型\n- **language**: 文本语言选择，可选项：\n  - `auto`: 自动检测语言（默认）\n  - `zh`: 强制使用中文模式\n  - `en`: 强制使用英文模式\n- **speed**: 语速因子（0.5~2.0，默认1.0）\n\n### 可选参数\n\n以下参数适用于高级用户，用于调整语音生成质量和特性：\n\n- **temperature** (默认1.0): 控制生成随机性，较高的值增加多样性但可能降低稳定性\n- **top_p** (默认0.8): 采样时考虑的概率质量，降低可获得更准确但可能不够自然的发音\n- **top_k** (默认30): 采样时考虑的候选项数量\n- **repetition_penalty** (默认10.0): 重复内容的惩罚系数\n- **length_penalty** (默认0.0): 生成内容长度的调节因子\n- **num_beams** (默认3): 束搜索的宽度，增加可提高质量但降低速度\n- **max_mel_tokens** (默认600): 最大音频token数量\n- **sentence_split** (默认auto): 句子拆分方式\n\n## 音色优化建议\n\n要提高音色相似度：\n\n- 使用高质量的参考音频（清晰、无噪音）\n- 尝试调整`temperature`参数（0.7-0.9范围内效果较好）\n- 增加`repetition_penalty`（10.0-12.0）可以提高音色一致性\n- 对于长文本，确保`max_mel_tokens`足够大\n\n## 故障排除\n\n### 常见问题解答 (FAQ)\n\n#### Q: w2v-bert-2.0 加载失败 \u002F 401 Unauthorized 错误 (#72\u002F#113)\n\n**问题**: 运行时提示 `401 Client Error: Unauthorized for url: https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fw2v-bert-2.0`。\n\n**解决方案**: \n1. 下载 w2v-bert-2.0 模型到本地：从 [HuggingFace](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fw2v-bert-2.0\u002Ftree\u002Fmain) 下载所有文件。\n2. 放置到 `ComfyUI\u002Fmodels\u002FIndexTTS-2\u002Fw2v-bert-2.0\u002F` 目录。\n3. 确保目录包含 `config.json`、`model.safetensors`、`preprocessor_config.json` 等文件。\n4. 重启 ComfyUI，插件会自动使用本地模型，无需联网。\n\n#### Q: transformers 版本不兼容 (#117)\n\n**问题**: 使用 transformers>=4.57.1 版本后 TTS2 无法使用。\n\n**解决方案**: \n- 推荐使用 `transformers==4.52.1` 或 `transformers==4.54.1`。\n- 安装命令: `pip install transformers==4.52.1`。\n- 本插件已适配 transformers 4.50+ 版本的 API 变化。\n\n#### Q: SafeTensorFile 没有 get_slice 属性 (#123)\n\n**问题**: `AttributeError: 'SafeTensorFile' object has no attribute 'get_slice'`。\n\n**解决方案**: \n- 升级 safetensors 到最新版本: `pip install safetensors --upgrade`。\n- 确保版本 >= 0.4.3。\n\n#### Q: tensor 尺寸不匹配随机报错 (#122)\n\n**问题**: 随机出现 `RuntimeError: Sizes of tensors must match except in dimension 1`。\n\n**解决方案**: \n- 此问题已在最新版本中修复。\n- 请更新插件到最新版本: `git pull`。\n\n#### Q: Python 3.13 \u002F pynini 安装失败 (#125)\n\n**问题**: Ubuntu 24 + Python 3.13 环境下 pynini 编译失败。\n\n**解决方案**: \n- pynini 目前不支持 Python 3.13。\n- 建议使用 Python 3.10 或 3.11。\n- Windows 用户不需要 pynini，可以忽略此错误。\n\n#### Q: 老节点不支持 IndexTTS-2 模型 (#121)\n\n**解决方案**: \n- 最新版本已支持！在 `Index TTS` 节点的 `model_version` 下拉菜单中选择 `IndexTTS-2` 即可。\n- 也可以使用新的 `Index TTS 2 Pro (小说多角色)` 节点进行多角色小说朗读。\n\n#### Q: TTS 2.0 读小说功能 (#111)\n\n**解决方案**: \n- 新增了 `Index TTS 2 Pro (小说多角色)` 节点。\n- 支持多角色语音合成，可配合 `小说文本结构化` 节点使用。\n- 支持最多 5 个角色 + 旁白。\n\n### 其他常见问题\n\n- 如果出现“模型加载失败”，检查模型文件是否完整且放置在正确目录。\n- 对于Windows用户，无需额外安装特殊依赖，节点已优化。\n- 如果显示CUDA错误，尝试重启ComfyUI或减少`num_beams`值。\n- 如果你是pytorch2.7运行报错，短期无法适配，请尝试降级方案(.\\python_embeded\\python.exe -m pip install transformers==4.48.3)。\n\n\n\n## 致谢\n\n- 基于原始[IndexTTS](https:\u002F\u002Fgithub.com\u002Findex-tts\u002Findex-tts)模型。\n- 感谢ComfyUI社区的支持。\n- 感谢使用！\n- \n\n## 许可证\n\n请参考原始IndexTTS项目许可证。","# ComfyUI-Index-TTS 快速上手指南\n\nComfyUI-Index-TTS 是一个基于 IndexTTS 模型的 ComfyUI 自定义节点，支持高质量的中英文文本转语音（TTS），并具备基于参考音频的声音复刻（变声）功能。最新已支持 IndexTTS-2 模型及多角色小说朗读。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**: Windows (推荐), Linux, macOS (Apple Silicon MPS 支持需测试)\n- **显存要求**: \n  - 日常使用建议 12GB 及以上显存。\n  - 若显存较小，可在工作流中使用 `Index TTS 2 - Cache Control` 节点开启自动清理缓存模式。\n- **Python 环境**: 建议使用 ComfyUI 自带的嵌入式 Python 环境。\n\n### 前置依赖\n安装节点后，需确保以下核心库已安装（通常由安装脚本自动处理）：\n- `huggingface_hub` (必须)\n- `transformers` (建议 4.50+ 版本)\n- `safetensors`\n\n## 2. 安装步骤\n\n### 第一步：安装自定义节点\n进入 ComfyUI 的 `custom_nodes` 目录，克隆本项目：\n\n```bash\ncd ComfyUI\u002Fcustom_nodes\ngit clone https:\u002F\u002Fgithub.com\u002Fchenpipi0807\u002FComfyUI-Index-TTS.git\n```\n\n### 第二步：安装 Python 依赖\n进入插件目录并安装依赖。**Windows 用户**推荐使用 ComfyUI 自带的 python 解释器：\n\n```bash\ncd ComfyUI-Index-TTS\n.\\python_embeded\\python.exe -m pip install -r requirements.txt\n```\n*注：如果是更新代码，请先执行 `git pull`。*\n\n### 第三步：下载模型（关键步骤）\n\n本项目支持 **IndexTTS-2 (TTS2)** 和旧版 **IndexTTS\u002FIndexTTS-1.5**。推荐优先体验 TTS2。\n\n#### 方案 A：一键自动下载（推荐 TTS2）\n项目内置了自动下载脚本，支持断点续传和国内镜像加速。\n\n1. **设置国内镜像环境变量**（解决下载慢或失败问题）：\n   - **Windows PowerShell**:\n     ```powershell\n     $env:HF_ENDPOINT = \"https:\u002F\u002Fhf-mirror.com\"\n     ```\n   - **Linux \u002F Mac**:\n     ```bash\n     export HF_ENDPOINT=https:\u002F\u002Fhf-mirror.com\n     ```\n\n2. **运行下载脚本**：\n   ```bash\n   python .\\ComfyUI\\custom_nodes\\ComfyUI-Index-TTS\\TTS2_download.py\n   ```\n   - 运行后根据提示选择 `2` 使用国内镜像（默认）或 `1` 使用官方源。\n   - 脚本会自动将模型下载至 `ComfyUI\u002Fmodels\u002FIndexTTS-2\u002F` 目录。\n\n#### 方案 B：手动下载（旧版 IndexTTS \u002F IndexTTS-1.5）\n如果只需使用旧版模型，请手动下载并放置到对应目录：\n\n- **Index-TTS (原版)**: 下载文件至 `ComfyUI\u002Fmodels\u002FIndex-TTS\u002F`\n  - 来源：[HuggingFace](https:\u002F\u002Fhuggingface.co\u002FIndexTeam\u002FIndex-TTS) 或 [魔搭 ModelScope](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FIndexTeam\u002FIndex-TTS)\n- **IndexTTS-1.5**: 下载文件至 `ComfyUI\u002Fmodels\u002FIndexTTS-1.5\u002F`\n  - 来源：[HuggingFace](https:\u002F\u002Fhuggingface.co\u002FIndexTeam\u002FIndexTTS-1.5)\n\n## 3. 基本使用\n\n启动 ComfyUI，在节点菜单中找到 `IndexTTS` 相关分类。\n\n### 场景一：基础文本转语音 (TTS2)\n这是最简单的用法，将文本转换为语音。\n\n1. **添加节点**:\n   - `Index TTS 2 - Base` (基础合成)\n   - `Load Audio` (可选，用于加载参考音频进行音色复刻，若不连则使用默认音色)\n   - `Save Audio` (保存结果)\n\n2. **连接工作流**:\n   - 将文本输入连接到 `Index TTS 2 - Base` 的 `text` 端口。\n   - (可选) 将参考音频连接到 `ref_audio` 端口以复刻声音特征。\n   - 将输出 `audio` 连接到 `Save Audio`。\n\n3. **参数设置**:\n   - **Text**: 输入中文或英文文本。\n   - **Speed**: 调节语速（1.0 为正常）。\n   - **Seed**: 固定随机种子以复现结果。\n\n### 场景二：多角色小说朗读 (进阶)\n利用新增的解析节点实现多人对话合成。\n\n1. **添加节点**:\n   - `Novel Text Structure` (小说文本解析)\n   - `Index TTS 2 Pro` (或多角色专用节点)\n   \n2. **操作流程**:\n   - 将包含对话的小说文本输入 `Novel Text Structure`。\n   - 节点会自动识别 `\u003CCharacter1>`, `\u003CNarrator>` 等标签。\n   - 将解析后的结构连接到 TTS 节点，并为不同角色指定不同的参考音频（音色）。\n\n### 场景三：音频优化\n如果生成的音频有杂音或混响，可在 TTS 节点后串联 **`Audio Cleaner`** 节点：\n- 调节 `denoise_strength` (降噪) 和 `dereverb_strength` (去混响) 提升听感。\n\n---\n**提示**: 首次运行时模型加载可能需要几秒至几十秒，后续生成速度非常快。如遇显存不足，请在工作流中加入 `Index TTS 2 - Cache Control` 节点并将 `keep_cached` 设为 `false`。","一位独立游戏开发者正在为一款悬疑视觉小说制作多结局配音，需要让不同性格的 NPC 用同一声音模型演绎出恐惧、愤怒或冷静等多种情绪。\n\n### 没有 ComfyUI-Index-TTS 时\n- **声音特征割裂**：传统 TTS 工具难以在保持角色音色一致的前提下切换情绪，导致同一个角色在不同剧情中听起来像不同的人。\n- **工作流断裂**：音频生成与图像、逻辑节点分离，开发者需手动导出再导入音频文件，无法在 ComfyUI 中实现“文生图 + 文生音”的一体化自动化流程。\n- **中文表现生硬**：通用模型对中文语调处理机械，缺乏抑扬顿挫，难以还原悬疑氛围所需的细腻情感张力。\n- **复刻成本高昂**：若想模仿特定参考音频（如导演的小样），往往需要昂贵的定制训练或复杂的命令行操作，门槛极高。\n\n### 使用 ComfyUI-Index-TTS 后\n- **精准情绪复刻**：利用 `Index TTS 2 - Emotion Audio` 节点，直接上传一段参考音频，即可让模型完美复刻该声音的情绪色彩，同时锁定角色音色不变。\n- **全链路自动化**：作为原生自定义节点，它能与 ComfyUI 的工作流无缝串联，实现从剧本文本到最终音视频输出的端到端自动生成，无需人工干预文件流转。\n- **中英双语自然**：基于 IndexTTS-2 模型，无论是中文对话还是英文旁白，都能生成极具感染力且发音自然的语音，显著提升叙事沉浸感。\n- **灵活组合控制**：开发者可根据需求自由组合基础合成、情绪向量或文本情绪节点，精细调控每一句台词的表现力，极大降低了高质量配音的制作门槛。\n\nComfyUI-Index-TTS 通过将高保真语音克隆深度融入可视化工作流，让单人开发者也能轻松打造出电影级的情感化角色配音。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchenpipi0807_ComfyUI-Index-TTS_c730188a.png","chenpipi0807","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fchenpipi0807_fc4f9e19.jpg","我与BUG周旋久，不会改...",null,"https:\u002F\u002Fgithub.com\u002Fchenpipi0807",[82,86,90,94],{"name":83,"color":84,"percentage":85},"Python","#3572A5",96.9,{"name":87,"color":88,"percentage":89},"Cuda","#3A4E3A",1.8,{"name":91,"color":92,"percentage":93},"C","#555555",1.1,{"name":95,"color":96,"percentage":97},"C++","#f34b7d",0.2,669,66,"2026-04-14T12:44:34",4,"Windows, Linux, macOS","需要 NVIDIA GPU (推荐)，支持 Apple Silicon MPS (需测试反馈)。显存需求：12GB+ 适合日常使用（开启缓存控制可优化），未明确最低显存但暗示低显存需频繁清理缓存。CUDA 版本未明确说明。","未说明",{"notes":106,"python":107,"dependencies":108},"1. 支持 Windows、Linux 及 Apple Silicon (MPS)，其中 macOS 支持仍需测试反馈。\n2. 新增显存控制节点，默认推理后自动卸载模型以适配 12GB 显存显卡；连续生成可开启缓存驻留但会增加显存占用。\n3. 首次运行需下载多个模型文件（包括 IndexTTS-2 基础模型、Qwen 情绪模型、BigVGAN 声码器等），建议运行自带的一键下载脚本 (TTS2_download.py)。\n4. 支持配置国内镜像源 (hf-mirror.com) 加速模型下载。\n5. 必须安装 huggingface_hub，可选安装 hf_transfer 加速。\n6. 模型文件需严格按照指定目录结构放置在 ComfyUI\u002Fmodels\u002FIndexTTS-2\u002F 下。","未说明 (依赖环境中 python_embeded 或系统 Python)",[109,110,111,112,113,114,115],"torch","transformers>=4.50","safetensors","huggingface_hub","accelerate","numpy","scipy",[38,13],"2026-03-27T02:49:30.150509","2026-04-16T16:18:43.777584",[120,125,130,135,140,145,150,155],{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},35978,"遇到 ImportError: cannot import name 'LogitsWarper' 或版本不匹配报错怎么办？","这是因为 transformers 库版本过高（4.49+）导致接口变更。请将 transformers 降级到 4.48.3 版本。在 ComfyUI 嵌入式环境中，请运行以下命令：\n.\\python_embeded\\python.exe -m pip install transformers==4.48.3\n如果是在其他环境，请确保 pytorch 和 transformers 版本匹配，推荐开发环境为 pytorch 2.6。","https:\u002F\u002Fgithub.com\u002Fchenpipi0807\u002FComfyUI-Index-TTS\u002Fissues\u002F1",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},35979,"安装后找不到 Index TTS 节点或提示 'no module name xxx' 如何解决？","这通常是因为依赖包未正确安装到 ComfyUI 的嵌入式 Python 环境中。请在项目目录下使用绝对路径运行安装命令。例如在 Windows 便携版中：\nE:\\Program Files\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Index-TTS> ..\\..\\..\\python_embeded\\python.exe -m pip install -r requirements.txt\n务必加上 python_embeded\\python.exe 前缀，确保包安装到了正确的环境。","https:\u002F\u002Fgithub.com\u002Fchenpipi0807\u002FComfyUI-Index-TTS\u002Fissues\u002F28",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},35980,"使用 RTX 5090 或 PyTorch 2.7\u002FCUDA 12.8 环境时报错 'CUDA_HOME does not exist' 或形状错误怎么办？","PyTorch 2.7 目前可能不够稳定，且新显卡驱动可能需要重新编译 CUDA 算子。\n1. 首选方案：尝试将 PyTorch 降级到稳定的 2.6 版本，并将 transformers 降级到 4.48.3。\n2. 如果必须使用 5090 (仅支持新版驱动)，请检查 CUDA_HOME 环境变量是否正确设置，或通过启动器（如绘世启动器）重新安装匹配的 CUDA 和 PyTorch 版本以修复编译问题。","https:\u002F\u002Fgithub.com\u002Fchenpipi0807\u002FComfyUI-Index-TTS\u002Fissues\u002F43",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},35981,"遇到 'RuntimeError: shape [...] is invalid' 或 'User specified an unsupported autocast device_type' 错误？","这类错误通常由 PyTorch 或 transformers 版本不兼容引起。\n1. 首先尝试将 transformers 降级：.\\python_embeded\\python.exe -m pip install transformers==4.48.3\n2. 检查 PyTorch Lightning 版本，如果过高（如 2.4.0），建议将 PyTorch 升级或调整到 2.6 版本进行测试。","https:\u002F\u002Fgithub.com\u002Fchenpipi0807\u002FComfyUI-Index-TTS\u002Fissues\u002F3",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},35982,"节点参数验证失败（如 max_mel_tokens, seed, language 等类型或范围错误）如何解决？","这通常是由于前端传入的参数类型与后端预期不符（例如传入了 'auto' 字符串而非整数，或 'None' 而非数字）。\n1. 检查 ComfyUI 前端节点的输入值，确保没有填写非法字符（如 'auto', 'None'）到需要整数的字段。\n2. 确保语言选择在下拉列表范围内（['auto', 'zh', 'en']）。\n3. 检查数值范围，例如 top_p 不应超过 1.0，speed 不应超过 2.0。\n如果界面显示正常但仍报错，通常是底层库版本不一致导致的解析错误，请优先执行 transformers 降级操作。","https:\u002F\u002Fgithub.com\u002Fchenpipi0807\u002FComfyUI-Index-TTS\u002Fissues\u002F18",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},35983,"开启情感控制（Emotion Text\u002FVector）后生成的语音音色与原声差异巨大怎么办？","这是原项目（IndexTTS-2）目前的已知局限性。当加入情感控制时，模型会显著改变音色以表达情绪，导致与参考音色的相似度大幅下降（可能从 99% 降至很低）。如果不追求特定情感表达，建议关闭情感相关节点以获得最佳的音色克隆效果。","https:\u002F\u002Fgithub.com\u002Fchenpipi0807\u002FComfyUI-Index-TTS\u002Fissues\u002F65",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},35984,"更新到 IndexTTS-1.5 模型后生成声音异常（如只有嘟声）或无法运行？","1.5 版本可能对依赖库有更严格的要求。如果遇到生成异常，请首先确认 transformers 版本是否已回退到 4.48.3。\n2. 检查模型文件是否完整下载（包括 gpt.pth, config.yaml, bigvgan_generator.pth 等）。\n3. 如果问题依旧，可能是 1.5 版本与当前代码适配尚不完善，建议暂时切换回稳定的 'Index-TTS' (v1) 模型版本使用。","https:\u002F\u002Fgithub.com\u002Fchenpipi0807\u002FComfyUI-Index-TTS\u002Fissues\u002F22",{"id":156,"question_zh":157,"answer_zh":158,"source_url":149},35985,"如何加速长文本（如几千字小说）的生成速度？","如果需要压缩长文本的生成时间，可以尝试安装 pandas 库，这可能有助于优化数据处理流程。此外，目前脚本可能未完全启用 'infer_fast' 模式，关注后续更新或尝试手动优化推理脚本。硬件方面，高端显卡（如 4090）在单音色生成上已有较好表现，但软件层面的优化（如安装缺失的依赖库）也是关键。",[]]