[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-domesticatedviking--TextyMcSpeechy":3,"tool-domesticatedviking--TextyMcSpeechy":65},[4,23,32,40,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":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,2,"2026-04-05T10:45:23",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},4128,"GPT-SoVITS","RVC-Boss\u002FGPT-SoVITS","GPT-SoVITS 是一款强大的开源语音合成与声音克隆工具，旨在让用户仅需极少量的音频数据即可训练出高质量的个性化语音模型。它核心解决了传统语音合成技术依赖海量录音数据、门槛高且成本大的痛点，实现了“零样本”和“少样本”的快速建模：用户只需提供 5 秒参考音频即可即时生成语音，或使用 1 分钟数据进行微调，从而获得高度逼真且相似度极佳的声音效果。\n\n该工具特别适合内容创作者、独立开发者、研究人员以及希望为角色配音的普通用户使用。其内置的友好 WebUI 界面集成了人声伴奏分离、自动数据集切片、中文语音识别及文本标注等辅助功能，极大地降低了数据准备和模型训练的技术门槛，让非专业人士也能轻松上手。\n\n在技术亮点方面，GPT-SoVITS 不仅支持中、英、日、韩、粤语等多语言跨语种合成，还具备卓越的推理速度，在主流显卡上可实现实时甚至超实时的生成效率。无论是需要快速制作视频配音，还是进行多语言语音交互研究，GPT-SoVITS 都能以极低的数据成本提供专业级的语音合成体验。",56375,3,"2026-04-05T22:15:46",[21],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":29,"last_commit_at":38,"category_tags":39,"status":22},2863,"TTS","coqui-ai\u002FTTS","🐸TTS 是一款功能强大的深度学习文本转语音（Text-to-Speech）开源库，旨在将文字自然流畅地转化为逼真的人声。它解决了传统语音合成技术中声音机械生硬、多语言支持不足以及定制门槛高等痛点，让高质量的语音生成变得触手可及。\n\n无论是希望快速集成语音功能的开发者，还是致力于探索前沿算法的研究人员，亦或是需要定制专属声音的数据科学家，🐸TTS 都能提供得力支持。它不仅预置了覆盖全球 1100 多种语言的训练模型，让用户能够即刻上手，还提供了完善的工具链，支持用户利用自有数据训练新模型或对现有模型进行微调，轻松实现特定风格的声音克隆。\n\n在技术亮点方面，🐸TTS 表现卓越。其最新的 ⓍTTSv2 模型支持 16 种语言，并在整体性能上大幅提升，实现了低于 200 毫秒的超低延迟流式输出，极大提升了实时交互体验。此外，它还无缝集成了 🐶Bark、🐢Tortoise 等社区热门模型，并支持调用上千个 Fairseq 模型，展现了极强的兼容性与扩展性。配合丰富的数据集分析与整理工具，🐸TTS 已成为科研与生产环境中备受信赖的语音合成解决方案。",44971,"2026-04-03T14:47:02",[21,20,13],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":29,"last_commit_at":46,"category_tags":47,"status":22},2375,"LocalAI","mudler\u002FLocalAI","LocalAI 是一款开源的本地人工智能引擎，旨在让用户在任意硬件上轻松运行各类 AI 模型，包括大语言模型、图像生成、语音识别及视频处理等。它的核心优势在于彻底打破了高性能计算的门槛，无需昂贵的专用 GPU，仅凭普通 CPU 或常见的消费级显卡（如 NVIDIA、AMD、Intel 及 Apple Silicon）即可部署和运行复杂的 AI 任务。\n\n对于担心数据隐私的用户而言，LocalAI 提供了“隐私优先”的解决方案，确保所有数据处理均在本地基础设施内完成，无需上传至云端。同时，它完美兼容 OpenAI、Anthropic 等主流 API 接口，这意味着开发者可以无缝迁移现有应用，直接利用本地资源替代云服务，既降低了成本又提升了可控性。\n\nLocalAI 内置了超过 35 种后端支持（如 llama.cpp、vLLM、Whisper 等），并集成了自主 AI 代理、工具调用及检索增强生成（RAG）等高级功能，且具备多用户管理与权限控制能力。无论是希望保护敏感数据的企业开发者、进行算法实验的研究人员，还是想要在个人电脑上体验最新 AI 技术的极客玩家，都能通过 LocalAI 获",44782,"2026-04-02T22:14:26",[13,21,19,17,20,14,16],{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":29,"last_commit_at":54,"category_tags":55,"status":22},3108,"bark","suno-ai\u002Fbark","Bark 是由 Suno 推出的开源生成式音频模型，能够根据文本提示创造出高度逼真的多语言语音、音乐、背景噪音及简单音效。与传统仅能朗读文字的语音合成工具不同，Bark 基于 Transformer 架构，不仅能模拟说话，还能生成笑声、叹息、哭泣等非语言声音，甚至能处理带有情感色彩和语气停顿的复杂文本，极大地丰富了音频表达的可能性。\n\n它主要解决了传统语音合成声音机械、缺乏情感以及无法生成非语音类音效的痛点，让创作者能通过简单的文字描述获得生动自然的音频素材。无论是需要为视频配音的内容创作者、探索多模态生成的研究人员，还是希望快速原型设计的开发者，都能从中受益。普通用户也可通过集成的演示页面轻松体验其神奇效果。\n\n技术亮点方面，Bark 支持商业使用（MIT 许可），并在近期更新中实现了显著的推理速度提升，同时提供了适配低显存 GPU 的版本，降低了使用门槛。此外，社区还建立了丰富的提示词库，帮助用户更好地驾驭模型生成特定风格的声音。只需几行 Python 代码，即可将创意文本转化为高质量音频，是连接文字与声音世界的强大桥梁。",39067,"2026-04-04T03:33:35",[21],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":62,"last_commit_at":63,"category_tags":64,"status":22},3788,"airi","moeru-ai\u002Fairi","airi 是一款开源的本地化 AI 伴侣项目，旨在将虚拟角色（如“二次元老婆”或赛博生命）带入用户的现实世界。它的核心目标是复刻并超越知名 AI 主播 Neuro-sama 的能力，让用户能够拥有完全自主掌控、可私有化部署的智能伙伴。\n\nairi 主要解决了用户对高度定制化、具备情感交互能力且数据隐私安全的 AI 角色的需求。不同于依赖云端服务的通用助手，airi 允许用户在本地运行，不仅保护了对话隐私，还赋予了用户定义角色性格与灵魂的自由。它支持实时语音聊天，甚至能直接参与《我的世界》（Minecraft）和《异星工厂》（Factorio）等游戏，实现了从单纯对话到共同娱乐的跨越。\n\n这款工具非常适合喜爱虚拟角色的普通用户、希望搭建个性化 AI 陪伴的技术爱好者，以及研究多模态交互的开发者。其独特的技术亮点在于跨平台支持（涵盖 Web、macOS 和 Windows）以及强大的游戏交互能力，让 AI 不仅能“说”，还能“玩”。通过容器化的灵魂设计，airi 为每个人创造专属数字生命提供了可能，让虚拟陪伴变得更加真实且触手可及。",37086,1,"2026-04-05T10:54:25",[19,21,17],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":71,"readme_en":72,"readme_zh":73,"quickstart_zh":74,"use_case_zh":75,"hero_image_url":76,"owner_login":77,"owner_name":78,"owner_avatar_url":79,"owner_bio":78,"owner_company":78,"owner_location":78,"owner_email":78,"owner_twitter":78,"owner_website":78,"owner_url":80,"languages":81,"stars":89,"forks":90,"last_commit_at":91,"license":92,"difficulty_score":29,"env_os":93,"env_gpu":94,"env_ram":95,"env_deps":96,"category_tags":104,"github_topics":105,"view_count":10,"oss_zip_url":78,"oss_zip_packed_at":78,"status":22,"created_at":109,"updated_at":110,"faqs":111,"releases":145},3151,"domesticatedviking\u002FTextyMcSpeechy","TextyMcSpeechy","Easily create Piper text-to-speech models in any voice.  Make a text-to-speech model with your own voice recordings, or use thousands of RVC voices. Works offline on a Raspberry pi.   Rapidly record custom datasets for any metadata.csv file and listen to your model as it is training.","TextyMcSpeechy 是一款专为树莓派等离线环境设计的开源工具，旨在帮助用户轻松创建个性化的 Piper 文本转语音（TTS）模型。它解决了传统语音合成定制门槛高、依赖云端服务以及数据准备繁琐的痛点，让用户无需联网即可在本地完成从录音采集、数据集构建到模型训练的全过程。\n\n无论是希望用家人声音制作趣味语音克隆的普通爱好者，还是需要为 Home Assistant 等智能家居项目部署多语言语音助手的开发者，都能从中受益。TextyMcSpeechy 支持利用用户自己的录音或数千种现有的 RVC 声音资源来训练模型，并允许通过微调预训练检查点来大幅缩短训练时间。\n\n其技术亮点在于高度集成的自动化工作流：内置的数据集录制工具可快速生成标准元数据文件；训练过程中支持实时监听效果，方便及时调整；同时采用 Docker 容器化部署，极大简化了安装与环境配置。此外，它还提供了自定义发音规则指南及多语言配置文件，近期更新更增加了对 21 种额外语言的支持及断点续训功能，确保在资源受限设备上也能稳定运行。作为一个完全免费且注重隐私的业余项目，TextyMcSpeechy 让高质量语音合成的定制化","TextyMcSpeechy 是一款专为树莓派等离线环境设计的开源工具，旨在帮助用户轻松创建个性化的 Piper 文本转语音（TTS）模型。它解决了传统语音合成定制门槛高、依赖云端服务以及数据准备繁琐的痛点，让用户无需联网即可在本地完成从录音采集、数据集构建到模型训练的全过程。\n\n无论是希望用家人声音制作趣味语音克隆的普通爱好者，还是需要为 Home Assistant 等智能家居项目部署多语言语音助手的开发者，都能从中受益。TextyMcSpeechy 支持利用用户自己的录音或数千种现有的 RVC 声音资源来训练模型，并允许通过微调预训练检查点来大幅缩短训练时间。\n\n其技术亮点在于高度集成的自动化工作流：内置的数据集录制工具可快速生成标准元数据文件；训练过程中支持实时监听效果，方便及时调整；同时采用 Docker 容器化部署，极大简化了安装与环境配置。此外，它还提供了自定义发音规则指南及多语言配置文件，近期更新更增加了对 21 种额外语言的支持及断点续训功能，确保在资源受限设备上也能稳定运行。作为一个完全免费且注重隐私的业余项目，TextyMcSpeechy 让高质量语音合成的定制化变得触手可及。","# TextyMcSpeechy\n\n## Make any voice into a Piper text-to-speech model \n- Make a custom Piper TTS model out of your own voice samples or any existing voice dataset\n- Learn how to convert a public domain dataset into another voice using an RVC model\n- Learn how to make custom datasets from audio clips and text transcripts\n- Use the dataset recorder to make fun TTS clones of your family and friends\n- Listen to your voice as training progresses in a convenient training environment \n- Rapidly train custom TTS voices by finetuning pretrained checkpoint files\n- Now runs Piper in a docker container for much more convenient installation\n- Includes original resources for creating custom pronunciation rules.\n- Includes original guides for using custom Piper voices with [Home Assistant](https:\u002F\u002Fwww.home-assistant.io\u002F)\n- 100% free, runs 100% offline.\n  \n## This hobby project has gotten real press!  How cool is that!?\n- https:\u002F\u002Fwww.tomshardware.com\u002Fraspberry-pi\u002Fadd-any-voice-to-your-raspberry-pi-project-with-textymcspeechy\n- https:\u002F\u002Fwww.hackster.io\u002Fnews\u002Ferik-bjorgan-makes-voice-cloning-easy-with-the-applio-and-piper-based-textymcspeechy-e9bcef4246fb\n\n## News\n#### **March 8 2025** - A simpler option for pretrained checkpoints\n- `download_defaults.sh` now can use a `generic` language pack to download checkpoints that can be used as the starting point for training voices in any language. This option may exchange a bit of voice quality for convenience, but it will make it easier for new users to get started.\n- Please note that there don't appear to be any compatible `low` quality pretrained checkpoints available on huggingface right now.  This means that only `medium` and `high` quality voices will be able to be built from downloaded pretrained checkpoint files.  You can still train a `low` quality model from scratch and use one of its checkpoints as a pretrained checkpoint for future models.\n- `run_training.sh` now offers to save any unsaved checkpoint found in `training_folder` before wiping it, which will make it easier to resume dojos if they crash due to insufficient memory.\n- `piper_training.sh` now correctly applies the quality parameter.\n- teaser: [esauvisky](github.com\u002Fesauvisky) has been up to some truly exciting stuff in the pull requests that should make building custom voice datasets vastly easier. Can't wait to see it in action.\n\n#### **March 5 2025** - Fixed `download_defaults.sh` to handle `.ckpt` files that have non-conforming filenames.\n- `download_defaults.sh` now uses heuristics to rename checkpoint files that do not have the required `epoch=1000-step=3493434.ckpt` filename format.\n- A summary of all voice type and quality combinations provided by the `.conf` file are now listed when the script is finished.\n\n#### **March 3 2025** - improvements to preprocessing workflow, fix for custom pronunciations not being used for training, new .conf files.\n- Added option to skip or reinitialize pre-processing when a preprocessed dataset is found in `training_folder`.\n- Discovered that although custom pronunciation rules had been compiling correctly inside the docker container, `piper_phonemize` had a second set of rules that it was using for preprocessing instead.  `container_apply_custom_rules.sh` has been updated to correct this issue.\n- Big thanks to kelmoran for putting together a whole bunch of `.conf` files for downloading pretrained checkpoints in languages other than English!\n\n#### **March 2 2025** - added missing languages\n- Added 21 languages supported by `espeak-ng` that were missing from `create_dataset.sh` and `espeak_language_identifiers.txt` due to a truncated list being supplied when ChatGPT reformatted the markdown table.\n- Sinhala, Slovak, Slovenian, Lule Saami, Spanish (Spain), Spanish (Latin America), Swahili, Swedish, Tamil, Thai, Turkmen, Tatar, Telugu, Turkish, Uyghur, Urdu, Uzbek, Vietnamese (Central Vietnam), Vietnamese (Northern Vietnam), Vietnamese (Southern Vietnam), and Welsh are now available in addition to all previously supported languages.\n\n#### **February 24 2025** - fixed docs for manually editing voices to comply with Home Assistant's requirements\n- My previous documentation of this process produced voices that worked in user scripts within Home Assistant, but I discovered that they would crash when used to create entities in `Settings` > `Voice Assistants` if fields set in the `.onnx.json` file differed even slightly from what was expected.\n- I have updated the [docs](docs\u002Frenaming_and_preparing_custom_piper_voices.md) to correct this issue.\n- This should not impact voices trained with the latest version of TextyMcSpeechy.\n \n#### **February 21 2025** - Piper-compliant filenames, improvements to workflow when training from scratch\n- Voice models are now exported with filenames that comply with piper's naming convention (eg `en_US-bob_1234-medium.onnx`)\n- `.onnx.json` files now have fields set correctly when exported\n- These changes should make all models exported to `tts_dojo\u002Ftts_voices` usable in Home Assistant without modifications.\n- Fixed issues with menus when resuming sessions that were intially trained from scratch\n\n#### **February 20 2025** - Improvements to multi-language suppport\n- Training models from scratch (ie. without using pretrained checkpoint files) is now an option provided by `run_training.sh`.\n- `create_datasets.sh` now stores the `espeak-ng` language identifier in `dataset.conf` so that there is no need to manually set a language during preprocessing.\n- the language code needed to build filenames that comply with Piper's naming convention is also stored in `dataset.conf`.\n- datasets created with earlier versions of TextyMcSpeechy will need to be updated: `create_datasets.sh \u003Cdataset_folder>`\n- `DATASETS\u002Fespeak_language_identifiers.txt` provides clear directions about which language codes to use when setting up a dataset.  \n    \n#### **February 18 2025** - A new main branch appears!\n   - This brand new branch runs Piper in a docker container, which makes installation far, far, far, less painful.\n   - The scripts and docs in this branch have all been overhauled.\n   - The branch formerly known as `main` is now the `non-containerized` branch.  It will be kept around for reference purposes but will not be maintained.\n\n#### **February 17 2025** - latest features:\n   - Layout of tmux training environment can now be saved by selecting the control console and pressing `t`.  This layout will be applied automatically on subsequent runs.\n   - [Custom pronunciation rules]((tts_dojo\u002FESPEAK_RULES\u002FREADME_custom_pronunciation.md)) can now be defined in `tts_dojo\u002FESPEAK_RULES`.  These can be applied automatically whenever the `textymcspeechy-piper` container launches via `ESPEAK_RULES\u002Fautomated_espeak_rules.sh`.\n\n## Usage\n\nRead the [quick start guide](quick_start_guide.md) to learn how to build datasets and train models.\n\n## Original guides in this repo:\n - [Customizing pronunciation](tts_dojo\u002FESPEAK_RULES\u002FREADME_custom_pronunciation.md)\n - [Using custom voices in Home Assistant](docs\u002Fusing_custom_voices_in_home_assistant_os.md)\n - [Rendering custom voices for Home Assistant on a networked device with a GPU](docs\u002Frunning_custom_piper_voices_on_GPU.md)\n \n## System Requirements\n - A NVIDIA GPU with drivers capable of running CUDA is required. Training on CPU, while technically possible, is not officially supported.\n - A hard drive with sufficient storage capacity for the base installation (~15GB) and checkpoint files generated during training.  50gb of free space is suggested as a practical minimum.\n - This project is written entirely in shell script and is primarily intended for Linux users.  Debian-based distros are recommended, issues have been reported with Arch.  Windows users will need to use [WSL](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fwsl\u002Finstall) to run it.\n\n## Installation:\n1.  Check for currently installed Nvidia driver by running `nvidia-smi`.  If something like the image below shows up, you may be able to skip to step 3\n![image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fdomesticatedviking_TextyMcSpeechy_readme_6e61003af4df.png)\n2.  If Nvidia drivers are not installed on your system I recommend you do this using whatever \"official\" method exists for the distribution you are using.  That's all the advice I can give you - in the past I have known the pain of spending hours repairing my OS after installing a driver I shouldn't have.  If you survive this step continue to step 3.\n3.  Check whether Docker is installed on your system by running `docker --version`.  If it is installed skip to step 5.\n4.  You can install Docker using the instructions here: https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstall\u002F\n5.  You will need the NVIDIA Container Toolkit to enable GPU access within docker containers.  https:\u002F\u002Fdocs.nvidia.com\u002Fdatacenter\u002Fcloud-native\u002Fcontainer-toolkit\u002Flatest\u002Finstall-guide.html\n6.  Clone this repo: \n```\ngit clone https:\u002F\u002Fgithub.com\u002Fdomesticatedviking\u002FTextyMcSpeechy\n```\n7.  To install packages, make scripts executable, choose the type of container you wish to run, and verify that needed tools are installed, from the `TextyMcSpeechy` directory, run\n```\nsudo bash setup.sh\n```\n8. Setup is complete.  If you chose to use the prebuilt container from dockerhub it will download automatically the first time you use the `run_container.sh` script or start to train a model. Take note that it's a 6GB download and over 10GB when decompressed.\n9. Continue with the [quick start guide](quick_start_guide.md) to begin training models.\n\n\n\n\n## Notes\n\n- The prebuilt docker container will install automatically - You don't need to download it.  But if you want to anyway, run this:\n```\ndocker image pull domesticatedviking\u002Ftextymcspeechy-piper:latest\n```\n- To build your own image from the `Dockerfile` and `docker-compose.yml` in the main `TextyMcSpeechy` directory, change to that directory and run:\n```\ndocker compose build\n```\n - Scripts are provided for launching the `textymcspeechy-piper` image, whether it is prebuilt or locally built.\n    - `local_container_run.sh` launches images you have built yourself with `Dockerfile` and `docker-compose.yml`\n    - `prebuilt_container_run.sh` launches a prebuilt image.\n    - `run_container.sh` is a script that functions as an alias to one of the scripts above.  It is called by `run_training.sh` to automatically bring the container up when training starts.\n    - `stop_container.sh` will shut down the `textymcspeechy-piper` container if it is running.\n\n - Custom `espeak-ng` pronunciation rules can be defined in `tts_dojo\u002FESPEAK_RULES`.  A guide for customizing pronunciation can be found [here](tts_dojo\u002FESPEAK_RULES\u002FREADME_custom_pronunciation.md).\n","# TextyMcSpeechy\n\n## 将任何声音转换为 Piper 文本转语音模型\n- 使用您自己的语音样本或现有语音数据集创建自定义 Piper TTS 模型\n- 学习如何使用 RVC 模型将公共领域数据集转换为另一种声音\n- 学习如何从音频片段和文本转录中制作自定义数据集\n- 使用数据集录制器为您的家人和朋友制作有趣的 TTS 克隆\n- 在便捷的训练环境中，随着训练的进行聆听您的声音\n- 通过微调预训练检查点文件，快速训练自定义 TTS 声音\n- 现在以 Docker 容器运行 Piper，安装更加方便\n- 包含用于创建自定义发音规则的原始资源。\n- 包含使用自定义 Piper 声音与 [Home Assistant](https:\u002F\u002Fwww.home-assistant.io\u002F) 配合使用的原创指南\n- 100% 免费，100% 离线运行。\n\n## 这个业余项目获得了大量媒体报道！ 多酷啊！？\n- https:\u002F\u002Fwww.tomshardware.com\u002Fraspberry-pi\u002Fadd-any-voice-to-your-raspberry-pi-project-with-textymcspeechy\n- https:\u002F\u002Fwww.hackster.io\u002Fnews\u002Ferik-bjorgan-makes-voice-cloning-easy-with-the-applio-and-piper-based-textymcspeechy-e9bcef4246fb\n\n## 新闻\n#### **2025年3月8日** - 预训练检查点的更简单选项\n- `download_defaults.sh` 现在可以使用 `generic` 语言包下载检查点，这些检查点可以用作训练任何语言声音的起点。这个选项可能会牺牲一点语音质量来换取便利性，但它会让新用户更容易上手。\n- 请注意，目前在 Hugging Face 上似乎没有可用的兼容 `low` 质量预训练检查点。这意味着只能从下载的预训练检查点文件中构建 `medium` 和 `high` 质量的声音。您仍然可以从头开始训练一个 `low` 质量模型，并将其某个检查点用作未来模型的预训练检查点。\n- `run_training.sh` 现在会在清空 `training_folder` 之前保存其中所有未保存的检查点，这将使训练营在因内存不足而崩溃时更容易恢复。\n- `piper_training.sh` 现在会正确应用质量参数。\n- 预告：[esauvisky](github.com\u002Fesauvisky) 在拉取请求中做了一些非常令人兴奋的事情，这些事情应该会使构建自定义语音数据集变得容易得多。迫不及待想看到它的实际效果了。\n\n#### **2025年3月5日** - 修复了 `download_defaults.sh`，使其能够处理文件名不符合规范的 `.ckpt` 文件。\n- `download_defaults.sh` 现在会使用启发式方法重命名那些没有符合 `epoch=1000-step=3493434.ckpt` 格式要求的检查点文件。\n- 脚本执行完毕后，现在会列出 `.conf` 文件中提供的所有语音类型和质量组合的摘要。\n\n#### **2025年3月3日** - 预处理流程改进，修复自定义发音未用于训练的问题，新增 .conf 文件。\n- 添加了在 `training_folder` 中找到已预处理数据集时跳过或重新初始化预处理的选项。\n- 发现尽管自定义发音规则在 Docker 容器内编译正确，但 `piper_phonemize` 实际上使用的是另一套规则来进行预处理。`container_apply_custom_rules.sh` 已更新以纠正此问题。\n- 非常感谢 kelmoran 整理了一整套用于下载英语以外语言预训练检查点的 `.conf` 文件！\n\n#### **2025年3月2日** - 补充了缺失的语言\n- 添加了 21 种由 `espeak-ng` 支持的语言，这些语言此前由于 ChatGPT 重新格式化 Markdown 表格时提供的列表被截断，导致它们在 `create_dataset.sh` 和 `espeak_language_identifiers.txt` 中缺失。\n- 除了之前支持的所有语言外，僧伽罗语、斯洛伐克语、斯洛文尼亚语、卢勒萨米语、西班牙语（西班牙）、西班牙语（拉丁美洲）、斯瓦希里语、瑞典语、泰米尔语、泰语、土库曼语、鞑靼语、泰卢固语、土耳其语、维吾尔语、乌尔都语、乌兹别克语、越南中部方言、越南北部方言、越南南部方言以及威尔士语现在也都可以使用了。\n\n#### **2025年2月24日** - 修复了手动编辑声音以符合 Home Assistant 要求的文档\n- 我之前关于这一过程的文档生成的声音虽然可以在 Home Assistant 的用户脚本中使用，但我发现当它们用于在 `设置` > `语音助手` 中创建实体时，如果 `.onnx.json` 文件中设置的字段与预期稍有不同，就会导致崩溃。\n- 我已经更新了 [文档](docs\u002Frenaming_and_preparing_custom_piper_voices.md)，以纠正这个问题。\n- 这不应影响使用最新版本 TextyMcSpeechy 训练的声音。\n\n#### **2025年2月21日** - 符合 Piper 规范的文件名，从零开始训练时的工作流程改进\n- 现在导出的语音模型文件名符合 Piper 的命名规范（例如 `en_US-bob_1234-medium.onnx`）。\n- 导出的 `.onnx.json` 文件中的字段现在设置正确。\n- 这些更改应使所有导出到 `tts_dojo\u002Ftts_voices` 的模型无需修改即可在 Home Assistant 中使用。\n- 修复了从零开始训练的会话恢复时菜单出现的问题。\n\n#### **2025年2月20日** - 多语言支持的改进\n- 现在 `run_training.sh` 提供了从零开始训练模型的选项（即不使用预训练检查点文件）。\n- `create_datasets.sh` 现在会将 `espeak-ng` 的语言标识符存储在 `dataset.conf` 中，这样在预处理时就无需手动设置语言了。\n- 构建符合 Piper 命名规范的文件名所需的语言代码也会存储在 `dataset.conf` 中。\n- 使用早期版本 TextyMcSpeechy 创建的数据集需要更新：`create_datasets.sh \u003Cdataset_folder>`\n- `DATASETS\u002Fespeak_language_identifiers.txt` 提供了清晰的说明，指导在设置数据集时应使用哪些语言代码。\n\n#### **2025年2月18日** - 出现了一个新的主分支！\n- 这个全新的分支以 Docker 容器运行 Piper，使得安装过程变得轻松许多。\n- 该分支中的脚本和文档均已全面更新。\n- 以前称为 `main` 的分支现在成为 `非容器化` 分支。它将作为参考保留，但不再维护。\n\n#### **2025年2月17日** - 最新功能：\n- 现在可以通过选择控制台并按下 `t` 键来保存 tmux 训练环境的布局。下次运行时，该布局将自动应用。\n- [自定义发音规则]((tts_dojo\u002FESPEAK_RULES\u002FREADME_custom_pronunciation.md))现在可以在 `tts_dojo\u002FESPEAK_RULES` 中定义。每当 `textymcspeechy-piper` 容器通过 `ESPEAK_RULES\u002Fautomated_espeak_rules.sh` 启动时，这些规则都会自动应用。\n\n## 使用方法\n\n请阅读 [快速入门指南](quick_start_guide.md)，了解如何构建数据集和训练模型。\n\n## 本仓库中的原始指南：\n - [自定义发音](tts_dojo\u002FESPEAK_RULES\u002FREADME_custom_pronunciation.md)\n - [在 Home Assistant 中使用自定义语音](docs\u002Fusing_custom_voices_in_home_assistant_os.md)\n - [在具有 GPU 的联网设备上为 Home Assistant 渲染自定义语音](docs\u002Frunning_custom_piper_voices_on_GPU.md)\n \n## 系统要求\n - 需要配备可运行 CUDA 的驱动程序的 NVIDIA GPU。虽然理论上可以在 CPU 上进行训练，但官方并不支持此方式。\n - 至少需要一个具备足够存储空间的硬盘，用于存放基础安装文件（约 15GB）以及训练过程中生成的检查点文件。建议至少预留 50GB 的可用空间作为实际最低要求。\n - 本项目完全由 Shell 脚本编写，主要面向 Linux 用户。推荐使用基于 Debian 的发行版；有报告称在 Arch 系统上可能会遇到问题。Windows 用户则需要通过 [WSL](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fwsl\u002Finstall) 来运行。\n\n## 安装步骤：\n1. 通过运行 `nvidia-smi` 检查当前是否已安装 NVIDIA 驱动程序。如果出现类似下图的画面，您可以直接跳至第 3 步：\n![image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fdomesticatedviking_TextyMcSpeechy_readme_6e61003af4df.png)\n2. 如果您的系统尚未安装 NVIDIA 驱动程序，建议您使用所用发行版的“官方”方法进行安装。关于具体操作，我无法提供更多指导——过去我曾因安装了不合适的驱动程序而导致操作系统损坏，耗费数小时才得以修复。如果您顺利通过这一步，请继续执行第 3 步。\n3. 通过运行 `docker --version` 检查 Docker 是否已安装。如果已安装，则跳至第 5 步。\n4. 您可以按照此处的说明安装 Docker：https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstall\u002F\n5. 为了在 Docker 容器中启用 GPU 访问权限，您需要安装 NVIDIA Container Toolkit：https:\u002F\u002Fdocs.nvidia.com\u002Fdatacenter\u002Fcloud-native\u002Fcontainer-toolkit\u002Flatest\u002Finstall-guide.html\n6. 克隆本仓库：\n```\ngit clone https:\u002F\u002Fgithub.com\u002Fdomesticatedviking\u002FTextyMcSpeechy\n```\n7. 在 `TextyMcSpeechy` 目录下运行以下命令，以安装相关软件包、使脚本可执行、选择要运行的容器类型，并验证所需工具是否已正确安装：\n```\nsudo bash setup.sh\n```\n8. 安装完成。如果您选择了使用 Docker Hub 上的预构建容器，它将在您首次运行 `run_container.sh` 脚本或开始训练模型时自动下载。请注意，该镜像的下载大小约为 6GB，解压后将超过 10GB。\n9. 继续阅读[快速入门指南](quick_start_guide.md)，开始训练模型。\n\n\n\n\n## 备注\n\n- 预构建的 Docker 容器会自动安装，您无需手动下载。不过，如果您仍想手动下载，可以运行以下命令：\n```\ndocker image pull domesticatedviking\u002Ftextymcspeechy-piper:latest\n```\n- 若要根据主 `TextyMcSpeechy` 目录下的 `Dockerfile` 和 `docker-compose.yml` 构建自己的镜像，请切换到该目录并运行：\n```\ndocker compose build\n```\n- 提供了用于启动 `textymcspeechy-piper` 镜像的脚本，无论该镜像是预构建的还是本地构建的。\n    - `local_container_run.sh` 用于启动您使用 `Dockerfile` 和 `docker-compose.yml` 自行构建的镜像。\n    - `prebuilt_container_run.sh` 用于启动预构建的镜像。\n    - `run_container.sh` 是一个别名脚本，指向上述其中一个脚本。它会在 `run_training.sh` 脚本调用时自动启动容器，以便开始训练。\n    - `stop_container.sh` 可用于停止正在运行的 `textymcspeechy-piper` 容器。\n\n- 自定义的 `espeak-ng` 发音规则可以在 `tts_dojo\u002FESPEAK_RULES` 目录中定义。有关自定义发音的指南请参阅[此处](tts_dojo\u002FESPEAK_RULES\u002FREADME_custom_pronunciation.md)。","# TextyMcSpeechy 快速上手指南\n\nTextyMcSpeechy 是一个开源工具，支持将任意声音样本（或现有数据集）转换为 **Piper** 文本转语音（TTS）模型。该项目完全免费、支持离线运行，并基于 Docker 容器化部署，极大简化了安装与训练流程。\n\n---\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：推荐 Linux（基于 Debian 的发行版，如 Ubuntu）。Windows 用户需通过 [WSL](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fwsl\u002Finstall) 运行。\n- **GPU**：必须配备支持 CUDA 的 NVIDIA 显卡及对应驱动（CPU 训练非官方支持）。\n- **存储空间**：建议至少预留 **50GB** 可用空间（基础安装约 15GB，含训练生成的检查点文件）。\n\n### 前置依赖\n1. **NVIDIA 驱动**  \n   运行以下命令确认驱动已安装：\n   ```bash\n   nvidia-smi\n   ```\n   若显示 GPU 信息表格，则驱动正常；否则请通过发行版官方渠道安装驱动。\n\n2. **Docker**  \n   检查是否已安装：\n   ```bash\n   docker --version\n   ```\n   若未安装，请参考 [Docker 官方安装指南](https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstall\u002F)。  \n   *国内用户可参考阿里云或腾讯云镜像加速方案配置 Docker。*\n\n3. **NVIDIA Container Toolkit**  \n   用于在 Docker 容器中启用 GPU 访问：\n   ```bash\n   # 参考官方安装指南：\n   # https:\u002F\u002Fdocs.nvidia.com\u002Fdatacenter\u002Fcloud-native\u002Fcontainer-toolkit\u002Flatest\u002Finstall-guide.html\n   ```\n\n---\n\n## 安装步骤\n\n1. **克隆项目仓库**\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002Fdomesticatedviking\u002FTextyMcSpeechy\n   cd TextyMcSpeechy\n   ```\n\n2. **执行初始化脚本**  \n   该脚本将自动安装依赖、设置权限并配置容器环境：\n   ```bash\n   sudo bash setup.sh\n   ```\n   - 首次运行时，若选择预构建镜像，系统将自动下载 `domesticatedviking\u002Ftextymcspeechy-piper:latest`（约 6GB，解压后超 10GB）。\n   - *国内用户若下载缓慢，可手动拉取镜像后本地构建（见下方“可选操作”）。*\n\n3. **验证安装**  \n   脚本执行完毕后，环境即准备就绪。后续训练将通过 `run_training.sh` 自动启动容器。\n\n> **可选操作：手动管理镜像**  \n> - 手动拉取预构建镜像：\n>   ```bash\n>   docker image pull domesticatedviking\u002Ftextymcspeechy-piper:latest\n>   ```\n> - 本地构建镜像（需 `Dockerfile` 和 `docker-compose.yml`）：\n>   ```bash\n>   docker compose build\n>   ```\n\n---\n\n## 基本使用\n\n### 快速开始训练\n1. **阅读详细指南**  \n   项目提供了完整的快速入门文档：\n   ```bash\n   # 在项目中查看 quick_start_guide.md\n   ```\n   该指南涵盖数据集构建、模型训练及自定义发音规则等核心流程。\n\n2. **启动训练**  \n   在项目根目录运行：\n   ```bash\n   .\u002Frun_training.sh\n   ```\n   - 脚本将自动启动 Docker 容器并进入交互式训练环境（基于 tmux）。\n   - 按提示选择预训练检查点（支持多语言）或从头训练。\n   - 训练过程中可实时监听语音生成效果。\n\n3. **导出模型**  \n   训练完成后，模型将自动保存至 `tts_dojo\u002Ftts_voices` 目录，文件名符合 Piper 规范（如 `en_US-bob_1234-medium.onnx`），可直接用于 **Home Assistant** 或其他兼容平台。\n\n### 自定义发音规则（可选）\n在 `tts_dojo\u002FESPEAK_RULES` 目录下定义 `.rules` 文件，容器启动时将自动应用规则。详细指南见：\n```bash\ntts_dojo\u002FESPEAK_RULES\u002FREADME_custom_pronunciation.md\n```\n\n---\n\n**提示**：所有训练过程完全离线，无需联网。更多高级用法（如多语言支持、Home Assistant 集成）请参考项目原始文档。","一位智能家居爱好者希望为运行在树莓派上的 Home Assistant 系统添加家人的个性化语音播报功能，让设备能用孩子或老人的声音提醒日程。\n\n### 没有 TextyMcSpeechy 时\n- **技术门槛极高**：手动配置 Piper TTS 训练环境复杂，需分别处理音频清洗、文本对齐及音素规则，非专业开发者难以入手。\n- **硬件限制明显**：传统训练流程依赖高性能 GPU，无法直接在资源受限的树莓派上离线完成模型微调与推理。\n- **迭代反馈缓慢**：训练过程中无法实时监听中间生成的语音效果，往往需等待数小时训练结束后才能发现音色偏差，试错成本巨大。\n- **多语言支持困难**：自定义发音规则和非英语数据集的预处理流程繁琐，缺乏统一的配置文件管理，容易出错。\n\n### 使用 TextyMcSpeechy 后\n- **一键式工作流**：通过内置脚本快速录制并生成符合标准的 `metadata.csv` 数据集，自动应用自定义发音规则，大幅降低数据准备难度。\n- **边缘设备原生支持**：利用 Docker 容器化方案，直接在树莓派上离线运行训练与推理，无需云端依赖或昂贵显卡。\n- **实时训练监听**：在训练进行时即可随时试听当前检查点生成的语音，即时调整参数，确保最终音色高度还原。\n- **全球化语言适配**：预置支持包括中文、越南语等在内的 20 多种语言配置文件，轻松实现多语种个性化语音克隆。\n\nTextyMcSpeechy 将复杂的语音克隆工程简化为树莓派上的几步操作，让每个人都能低成本拥有专属的离线 AI 语音助手。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fdomesticatedviking_TextyMcSpeechy_fa1708cc.png","domesticatedviking",null,"https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fdomesticatedviking_b52d0e59.jpg","https:\u002F\u002Fgithub.com\u002Fdomesticatedviking",[82,86],{"name":83,"color":84,"percentage":85},"Shell","#89e051",99,{"name":87,"color":88,"percentage":62},"Dockerfile","#384d54",637,35,"2026-03-29T23:15:50","MIT","Linux, Windows (需通过 WSL)","必需 NVIDIA GPU 且支持 CUDA（CPU 训练技术上可行但不受官方支持），具体型号和显存大小未说明","未说明（但提到内存不足可能导致训练崩溃）",{"notes":97,"python":98,"dependencies":99},"该项目主要基于 Shell 脚本编写，推荐使用 Debian 系 Linux 发行版（Arch 有报告问题）。Windows 用户必须使用 WSL 运行。基础安装需约 15GB 存储空间，建议至少预留 50GB 空闲空间用于存储检查点文件。项目通过 Docker 容器运行 Piper，首次使用预构建镜像需下载约 6GB 文件（解压后超 10GB）。","未说明",[100,101,102,103],"Docker","NVIDIA Container Toolkit","NVIDIA Drivers","espeak-ng",[21],[106,107,108],"homeassistant","piper-tts","tts","2026-03-27T02:49:30.150509","2026-04-06T08:46:29.638814",[112,117,122,126,131,135,140],{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},14515,"导出过程显示完成，但没有生成 .onnx 文件怎么办？","这通常是因为 Docker 容器内未安装 onnx 库。可以通过以下命令进入容器并强制安装 onnx 来解决：\ndocker exec -u 0 -it textymcspeechy-piper bash -c \"pip install onnx\"\n执行后，.onnx 文件应该会正常出现在目标文件夹中。","https:\u002F\u002Fgithub.com\u002Fdomesticatedviking\u002FTextyMcSpeechy\u002Fissues\u002F35",{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},14516,"启动训练时出现 'unknown or invalid runtime name: nvidia' 错误如何解决？","该错误表明 Docker 未正确配置 NVIDIA 运行时。首先请确保已正确安装 NVIDIA Container Toolkit。如果工具已安装但仍报错，建议重新运行 `newdojo.sh` 脚本以重置环境状态。此外，请确保拉取了 TextyMcSpeechy 的最新更新。","https:\u002F\u002Fgithub.com\u002Fdomesticatedviking\u002FTextyMcSpeechy\u002Fissues\u002F25",{"id":123,"question_zh":124,"answer_zh":125,"source_url":121},14517,"遇到 Docker 容器权限错误导致无法创建缓存文件夹怎么办？","如果是由于宿主机的文件夹权限导致容器无法写入（例如在 root 用户下运行或挂载卷权限问题），可以尝试临时修改 dojo 文件夹的权限。一个快速（但不安全）的解决方法是在你的 `xxx_dojo` 文件夹内运行：\nchmod -R 777 *\n这将允许容器创建所需的 `cache` 文件夹。更安全的做法是检查映射卷的所有者和权限设置。",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},14518,"训练预处理时报 'Failed to set eSpeak-ng voice' 错误是什么原因？","此错误通常发生在多语言数据集处理过程中，表明 eSpeak-ng 语音引擎未能正确加载指定语言的语音包。请检查是否安装了正确的 eSpeak-ng 数据文件，并确认在配置中指定的语言代码（如 ru-ru）与已安装的语音包匹配。如果是 Docker 环境，可能需要重新构建镜像以确保包含所有必要的语言数据。","https:\u002F\u002Fgithub.com\u002Fdomesticatedviking\u002FTextyMcSpeechy\u002Fissues\u002F21",{"id":132,"question_zh":133,"answer_zh":134,"source_url":130},14519,"遇到 'Could not load library libcudnn_cnn_infer.so.8' 错误该如何排查？","这个错误通常与 CUDA 或 cuDNN 库的路径有关。需要检查你是将相关模块安装在了 piper 使用的虚拟环境（venv）内部，还是安装在了系统全局。如果是使用 Docker，请确保基础镜像包含了正确版本的 CUDA Toolkit（如 11.8）且库文件路径在 LD_LIBRARY_PATH 中可见。",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},14520,"项目是否支持 Docker 部署以避免运行时环境问题？","是的，项目已经支持 Docker。维护者已完成了 Dockerfile 和镜像的构建，并将其作为新的主分支。推荐使用 Docker 容器运行 Piper，并将 `tts_dojo` 文件夹作为挂载卷，以便宿主机和容器都能访问数据。这可以有效避免本地环境依赖冲突带来的运行时问题。","https:\u002F\u002Fgithub.com\u002Fdomesticatedviking\u002FTextyMcSpeechy\u002Fissues\u002F17",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},14521,"训练多少个 epoch 才能得到可用的模型？","具体所需 epoch 数取决于数据集大小和质量，但通常不需要数千个 epoch。如果在 70 个 epoch 后仍听不出目标声音，可能不是训练时长的问题，而是数据集预处理、发音标注（phonemization）或学习率设置的问题。建议先检查预处理日志是否有错误，并参考社区分享的成功配置参数。","https:\u002F\u002Fgithub.com\u002Fdomesticatedviking\u002FTextyMcSpeechy\u002Fissues\u002F5",[]]