[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-MoonInTheRiver--DiffSinger":3,"tool-MoonInTheRiver--DiffSinger":62},[4,18,26,35,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},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,2,"2026-04-10T11:39:34",[14,15,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":32,"last_commit_at":41,"category_tags":42,"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",[43,13,15,14],"插件",{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[52,15,13,14],"语言模型",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,61],"视频",{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":78,"owner_email":79,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":10,"env_os":91,"env_gpu":92,"env_ram":91,"env_deps":93,"category_tags":105,"github_topics":107,"view_count":32,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":119,"updated_at":120,"faqs":121,"releases":152},7369,"MoonInTheRiver\u002FDiffSinger","DiffSinger","DiffSinger: Singing Voice Synthesis via Shallow Diffusion Mechanism (SVS & TTS); AAAI 2022; Official code","DiffSinger 是一款基于浅层扩散机制的开源人工智能项目，专注于歌声合成（SVS）与语音合成（TTS）。作为 AAAI 2022 的获奖成果，它致力于解决传统合成技术中声音机械、缺乏情感起伏以及音高控制不精准等痛点，能够生成自然流畅且富有表现力的人声。\n\n该项目不仅支持从文本直接生成语音，更具备强大的歌声合成能力，允许用户通过输入乐谱（MIDI）和歌词来定制演唱效果。其核心技术亮点在于创新性地引入了“浅层扩散机制”，在保持高质量音频生成的同时，显著提升了推理速度；后续更新还集成了 PNDM 加速插件，进一步优化了运行效率。此外，DiffSinger 提供了完善的训练与推理文档，并支持在 Hugging Face 上进行交互式体验。\n\nDiffSinger 非常适合人工智能研究人员、音频算法开发者以及音乐科技爱好者使用。对于希望深入探索扩散模型在音频领域应用的研究者，或是需要构建高质量虚拟歌手、有声读物系统的开发团队，它都是一个极具价值的底层框架。虽然普通用户也可通过在线演示感受其效果，但要充分发挥其潜力，通常需要具备一定的深度学习基础及 GPU 计算环境。","# DiffSinger: Singing Voice Synthesis via Shallow Diffusion Mechanism\n[![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-Paper-\u003CCOLOR>.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2105.02446)\n[![GitHub Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FMoonInTheRiver\u002FDiffSinger?style=social)](https:\u002F\u002Fgithub.com\u002FMoonInTheRiver\u002FDiffSinger)\n[![downloads](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002FMoonInTheRiver\u002FDiffSinger\u002Ftotal.svg)](https:\u002F\u002Fgithub.com\u002FMoonInTheRiver\u002FDiffSinger\u002Freleases)\n[![Hugging Face](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-blue?label=TTSDemo)](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FNATSpeech\u002FDiffSpeech) \n[![Hugging Face](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-blue?label=SVSDemo)](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FSilentlin\u002FDiffSinger)\n\n\nThis repository is the official PyTorch implementation of our AAAI-2022 [paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2105.02446), in which we propose DiffSinger (for Singing-Voice-Synthesis) and DiffSpeech (for Text-to-Speech).\n \n\n:tada: :tada: :tada: **Updates**:\n - Sep.11, 2022: :electric_plug: [DiffSinger-PN](docs\u002FREADME-SVS-opencpop-pndm.md). Add plug-in [PNDM](https:\u002F\u002Farxiv.org\u002Fabs\u002F2202.09778), ICLR 2022 in our laboratory, to accelerate DiffSinger freely.\n - Jul.27, 2022: Update documents for [SVS](docs\u002FREADME-SVS.md). Add easy inference [A](docs\u002FREADME-SVS-opencpop-cascade.md#4-inference-from-raw-inputs) & [B](docs\u002FREADME-SVS-opencpop-e2e.md#4-inference-from-raw-inputs); Add Interactive SVS running on [HuggingFace🤗 SVS](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FSilentlin\u002FDiffSinger).\n - Mar.2, 2022: MIDI-B-version.\n - Mar.1, 2022: [NeuralSVB](https:\u002F\u002Fgithub.com\u002FMoonInTheRiver\u002FNeuralSVB), for singing voice beautifying, has been released.\n - Feb.13, 2022: [NATSpeech](https:\u002F\u002Fgithub.com\u002FNATSpeech\u002FNATSpeech), the improved code framework, which contains the implementations of DiffSpeech and our NeurIPS-2021 work [PortaSpeech](https:\u002F\u002Fopenreview.net\u002Fforum?id=xmJsuh8xlq) has been released. \n - Jan.29, 2022: support MIDI-A-version SVS.\n - Jan.13, 2022: support SVS, release PopCS dataset.\n - Dec.19, 2021: support TTS. [HuggingFace🤗 TTS](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FNATSpeech\u002FDiffSpeech)\n \n:rocket: **News**: \n - Feb.24, 2022: Our new work, NeuralSVB was accepted by ACL-2022 [![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-Paper-\u003CCOLOR>.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2202.13277). [Demo Page](https:\u002F\u002Fneuralsvb.github.io).\n - Dec.01, 2021: DiffSinger was accepted by AAAI-2022.\n - Sep.29, 2021: Our recent work `PortaSpeech: Portable and High-Quality Generative Text-to-Speech` was accepted by NeurIPS-2021 [![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-Paper-\u003CCOLOR>.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2109.15166) .\n - May.06, 2021: We submitted DiffSinger to Arxiv [![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-Paper-\u003CCOLOR>.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2105.02446).\n\n## Environments\n1. If you want to use env of anaconda:\n    ```sh\n    conda create -n your_env_name python=3.8\n    source activate your_env_name \n    pip install -r requirements_2080.txt   (GPU 2080Ti, CUDA 10.2)\n    or pip install -r requirements_3090.txt   (GPU 3090, CUDA 11.4)\n    ```\n\n2. Or, if you want to use virtual env of python:\n    ```sh\n    ## Install Python 3.8 first. \n    python -m venv venv\n    source venv\u002Fbin\u002Factivate\n    # install requirements.\n    pip install -U pip\n    pip install Cython numpy==1.19.1\n    pip install torch==1.9.0\n    pip install -r requirements.txt\n    ```\n\n## Documents\n- [Run DiffSpeech (TTS version)](docs\u002FREADME-TTS.md).\n- [Run DiffSinger (SVS version)](docs\u002FREADME-SVS.md).\n\n## Overview\n| Mel Pipeline                                                                                | Dataset                                                  | Pitch Input       | F0 Prediction |   Acceleration Method       | Vocoder                       |\n| ------------------------------------------------------------------------------------------- | ---------------------------------------------------------| ----------------- | ------------- | --------------------------- | ----------------------------- |\n| [DiffSpeech (Text->F0, Text+F0->Mel, Mel->Wav)](docs\u002FREADME-TTS.md)                         | [Ljspeech](https:\u002F\u002Fkeithito.com\u002FLJ-Speech-Dataset\u002F)      | None              | Explicit      | Shallow Diffusion           | HiFiGAN                       |\n| [DiffSinger (Lyric+F0->Mel, Mel->Wav)](docs\u002FREADME-SVS-popcs.md)                            | [PopCS](https:\u002F\u002Fgithub.com\u002FMoonInTheRiver\u002FDiffSinger)    | Ground-Truth F0   | None          | Shallow Diffusion           | NSF-HiFiGAN                   |\n| [DiffSinger (Lyric+MIDI->F0, Lyric+F0->Mel, Mel->Wav)](docs\u002FREADME-SVS-opencpop-cascade.md) | [OpenCpop](https:\u002F\u002Fwenet.org.cn\u002Fopencpop\u002F)               | MIDI              | Explicit      | Shallow Diffusion           | NSF-HiFiGAN                   |\n| [FFT-Singer (Lyric+MIDI->F0, Lyric+F0->Mel, Mel->Wav)](docs\u002FREADME-SVS-opencpop-cascade.md) | [OpenCpop](https:\u002F\u002Fwenet.org.cn\u002Fopencpop\u002F)               | MIDI              | Explicit      | Invalid                     | NSF-HiFiGAN                   |\n| [DiffSinger (Lyric+MIDI->Mel, Mel->Wav)](docs\u002FREADME-SVS-opencpop-e2e.md)                   | [OpenCpop](https:\u002F\u002Fwenet.org.cn\u002Fopencpop\u002F)               | MIDI              | Implicit      | None                        | Pitch-Extractor + NSF-HiFiGAN |\n| [DiffSinger+PNDM (Lyric+MIDI->Mel, Mel->Wav)](docs\u002FREADME-SVS-opencpop-pndm.md)             | [OpenCpop](https:\u002F\u002Fwenet.org.cn\u002Fopencpop\u002F)               | MIDI              | Implicit      | PLMS                        | Pitch-Extractor + NSF-HiFiGAN |\n| [DiffSpeech+PNDM (Text->Mel, Mel->Wav)](docs\u002FREADME-TTS-pndm.md)                   | [Ljspeech](https:\u002F\u002Fkeithito.com\u002FLJ-Speech-Dataset\u002F)      | None              | Implicit      | PLMS                        | HiFiGAN                       |\n\n\n## Tensorboard\n```sh\ntensorboard --logdir_spec exp_name\n```\n\u003Ctable style=\"width:100%\">\n  \u003Ctr>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMoonInTheRiver_DiffSinger_readme_e5f6f3cb191c.png\" alt=\"Tensorboard\" height=\"250\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## Citation\n    @article{liu2021diffsinger,\n      title={Diffsinger: Singing voice synthesis via shallow diffusion mechanism},\n      author={Liu, Jinglin and Li, Chengxi and Ren, Yi and Chen, Feiyang and Liu, Peng and Zhao, Zhou},\n      journal={arXiv preprint arXiv:2105.02446},\n      volume={2},\n      year={2021}}\n\n\n## Acknowledgements\n* lucidrains' [denoising-diffusion-pytorch](https:\u002F\u002Fgithub.com\u002Flucidrains\u002Fdenoising-diffusion-pytorch)\n* Official [PyTorch Lightning](https:\u002F\u002Fgithub.com\u002FPyTorchLightning\u002Fpytorch-lightning)\n* kan-bayashi's [ParallelWaveGAN](https:\u002F\u002Fgithub.com\u002Fkan-bayashi\u002FParallelWaveGAN)\n* jik876's [HifiGAN](https:\u002F\u002Fgithub.com\u002Fjik876\u002Fhifi-gan)\n* Official [espnet](https:\u002F\u002Fgithub.com\u002Fespnet\u002Fespnet)\n* lmnt-com's [DiffWave](https:\u002F\u002Fgithub.com\u002Flmnt-com\u002Fdiffwave)\n* keonlee9420's [Implementation](https:\u002F\u002Fgithub.com\u002Fkeonlee9420\u002FDiffSinger). \n\nEspecially thanks to:\n\n* Team Openvpi's maintenance: [DiffSinger](https:\u002F\u002Fgithub.com\u002Fopenvpi\u002FDiffSinger).\n* Your re-creation and sharing.\n    ","# DiffSinger：基于浅层扩散机制的歌声合成\n[![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-Paper-\u003CCOLOR>.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2105.02446)\n[![GitHub Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FMoonInTheRiver\u002FDiffSinger?style=social)](https:\u002F\u002Fgithub.com\u002FMoonInTheRiver\u002FDiffSinger)\n[![downloads](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002FMoonInTheRiver\u002FDiffSinger\u002Ftotal.svg)](https:\u002F\u002Fgithub.com\u002FMoonInTheRiver\u002FDiffSinger\u002Freleases)\n[![Hugging Face](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-blue?label=TTSDemo)](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FNATSpeech\u002FDiffSpeech) \n[![Hugging Face](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-blue?label=SVSDemo)](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FSilentlin\u002FDiffSinger)\n\n\n本仓库是我们AAAI-2022 [论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2105.02446) 的官方 PyTorch 实现，在该论文中我们提出了 DiffSinger（用于歌声合成）和 DiffSpeech（用于文本到语音合成）。\n \n\n:tada: :tada: :tada: **更新**：\n - 2022年9月11日：:electric_plug: [DiffSinger-PN](docs\u002FREADME-SVS-opencpop-pndm.md)。添加了我们实验室在 ICLR 2022 上提出的插件 [PNDM](https:\u002F\u002Farxiv.org\u002Fabs\u002F2202.09778)，以免费加速 DiffSinger。\n - 2022年7月27日：更新了 [SVS](docs\u002FREADME-SVS.md) 的文档。新增了简易推理方式 [A](docs\u002FREADME-SVS-opencpop-cascade.md#4-inference-from-raw-inputs) 和 [B](docs\u002FREADME-SVS-opencpop-e2e.md#4-inference-from-raw-inputs)；并在 [HuggingFace🤗 SVS](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FSilentlin\u002FDiffSinger) 上提供了交互式 SVS 运行环境。\n - 2022年3月2日：MIDI-B版本。\n - 2022年3月1日：用于美化歌声的 [NeuralSVB](https:\u002F\u002Fgithub.com\u002FMoonInTheRiver\u002FNeuralSVB) 已发布。\n - 2022年2月13日：改进后的代码框架 [NATSpeech](https:\u002F\u002Fgithub.com\u002FNATSpeech\u002FNATSpeech)，其中包含了 DiffSpeech 以及我们在 NeurIPS-2021 上的工作 [PortaSpeech](https:\u002F\u002Fopenreview.net\u002Fforum?id=xmJsuh8xlq) 的实现，已发布。\n - 2022年1月29日：支持 MIDI-A 版本的 SVS。\n - 2022年1月13日：支持 SVS，并发布了 PopCS 数据集。\n - 2021年12月19日：支持 TTS。[HuggingFace🤗 TTS](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FNATSpeech\u002FDiffSpeech)\n\n:rocket: **新闻**：\n - 2022年2月24日：我们的新工作 NeuralSVB 被 ACL-2022 接受 [![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-Paper-\u003CCOLOR>.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2202.13277)。[演示页面](https:\u002F\u002Fneuralsvb.github.io)。\n - 2021年12月1日：DiffSinger 被 AAAI-2022 接受。\n - 2021年9月29日：我们最近的工作 `PortaSpeech：便携式高质量生成式文本到语音合成` 被 NeurIPS-2021 接受 [![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-Paper-\u003CCOLOR>.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2109.15166)。\n - 2021年5月6日：我们向 Arxiv 提交了 DiffSinger [![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-Paper-\u003CCOLOR>.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2105.02446)。\n\n## 环境配置\n1. 如果您想使用 Anaconda 环境：\n    ```sh\n    conda create -n your_env_name python=3.8\n    source activate your_env_name \n    pip install -r requirements_2080.txt   (GPU 2080Ti, CUDA 10.2)\n    或者 pip install -r requirements_3090.txt   (GPU 3090，CUDA 11.4)\n    ```\n\n2. 或者，如果您想使用 Python 的虚拟环境：\n    ```sh\n    ## 首先安装 Python 3.8。 \n    python -m venv venv\n    source venv\u002Fbin\u002Factivate\n    # 安装依赖。\n    pip install -U pip\n    pip install Cython numpy==1.19.1\n    pip install torch==1.9.0\n    pip install -r requirements.txt\n    ```\n\n## 文档\n- [运行 DiffSpeech（TTS 版本）](docs\u002FREADME-TTS.md)。\n- [运行 DiffSinger（SVS 版本）](docs\u002FREADME-SVS.md)。\n\n## 概览\n| 音频处理流程                                                                                | 数据集                                                  | 音高输入       | F0 预测 | 加速方法       | 声码器                       |\n| ------------------------------------------------------------------------------------------- | ---------------------------------------------------------| ----------------- | ------------- | --------------------------- | ----------------------------- |\n| [DiffSpeech（文本->F0，文本+F0->Mel，Mel->Wav）](docs\u002FREADME-TTS.md)                         | [Ljspeech](https:\u002F\u002Fkeithito.com\u002FLJ-Speech-Dataset\u002F)      | 无              | 显式          | 简单扩散                    | HiFiGAN                       |\n| [DiffSinger（歌词+F0->Mel，Mel->Wav）](docs\u002FREADME-SVS-popcs.md)                            | [PopCS](https:\u002F\u002Fgithub.com\u002FMoonInTheRiver\u002FDiffSinger)    | 真实 F0         | 无            | 简单扩散                    | NSF-HiFiGAN                   |\n| [DiffSinger（歌词+MIDI->F0，歌词+F0->Mel，Mel->Wav）](docs\u002FREADME-SVS-opencpop-cascade.md) | [OpenCpop](https:\u002F\u002Fwenet.org.cn\u002Fopencpop\u002F)               | MIDI              | 显式          | 简单扩散                    | NSF-HiFiGAN                   |\n| [FFT-Singer（歌词+MIDI->F0，歌词+F0->Mel，Mel->Wav）](docs\u002FREADME-SVS-opencpop-cascade.md) | [OpenCpop](https:\u002F\u002Fwenet.org.cn\u002Fopencpop\u002F)               | MIDI              | 显式          | 无效                        | NSF-HiFiGAN                   |\n| [DiffSinger（歌词+MIDI->Mel，Mel->Wav）](docs\u002FREADME-SVS-opencpop-e2e.md)                   | [OpenCpop](https:\u002F\u002Fwenet.org.cn\u002Fopencpop\u002F)               | MIDI              | 隐式          | 无                          | 音高提取器 + NSF-HiFiGAN |\n| [DiffSinger+PNDM（歌词+MIDI->Mel，Mel->Wav）](docs\u002FREADME-SVS-opencpop-pndm.md)             | [OpenCpop](https:\u002F\u002Fwenet.org.cn\u002Fopencpop\u002F)               | MIDI              | 隐式          | PLMS                        | 音高提取器 + NSF-HiFiGAN |\n| [DiffSpeech+PNDM（文本->Mel，Mel->Wav）](docs\u002FREADME-TTS-pndm.md)                   | [Ljspeech](https:\u002F\u002Fkeithito.com\u002FLJ-Speech-Dataset\u002F)      | 无              | 隐式          | PLMS                        | HiFiGAN                       |\n\n\n## TensorBoard\n```sh\ntensorboard --logdir_spec exp_name\n```\n\u003Ctable style=\"width:100%\">\n  \u003Ctr>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMoonInTheRiver_DiffSinger_readme_e5f6f3cb191c.png\" alt=\"Tensorboard\" height=\"250\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## 引用\n    @article{liu2021diffsinger,\n      title={Diffsinger：基于浅层扩散机制的歌声合成},\n      author={刘景林、李成熙、任毅、陈飞扬、刘鹏、赵周},\n      journal={arXiv 预印本 arXiv:2105.02446},\n      volume={2},\n      year={2021}}\n\n\n## 致谢\n* lucidrains 的 [denoising-diffusion-pytorch](https:\u002F\u002Fgithub.com\u002Flucidrains\u002Fdenoising-diffusion-pytorch)\n* 官方 [PyTorch Lightning](https:\u002F\u002Fgithub.com\u002FPyTorchLightning\u002Fpytorch-lightning)\n* kan-bayashi 的 [ParallelWaveGAN](https:\u002F\u002Fgithub.com\u002Fkan-bayashi\u002FParallelWaveGAN)\n* jik876 的 [HifiGAN](https:\u002F\u002Fgithub.com\u002Fjik876\u002Fhifi-gan)\n* 官方 [espnet](https:\u002F\u002Fgithub.com\u002Fespnet\u002Fespnet)\n* lmnt-com 的 [DiffWave](https:\u002F\u002Fgithub.com\u002Flmnt-com\u002Fdiffwave)\n* keonlee9420 的 [实现](https:\u002F\u002Fgithub.com\u002Fkeonlee9420\u002FDiffSinger)。 \n\n特别感谢：\n\n* Team Openvpi 的维护：[DiffSinger](https:\u002F\u002Fgithub.com\u002Fopenvpi\u002FDiffSinger)。\n* 您的重新创建与分享。","# DiffSinger 快速上手指南\n\nDiffSinger 是一个基于浅层扩散机制（Shallow Diffusion Mechanism）的歌声合成（SVS）和语音合成（TTS）开源项目。本指南将帮助你快速搭建环境并运行基础功能。\n\n## 1. 环境准备\n\n在开始之前，请确保你的系统满足以下要求：\n- **操作系统**: Linux (推荐) 或 Windows (需配置相应 CUDA 环境)\n- **Python 版本**: 3.8\n- **GPU**: NVIDIA 显卡 (支持 CUDA)，推荐 RTX 2080Ti 或 RTX 3090 及以上\n- **CUDA 版本**: \n  - RTX 2080Ti 推荐 CUDA 10.2\n  - RTX 3090 推荐 CUDA 11.4\n\n**前置依赖**:\n- Anaconda (推荐) 或原生 Python 虚拟环境\n- Git\n\n## 2. 安装步骤\n\n你可以选择使用 Conda 或 Python 虚拟环境进行安装。\n\n### 方案 A：使用 Conda (推荐)\n\n```bash\n# 创建名为 diffsinger 的虚拟环境\nconda create -n diffsinger python=3.8\nsource activate diffsinger \n\n# 根据显卡型号安装依赖\n# 如果是 RTX 2080Ti (CUDA 10.2)\npip install -r requirements_2080.txt\n\n# 如果是 RTX 3090 (CUDA 11.4)\npip install -r requirements_3090.txt\n```\n\n> **国内加速提示**: 如果下载速度慢，建议在 pip 命令后添加清华源：\n> `pip install -r requirements_xxx.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n### 方案 B：使用 Python 虚拟环境\n\n```bash\n# 确保已安装 Python 3.8\npython -m venv venv\nsource venv\u002Fbin\u002Factivate  # Windows 用户请使用: venv\\Scripts\\activate\n\n# 升级 pip 并安装基础包\npip install -U pip\npip install Cython numpy==1.19.1\npip install torch==1.9.0\n\n# 安装项目依赖\npip install -r requirements.txt\n```\n\n## 3. 基本使用\n\nDiffSinger 主要包含两个核心任务：**TTS (语音合成)** 和 **SVS (歌声合成)**。以下是基于官方文档的最简启动流程。\n\n### 3.1 训练与推理概览\n\n项目提供了针对不同数据集（如 Ljspeech, PopCS, OpenCpop）的预设配置文件。通常流程分为：数据预处理 -> 训练模型 -> 推理合成。\n\n#### 场景一：运行 TTS (语音合成)\n参考文档：[Run DiffSpeech](docs\u002FREADME-TTS.md)\n\n1. **准备数据**: 下载 [LJSpeech](https:\u002F\u002Fkeithito.com\u002FLJ-Speech-Dataset\u002F) 数据集并按目录结构放置。\n2. **预处理**:\n   ```bash\n   python tasks\u002Ftts\u002Ffs.py --config configs\u002Ftts\u002Fljspeech\u002Fbase.yaml\n   ```\n3. **训练**:\n   ```bash\n   python tasks\u002Ftts\u002Ftrain.py --config configs\u002Ftts\u002Fljspeech\u002Fbase.yaml --exp_name my_tts_exp\n   ```\n4. **推理**:\n   ```bash\n   python tasks\u002Ftts\u002Finfer.py --config configs\u002Ftts\u002Fljspeech\u002Fbase.yaml --exp_name my_tts_exp --input \"你好，这是测试文本\"\n   ```\n\n#### 场景二：运行 SVS (歌声合成)\n参考文档：[Run DiffSinger](docs\u002FREADME-SVS.md)\n\n目前支持多种模式，最常用的是基于 MIDI 的端到端合成（OpenCpop 数据集）。\n\n1. **准备数据**: 下载 [OpenCpop](https:\u002F\u002Fwenet.org.cn\u002Fopencpop\u002F) 数据集。\n2. **预处理**:\n   ```bash\n   python tasks\u002Fsvs\u002Ffs.py --config configs\u002Fsvs\u002Fopencpop\u002Fbase.yaml\n   ```\n3. **训练**:\n   ```bash\n   python tasks\u002Fsvs\u002Ftrain.py --config configs\u002Fsvs\u002Fopencpop\u002Fbase.yaml --exp_name my_svs_exp\n   ```\n4. **推理**:\n   你需要准备一个包含歌词和音符信息的 `.ds\" 或 MIDI 文件。\n   ```bash\n   python tasks\u002Fsvs\u002Finfer.py --config configs\u002Fsvs\u002Fopencpop\u002Fbase.yaml --exp_name my_svs_exp --input tests\u002Ftest_case.mid\n   ```\n\n### 3.2 监控训练过程\n\n使用 TensorBoard 实时查看损失曲线和生成样本：\n\n```bash\ntensorboard --logdir_spec exp_name\n```\n*注：将 `exp_name` 替换为你实际训练时指定的实验名称。*\n\n### 3.3 在线体验\n\n如果你暂时不想本地部署，可以尝试 Hugging Face 上的演示空间：\n- **TTS 演示**: [NATSpeech\u002FDiffSpeech](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FNATSpeech\u002FDiffSpeech)\n- **SVS 演示**: [Silentlin\u002FDiffSinger](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FSilentlin\u002FDiffSinger)","独立音乐人小林正在为他的原创歌曲制作 Demo，需要一段高质量的人声演唱来展示旋律和歌词情感，但他暂时无法聘请专业歌手录音。\n\n### 没有 DiffSinger 时\n- **高昂成本与漫长周期**：必须租赁专业录音棚并聘请歌手，单首歌曲制作成本高达数千元，且协调档期耗时数周。\n- **修改迭代极其困难**：一旦录音完成，若想调整某个音符的音高或歌词发音，往往需要歌手重新进棚录制整段，效率极低。\n- **情感表达受限**：受限于歌手状态和录音环境，难以快速尝试多种演唱风格（如气声、颤音）来匹配歌曲意境。\n- **技术门槛高**：若使用传统拼接式合成软件，需要手动绘制复杂的音高曲线和力度参数，学习曲线陡峭且效果机械生硬。\n\n### 使用 DiffSinger 后\n- **零成本即时生成**：只需输入 MIDI 旋律文件和歌词，DiffSinger 即可在本地利用浅层扩散机制迅速合成出媲美真人的演唱音频，无需任何录音设备。\n- **灵活高效的微调**：修改歌词或调整音高仅需编辑文本和 MIDI 参数，几分钟内即可重新生成新版本，极大加速了创作迭代过程。\n- **细腻的情感还原**：得益于扩散模型的优势，生成的歌声在呼吸感、转音和音色连贯性上表现自然，能精准还原预设的情感强度。\n- **简化工作流**：支持从原始输入直接推理，自动处理音高预测（F0 Prediction），让不懂复杂声学参数的创作者也能轻松上手。\n\nDiffSinger 将专业级的歌唱合成能力 democratize，让独立创作者能以极低的成本和极高的自由度实现“一人成团”的音乐梦想。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMoonInTheRiver_DiffSinger_5b6c9049.png","MoonInTheRiver","Jinglin Liu","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FMoonInTheRiver_bca9d801.jpg","Focusing on speech, music, and NLP.","Zhejiang University","Hangzhou",null,"https:\u002F\u002Fsilentlin15.github.io","https:\u002F\u002Fgithub.com\u002FMoonInTheRiver",[83],{"name":84,"color":85,"percentage":86},"Python","#3572A5",100,4766,798,"2026-04-12T16:22:13","MIT","未说明","需要 NVIDIA GPU，明确支持 RTX 2080Ti (CUDA 10.2) 和 RTX 3090 (CUDA 11.4)",{"notes":94,"python":95,"dependencies":96},"项目提供针对特定显卡（2080Ti\u002F3090）的 requirements 文件。支持两种运行模式：TTS（语音合成）和 SVS（歌声合成）。SVS 模式支持多种输入方式（如 MIDI、基频 F0），并可选配 PNDM 插件进行推理加速。声码器推荐使用 HiFiGAN 或 NSF-HiFiGAN。","3.8",[97,98,99,100,101,102,103,104],"torch==1.9.0","numpy==1.19.1","Cython","PyTorch Lightning","HiFiGAN","NSF-HiFiGAN","espnet","tensorboard",[16,106,15],"音频",[108,109,110,111,112,113,114,115,116,117,118],"text-to-speech","diffusion-speedup","tts","aaai2022","singing-synthesis","diffusion-model","speech-synthesis","singing-voice-synthesis","singing-voice","singing-voice-database","midi","2026-03-27T02:49:30.150509","2026-04-14T12:34:22.407906",[122,127,132,137,142,147],{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},33075,"如何在未见过的歌曲（Unseen Songs）上进行推理并生成 WAV 文件？需要准备什么数据？","要使用预训练模型（如 OpenCPop）对未见过的歌曲进行推理，你需要准备包含音素标签、音素时长和音符信息的输入数据。数据格式通常包括：ID、歌词文本、音素序列（带 SP\u002FAP 标记）、音符序列（如 C#4\u002FDb4）、时长序列以及基频（f0）信息。虽然代码中 `test_step` 主要用于 TTS 任务，但你可以通过构造符合模型输入要求的数据字典直接加载模型进行推理，而无需将其打包到 dataloader 中。具体数据行示例如下：`ID|歌词 | 音素 | 音符 | 时长 |f0| 其他特征`。","https:\u002F\u002Fgithub.com\u002FMoonInTheRiver\u002FDiffSinger\u002Fissues\u002F41",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},33076,"DiffSinger (PopCS) 模型在推理时是否必须提供真实的基频（Ground-truth f0）？能否合成未见过的歌手或歌曲？","DiffSinger (PopCS) 模型在设计上通常需要 ground-truth f0 信息进行推理。对于未见过的歌曲，如果提供了音素标签、时长和音符信息，理论上可以合成，但效果取决于是否提供了准确的 f0 轮廓。如果是未见过的说话人（歌手），模型泛化能力有限，通常需要使用多说话人训练版本（如 DiffGAN-TTS 实现的多说话人 TTS）才能获得较好效果。目前社区中有用户通过 DiffGAN-TTS 实现了高质量的多说话人合成，仅需 4 步甚至 1 步去噪即可。","https:\u002F\u002Fgithub.com\u002FMoonInTheRiver\u002FDiffSinger\u002Fissues\u002F30",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},33077,"训练时出现 'RuntimeError: index X is out of bounds' 错误，特别是在多 GPU 环境下，如何解决？","该错误通常与数据时长或 PyTorch 版本兼容性有关。解决方案包括：\n1. **过滤数据**：尝试将数据集中样本的时长过滤在 8 秒以内，错误可能会消失。\n2. **降低 PyTorch 版本**：将 PyTorch 版本降级到 1.11 以下。\n3. **修改分布式训练代码**：如果必须在多 GPU 上运行且使用高版本 PyTorch，请参考 NATSpeech 仓库中的 `ddp_utils.py` 修改 `utils\u002Fpl_utils.py` 中的相关代码以适配分布式训练。\n4. **检查依赖**：确保所有 Python 包版本与项目 requirements 一致。\n单 GPU 训练通常能避免此问题。","https:\u002F\u002Fgithub.com\u002FMoonInTheRiver\u002FDiffSinger\u002Fissues\u002F77",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},33078,"训练完成后找不到检查点（checkpoint）文件，或者保存间隔太长，如何配置？","如果没有生成检查点文件，请检查配置文件中的 `save_ckpt` 参数是否设置为 `true`。默认情况下可能未开启或保存间隔较长。你可以在配置文件中调整保存策略，确保在训练过程中定期保存模型权重。如果确认配置无误但仍无法生成，尝试更换运行环境或重新初始化实验（使用 `--reset` 参数）。","https:\u002F\u002Fgithub.com\u002FMoonInTheRiver\u002FDiffSinger\u002Fissues\u002F71",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},33079,"加载预训练模型时出现 'size mismatch for model.encoder_embed_tokens.weight' 错误，原因是什么？","这个错误是因为当前模型生成的音素集合（phone_set）大小与预训练检查点中的不一致。例如，检查点是基于完整数据集训练的（音素数量为 62），而你使用了“数据集预览（dataset preview）”功能，它只包含部分数据，生成的音素集合较小（如 57）。\n**解决方法**：不要使用“dataset preview”数据进行实验或推理。请使用完整的数据集重新预处理，以生成与预训练模型匹配的完整 `phone_set`。","https:\u002F\u002Fgithub.com\u002FMoonInTheRiver\u002FDiffSinger\u002Fissues\u002F15",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},33080,"浅层版本（Shallow version）的 DiffSinger 训练缺少边界预测和 FastSpeech2 预训练部分，该如何处理？","当前代码库主要支持使用固定的 K 值（如 71）和预训练的 FastSpeech2 解码器。如果要完整训练浅层版本，确实需要先进行边界预测（boundary prediction）和 FastSpeech2 的预训练。目前官方仓库可能尚未完全推送这部分流程。用户可以参考社区实现（如 DiffGAN-TTS），该项目已经实现了类似的多说话人 TTS 功能，并展示了高效的采样步骤（仅需 4 步去噪），可作为替代方案或参考实现。","https:\u002F\u002Fgithub.com\u002FMoonInTheRiver\u002FDiffSinger\u002Fissues\u002F5",[153],{"id":154,"version":155,"summary_zh":79,"released_at":156},250901,"pretrain-model","2022-01-17T03:30:08"]