[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-jaywalnut310--vits":3,"tool-jaywalnut310--vits":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[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},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",155373,2,"2026-04-14T11:34:08",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"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,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"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",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":75,"owner_location":75,"owner_email":75,"owner_twitter":75,"owner_website":76,"owner_url":77,"languages":78,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":91,"env_os":92,"env_gpu":93,"env_ram":94,"env_deps":95,"category_tags":108,"github_topics":110,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":116,"updated_at":117,"faqs":118,"releases":151},7422,"jaywalnut310\u002Fvits","vits","VITS: Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech","VITS 是一款先进的端到端文本转语音（TTS）开源模型，旨在将文字直接转化为自然流畅的人声。传统 TTS 系统往往需要分阶段训练，且生成的语音在自然度上有所欠缺，而 VITS 通过创新的架构设计，成功解决了这一痛点。它不仅能实现高效的并行采样和单阶段训练，生成的音频质量甚至超越了现有的多阶段系统，在主观听感评测中达到了与真人录音相当的水平。\n\n该模型的核心技术亮点在于结合了条件变分自编码器、归一化流以及对抗学习机制，极大地增强了生成模型的表达能力。特别值得一提的是其引入的“随机时长预测器”，能够模拟人类说话时丰富的节奏变化，完美呈现了“一对多”的自然映射关系——即同一段文字可以用不同的音高和韵律进行多种演绎，避免了机械重复感。\n\nVITS 非常适合人工智能研究人员、语音合成开发者以及对高质量语音生成有需求的技术团队使用。虽然项目提供了预训练模型和 Colab 互动演示供快速体验，但要充分发挥其潜力或进行自定义训练，使用者仍需具备一定的 Python 编程基础和深度学习背景。无论是用于构建虚拟助手、有声读物生成，还是探索语音合成的前沿研究，VITS 都是一个强大且值得关注的工具。","# VITS: Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech\n\n### Jaehyeon Kim, Jungil Kong, and Juhee Son\n\nIn our recent [paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.06103), we propose VITS: Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech.\n\nSeveral recent end-to-end text-to-speech (TTS) models enabling single-stage training and parallel sampling have been proposed, but their sample quality does not match that of two-stage TTS systems. In this work, we present a parallel end-to-end TTS method that generates more natural sounding audio than current two-stage models. Our method adopts variational inference augmented with normalizing flows and an adversarial training process, which improves the expressive power of generative modeling. We also propose a stochastic duration predictor to synthesize speech with diverse rhythms from input text. With the uncertainty modeling over latent variables and the stochastic duration predictor, our method expresses the natural one-to-many relationship in which a text input can be spoken in multiple ways with different pitches and rhythms. A subjective human evaluation (mean opinion score, or MOS) on the LJ Speech, a single speaker dataset, shows that our method outperforms the best publicly available TTS systems and achieves a MOS comparable to ground truth.\n\nVisit our [demo](https:\u002F\u002Fjaywalnut310.github.io\u002Fvits-demo\u002Findex.html) for audio samples.\n\nWe also provide the [pretrained models](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1ksarh-cJf3F5eKJjLVWY0X1j1qsQqiS2?usp=sharing).\n\n** Update note: Thanks to [Rishikesh (ऋषिकेश)](https:\u002F\u002Fgithub.com\u002Fjaywalnut310\u002Fvits\u002Fissues\u002F1), our interactive TTS demo is now available on [Colab Notebook](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1CO61pZizDj7en71NQG_aqqKdGaA_SaBf?usp=sharing).\n\n\u003Ctable style=\"width:100%\">\n  \u003Ctr>\n    \u003Cth>VITS at training\u003C\u002Fth>\n    \u003Cth>VITS at inference\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjaywalnut310_vits_readme_585bb6eff263.png\" alt=\"VITS at training\" height=\"400\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjaywalnut310_vits_readme_103710404d3b.png\" alt=\"VITS at inference\" height=\"400\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n## Pre-requisites\n0. Python >= 3.6\n0. Clone this repository\n0. Install python requirements. Please refer [requirements.txt](requirements.txt)\n    1. You may need to install espeak first: `apt-get install espeak`\n0. Download datasets\n    1. Download and extract the LJ Speech dataset, then rename or create a link to the dataset folder: `ln -s \u002Fpath\u002Fto\u002FLJSpeech-1.1\u002Fwavs DUMMY1`\n    1. For mult-speaker setting, download and extract the VCTK dataset, and downsample wav files to 22050 Hz. Then rename or create a link to the dataset folder: `ln -s \u002Fpath\u002Fto\u002FVCTK-Corpus\u002Fdownsampled_wavs DUMMY2`\n0. Build Monotonic Alignment Search and run preprocessing if you use your own datasets.\n```sh\n# Cython-version Monotonoic Alignment Search\ncd monotonic_align\npython setup.py build_ext --inplace\n\n# Preprocessing (g2p) for your own datasets. Preprocessed phonemes for LJ Speech and VCTK have been already provided.\n# python preprocess.py --text_index 1 --filelists filelists\u002Fljs_audio_text_train_filelist.txt filelists\u002Fljs_audio_text_val_filelist.txt filelists\u002Fljs_audio_text_test_filelist.txt \n# python preprocess.py --text_index 2 --filelists filelists\u002Fvctk_audio_sid_text_train_filelist.txt filelists\u002Fvctk_audio_sid_text_val_filelist.txt filelists\u002Fvctk_audio_sid_text_test_filelist.txt\n```\n\n\n## Training Exmaple\n```sh\n# LJ Speech\npython train.py -c configs\u002Fljs_base.json -m ljs_base\n\n# VCTK\npython train_ms.py -c configs\u002Fvctk_base.json -m vctk_base\n```\n\n\n## Inference Example\nSee [inference.ipynb](inference.ipynb)\n","# VITS：用于端到端文语转换的条件变分自编码器与对抗学习\n\n### 金在贤、孔正日和孙珠熙\n\n在我们最近发表的[论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.06103)中，我们提出了VITS：一种用于端到端文语转换的条件变分自编码器与对抗学习方法。\n\n近年来，已经提出了一些支持单阶段训练和并行采样的端到端文语转换（TTS）模型，但它们的生成音质仍不及两阶段TTS系统。在本工作中，我们提出了一种并行的端到端TTS方法，其生成的音频听起来比当前的两阶段模型更为自然。我们的方法采用了结合归一化流的变分推断以及对抗训练过程，从而提升了生成建模的表达能力。此外，我们还提出了一种随机时长预测器，以根据输入文本合成具有多样化节奏的语音。通过在潜在变量上进行不确定性建模以及使用随机时长预测器，我们的方法能够更好地表达自然的一对多关系——即同一段文本可以以不同的音高和节奏被朗读出来。针对单说话人数据集LJ Speech进行的人工主观评价（平均意见得分，MOS）表明，我们的方法优于目前公开的最佳TTS系统，并达到了与真实录音相当的MOS分数。\n\n请访问我们的[演示页面](https:\u002F\u002Fjaywalnut310.github.io\u002Fvits-demo\u002Findex.html)，以收听音频样本。\n\n我们还提供了[预训练模型](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1ksarh-cJf3F5eKJjLVWY0X1j1qsQqiS2?usp=sharing)。\n\n**更新说明：** 感谢[Rishikesh (ऋषिकेश)](https:\u002F\u002Fgithub.com\u002Fjaywalnut310\u002Fvits\u002Fissues\u002F1)，我们的交互式TTS演示现在已在[Colab Notebook](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1CO61pZizDj7en71NQG_aqqKdGaA_SaBf?usp=sharing)上提供。\n\n\u003Ctable style=\"width:100%\">\n  \u003Ctr>\n    \u003Cth>VITS训练时\u003C\u002Fth>\n    \u003Cth>VITS推理时\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjaywalnut310_vits_readme_585bb6eff263.png\" alt=\"VITS训练时\" height=\"400\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjaywalnut310_vits_readme_103710404d3b.png\" alt=\"VITS推理时\" height=\"400\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n## 前置条件\n0. Python >= 3.6\n0. 克隆本仓库\n0. 安装Python依赖。请参考[requirements.txt](requirements.txt)\n    1. 可能需要先安装espeak：`apt-get install espeak`\n0. 下载数据集\n    1. 下载并解压LJ Speech数据集，然后重命名或创建指向该文件夹的符号链接：`ln -s \u002Fpath\u002Fto\u002FLJSpeech-1.1\u002Fwavs DUMMY1`\n    1. 对于多说话人场景，下载并解压VCTK数据集，将wav文件下采样至22050 Hz。然后重命名或创建指向该文件夹的符号链接：`ln -s \u002Fpath\u002Fto\u002FVCTK-Corpus\u002Fdownsampled_wavs DUMMY2`\n0. 如果使用自己的数据集，请构建单调对齐搜索工具并运行预处理。\n```sh\n# Cython版本的单调对齐搜索\ncd monotonic_align\npython setup.py build_ext --inplace\n\n# 针对自己数据集的预处理（g2p）。LJ Speech和VCTK的预处理后的音素已随附提供。\n# python preprocess.py --text_index 1 --filelists filelists\u002Fljs_audio_text_train_filelist.txt filelists\u002Fljs_audio_text_val_filelist.txt filelists\u002Fljs_audio_text_test_filelist.txt \n# python preprocess.py --text_index 2 --filelists filelists\u002Fvctk_audio_sid_text_train_filelist.txt filelists\u002Fvctk_audio_sid_text_val_filelist.txt filelists\u002Fvctk_audio_sid_text_test_filelist.txt\n```\n\n\n## 训练示例\n```sh\n# LJ Speech\npython train.py -c configs\u002Fljs_base.json -m ljs_base\n\n# VCTK\npython train_ms.py -c configs\u002Fvctk_base.json -m vctk_base\n```\n\n\n## 推理示例\n请参阅[inference.ipynb](inference.ipynb)","# VITS 快速上手指南\n\nVITS (Conditional Variational Autoencoder with Adversarial Learning) 是一个端到端的文本转语音 (TTS) 模型。它支持并行采样，能够生成自然度极高的音频，并具备通过随机时长预测器合成不同节奏和音高语音的能力。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu)\n*   **Python 版本**: >= 3.6\n*   **系统依赖**: 需要安装 `espeak` 用于文本处理。\n    ```bash\n    sudo apt-get install espeak\n    ```\n*   **代码仓库**: 克隆本项目到本地。\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fjaywalnut310\u002Fvits.git\n    cd vits\n    ```\n\n## 安装步骤\n\n### 1. 安装 Python 依赖\n建议使用虚拟环境（如 conda 或 venv），然后安装项目所需的 Python 包。\n```bash\npip install -r requirements.txt\n```\n> **提示**：如果下载速度较慢，可使用国内镜像源加速安装：\n> `pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n### 2. 编译单调对齐搜索模块 (Monotonic Alignment Search)\nVITS 依赖 Cython 编写的对齐模块，必须手动编译。\n```bash\ncd monotonic_align\npython setup.py build_ext --inplace\ncd ..\n```\n\n### 3. 准备数据集\n您需要下载数据集并建立软链接。项目默认支持 **LJ Speech** (单说话人) 和 **VCTK** (多说话人)。\n\n*   **单说话人示例 (LJ Speech)**:\n    下载并解压 LJ Speech 数据集后，执行以下命令建立链接（假设数据集路径为 `\u002Fpath\u002Fto\u002FLJSpeech-1.1\u002Fwavs`）：\n    ```bash\n    ln -s \u002Fpath\u002Fto\u002FLJSpeech-1.1\u002Fwavs DUMMY1\n    ```\n    *注：LJ Speech 的预处理音素文件已包含在项目中，通常无需额外运行预处理脚本。*\n\n*   **多说话人示例 (VCTK)**:\n    下载 VCTK 数据集，将音频重采样至 22050 Hz，然后建立链接：\n    ```bash\n    ln -s \u002Fpath\u002Fto\u002FVCTK-Corpus\u002Fdownsampled_wavs DUMMY2\n    ```\n\n## 基本使用\n\n### 1. 训练模型\n根据数据集类型选择对应的训练脚本。\n\n*   **训练单说话人模型 (LJ Speech)**:\n    ```bash\n    python train.py -c configs\u002Fljs_base.json -m ljs_base\n    ```\n\n*   **训练多说话人模型 (VCTK)**:\n    ```bash\n    python train_ms.py -c configs\u002Fvctk_base.json -m vctk_base\n    ```\n    *训练生成的检查点将保存在 `logs\u002F\u003Cmodel_name>` 目录下。*\n\n### 2. 推理 (合成语音)\n最简单的推理方式是运行官方提供的 Jupyter Notebook，其中包含了加载预训练模型和合成音频的完整流程。\n\n```bash\njupyter notebook inference.ipynb\n```\n\n如果您希望直接使用预训练模型而不重新训练，可以从 [Google Drive](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1ksarh-cJf3F5eKJjLVWY0X1j1qsQqiS2?usp=sharing) 下载预训练权重，并在 `inference.ipynb` 中修改模型路径进行测试。\n\n> **在线体验**: 如果不想配置本地环境，可以直接使用 [Colab Notebook](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1CO61pZizDj7en71NQG_aqqKdGaA_SaBf?usp=sharing) 进行交互式尝试。","一家小型独立游戏工作室正在为一款视觉小说游戏制作多结局配音，需要让同一位角色在不同剧情分支中展现出愤怒、悲伤或轻松等多种情绪语调。\n\n### 没有 vits 时\n- **录音成本高昂**：配音演员需反复进棚录制同一段台词的不同情绪版本，耗时耗力且预算难以控制。\n- **语调僵硬单一**：传统端到端模型生成的语音缺乏韵律变化，听起来像机器人朗读，无法体现“一句话多种说法”的自然感。\n- **后期调整困难**：若导演对某句台词的节奏或音高不满意，必须重新召集人员录音，无法通过参数快速微调。\n- **多说话人支持弱**：若要增加新角色，往往需要重新训练整个系统或寻找昂贵的专用多说话人商业接口。\n\n### 使用 vits 后\n- **一键生成多情绪**：利用 vits 的随机时长预测器和潜在变量建模，仅输入文本即可自动生成带有不同节奏和音高的多种语音样本，无需重复录音。\n- **拟真度媲美真人**：vits 生成的音频在主观评测（MOS）中接近真实录音，其对抗训练机制让声音情感表达细腻自然，消除了机械感。\n- **灵活可控的推理**：开发者可通过调整潜在变量，在推理阶段实时改变语音的语速和情感色彩，快速响应导演的修改意见。\n- **低成本扩展角色**：基于 VCTK 等多说话人数据集微调 vits，即可低成本添加新角色音色，且保持高质量的端到端生成效果。\n\nvits 通过引入变分推断与对抗学习，将文字转语音从“机械朗读”升级为具备丰富情感表现力的“自然演绎”，极大降低了高质量配音的制作门槛。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjaywalnut310_vits_798c908c.png","jaywalnut310","Jaehyeon Kim","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fjaywalnut310_6f77368d.png",null,"jaywalnut310.github.io","https:\u002F\u002Fgithub.com\u002Fjaywalnut310",[79,83],{"name":80,"color":81,"percentage":82},"Python","#3572A5",95,{"name":84,"color":85,"percentage":86},"Jupyter Notebook","#DA5B0B",5,7851,1388,"2026-04-13T19:49:07","MIT",4,"Linux","未说明（通常训练需要 NVIDIA GPU，具体型号和显存取决于数据集大小）","未说明",{"notes":96,"python":97,"dependencies":98},"1. 在 Linux 环境下需预先安装 espeak (apt-get install espeak)。2. 首次运行前需编译单调对齐搜索模块 (Monotonic Alignment Search)，命令为 'cd monotonic_align && python setup.py build_ext --inplace'。3. 需手动下载 LJ Speech 或 VCTK 数据集并建立软链接。4. 若使用自定义数据集，需运行预处理脚本生成音素文件。",">=3.6",[99,100,101,102,103,104,105,106,107],"Cython","librosa","numpy","scipy","torch","torchaudio","tensorboard","matplotlib","phonemizer",[109,14],"音频",[111,112,113,114,115],"tts","text-to-speech","pytorch","deep-learning","speech-synthesis","2026-03-27T02:49:30.150509","2026-04-14T20:40:23.915933",[119,124,129,134,138,143,147],{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},33297,"VITS 项目基于哪篇论文？","该仓库基于 VITS (Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech) 论文。作者已在 README 中引用了相关资源，并且社区成员制作了包含多说话人示例的 Colab 笔记本供参考使用。","https:\u002F\u002Fgithub.com\u002Fjaywalnut310\u002Fvits\u002Fissues\u002F1",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},33298,"KL Loss 出现负值是否正常？如何解决？","通常情况下，如果输入和网络正确，KL Loss 不应为负。当 KL Loss \u003C 0 时，意味着先验分布与后验分布几乎相同，后验分布未能学习到复杂的分布，表明网络训练不成功。\n建议采取以下措施：\n1. 检查输入数据和网络结构是否正确。\n2. 尝试增大批次大小（Batch Size），这通常能解决因异常点或极端点导致的问题。\n3. 如果必须在损失公式中添加约束，不要简单地对整体取绝对值，而应参考以下代码逻辑（但通常不建议这样做，因为即使加了约束也无法得到正确结果）：\n   - `kl = logs_p - logs_q - 0.5`\n   - `kl += 0.5 * ((z_p - m_p)**2) * torch.exp(-2. * logs_p)`\n   - `kl = torch.clamp(kl, min=0.0)`","https:\u002F\u002Fgithub.com\u002Fjaywalnut310\u002Fvits\u002Fissues\u002F6",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},33299,"微调（Fine-tuning）VITS 模型时出现过拟合怎么办？","如果在微调过程中（例如在 70K step 左右）出现过拟合，且韵律（prosody）表现不佳，可以尝试以下方案：\n1. 调整学习率及其衰减策略（虽然这可能只能部分缓解整体损失问题）。\n2. 使用基于 Hugging Face 实现的微调仓库进行训练，该仓库支持 VITS 及 MMS 版本的微调：https:\u002F\u002Fgithub.com\u002Fylacombe\u002Ffinetune-hf-vits\n3. 参考现有的微调模型演示效果以对比参数设置。","https:\u002F\u002Fgithub.com\u002Fjaywalnut310\u002Fvits\u002Fissues\u002F14",{"id":135,"question_zh":136,"answer_zh":137,"source_url":133},33300,"如何在已训练好的模型基础上继续训练新声音（如不同性别或语言）以缩短时间？","可以利用预训练模型进行迁移学习来缩短训练时间。具体方法是加载之前训练好的模型权重作为初始状态，然后使用新的数据集（例如从女声切换到男声，或更换语言）继续训练。社区中有用户成功在 500k steps 内训练出清晰的越南语女声模型，并计划用此方法训练男声模型。建议使用官方或社区提供的微调脚本（如 Hugging Face 实现）来加载预训练权重。",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},33301,"在使用 PyTorch 2.0 训练时报错 'IndexError: Dimension out of range' 如何解决？","该错误通常与 PyTorch 版本更新导致的 STFT（短时傅里叶变换）输出格式变化有关。在较新版本的 PyTorch 中，STFT 返回复数张量，需要显式转换。\n解决方案：保持使用较新版本，并在 STFT 操作后添加 `torch.view_as_real()` 调用。例如，在相关代码序列中加入：\n`torch.view_as_real()`\n这将把复数张量转换为实数张量，从而解决维度越界的问题。","https:\u002F\u002Fgithub.com\u002Fjaywalnut310\u002Fvits\u002Fissues\u002F135",{"id":144,"question_zh":145,"answer_zh":146,"source_url":123},33302,"Colab 笔记本运行时遇到版本不匹配或生成 core.cpython 文件失败怎么办？","如果在 Google Colab 上运行遇到依赖版本不匹配或 `!python setup.py build_ext --inplace` 无法生成必要的核心文件，可以尝试以下方法：\n1. 修改笔记本中的部分代码以适配当前环境（社区成员已提供修改后的可用版本）。\n2. 使用社区更新后的 Colab 笔记本链接，该版本已修复了多说话人部分的运行问题：https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Sz6OW25WXPIhuEElgAFy77o98YOdhx7a?usp=sharing\n3. 确保按照最新的要求安装依赖包，必要时手动处理元数据生成错误。",{"id":148,"question_zh":149,"answer_zh":150,"source_url":128},33303,"VITS 中的 KL 散度计算公式是如何推导的？为什么直接采样计算？","KL 散度的理论定义涉及积分：`KL_loss = ∫q(z\u002Fx) * (log(q(z\u002Fx)) - log(p(z\u002Fc)))dz`。\n在 VITS 实现中：\n1. 由于 q(z\u002Fx) 是高斯分布，第一部分积分有解析解：`∫q(z\u002Fx) * log(q(z\u002Fx))dz = -logs_q - 0.5 - 0.5 * log(2*pi)`。\n2. 第二部分 `∫q(z\u002Fx) * log(p(z\u002Fc)))dz` 无法直接计算，因此采用采样法近似。通常只需采样一个 z 值并取平均即可满足训练需求。\n这就是代码中直接使用 `mean(log(q(z\u002Fx))) - mean(log(p(z\u002Fc)))` 作为近似公式的原因，既方便计算又符合变分自编码器（VAE）的常规做法。",[]]