[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-ekwek1--soprano":3,"tool-ekwek1--soprano":64},[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 将是理想的起点。",85052,2,"2026-04-08T11:03:08",[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":29,"last_commit_at":62,"category_tags":63,"status":22},5908,"ChatTTS","2noise\u002FChatTTS","ChatTTS 是一款专为日常对话场景打造的生成式语音模型，特别适用于大语言模型助手等交互式应用。它主要解决了传统文本转语音（TTS）技术在对话中缺乏自然感、情感表达单一以及难以处理停顿、笑声等细微语气的问题，让机器生成的语音听起来更像真人在聊天。\n\n这款工具非常适合开发者、研究人员以及希望为应用增添自然语音交互功能的设计师使用。普通用户也可以通过社区开发的衍生产品体验其能力。ChatTTS 的核心亮点在于其对对话任务的深度优化：它不仅支持中英文双语，还能精准控制韵律细节，自动生成自然的 laughter（笑声）、pauses（停顿）和 interjections（插入语），从而实现多说话人的互动对话效果。在韵律表现上，ChatTTS 超越了大多数开源 TTS 模型。目前开源版本基于 4 万小时数据预训练而成，虽主要用于学术研究与教育目的，但已展现出强大的潜力，并支持流式音频生成与零样本推理，为后续的多情绪控制等进阶功能奠定了基础。",39042,"2026-04-09T11:54:03",[19,17,20,21],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":80,"owner_twitter":79,"owner_website":79,"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":93,"env_deps":94,"category_tags":102,"github_topics":103,"view_count":10,"oss_zip_url":79,"oss_zip_packed_at":79,"status":22,"created_at":106,"updated_at":107,"faqs":108,"releases":144},6095,"ekwek1\u002Fsoprano","soprano","Soprano: Instant, Ultra-Realistic Text-to-Speech","Soprano 是一款超轻量级的本地文本转语音（TTS）模型，旨在以极快的速度生成极具表现力且高保真的语音。它主要解决了传统 TTS 模型在资源消耗大、生成延迟高以及难以在普通设备上流畅运行的痛点，让用户无需依赖云端算力即可实现高质量的语音合成。\n\n无论是希望将语音功能集成到应用中的开发者、需要快速原型的研究人员，还是追求隐私和本地运行的普通用户，Soprano 都能提供极佳的使用体验。其独特的技术亮点在于惊人的效率：在 CPU 上可实现高达 20 倍、GPU 上高达 2000 倍的实时生成速度；同时支持无损流式传输，CPU 端延迟低于 250 毫秒，GPU 端更是低至 15 毫秒。此外，Soprano 仅需不到 1GB 内存即可运行，参数量仅为 80M，却能在 32kHz 采样率下输出清晰自然的音频，并支持无限长度的文本自动分段生成。\n\n该工具兼容性极强，支持 Windows、Linux 和 Mac 系统，并提供 WebUI、命令行、Python 脚本以及与 OpenAI 兼容的接口等多种调用方式，方便不同技术背景的用户轻松上手并投入生产环境使用。","\u003C!-- Version 0.1.0 -->\n\u003Cdiv align=\"center\">\n  \n  # Soprano: Instant, Ultra‑Realistic Text‑to‑Speech\n\n  [![Alt Text](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHuggingFace-Model-orange?logo=huggingface)](https:\u002F\u002Fhuggingface.co\u002Fekwek\u002FSoprano-1.1-80M)\n  [![Alt Text](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHuggingFace-Demo-yellow?logo=huggingface)](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fekwek\u002FSoprano-TTS)\n  \n  \u003Cimg width=\"640\" height=\"320\" alt=\"soprano-github\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fekwek1_soprano_readme_e31fbc3fb17e.png\" \u002F>\n\u003C\u002Fdiv>\n\n### 📰 News\n**2026.01.14 - [Soprano-1.1-80M](https:\u002F\u002Fhuggingface.co\u002Fekwek\u002FSoprano-1.1-80M) released! 95% fewer hallucinations and a 63% preference rate over Soprano-80M.**  \n2026.01.13 - [Soprano-Factory](https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano-factory) released! You can now train\u002Ffine-tune your own Soprano models.  \n2025.12.22 - Soprano-80M released! [Model](https:\u002F\u002Fhuggingface.co\u002Fekwek\u002FSoprano-80M) | [Demo](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fekwek\u002FSoprano-TTS)\n\n---\n\n## Overview\n\n**Soprano** is an ultra‑lightweight, on-device text‑to‑speech (TTS) model designed for expressive, high‑fidelity speech synthesis at unprecedented speed. Soprano was designed with the following features:\n- Up to **20x** real-time generation on CPU and **2000x** real-time on GPU\n- **Lossless streaming** with **\u003C250 ms** latency on CPU, **\u003C15 ms** on GPU\n- **\u003C1 GB** memory usage with a compact 80M parameter architecture\n- **Infinite generation length** with automatic text splitting\n- Highly expressive, crystal clear audio generation at **32kHz**\n- Widespread support for CUDA, CPU, and MPS devices on Windows, Linux, and Mac\n- Supports OpenAI-compatible endpoint, ONNX, WebUI, CLI, and ComfyUI for easy and production-ready inference\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F525cf529-e79e-4368-809f-6be620852826\n\n---\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Usage](#usage)\n  - [WebUI](#webui)\n  - [CLI](#cli)\n  - [OpenAI-compatible endpoint](#openai-compatible-endpoint)\n  - [Python script](#python-script)\n- [Usage tips](#usage-tips)\n- [Roadmap](#roadmap)\n\n## Installation\n\n### Install with wheel (CUDA)\n\n```bash\npip install soprano-tts[lmdeploy]\n```\n\n### Install with wheel (CPU\u002FMPS)\n\n```bash\npip install soprano-tts\n```\n\nTo get the latest features, you can install from source instead.\n\n### Install from source (CUDA)\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano.git\ncd soprano\npip install -e .[lmdeploy]\n```\n\n### Install from source (CPU\u002FMPS)\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano.git\ncd soprano\npip install -e .\n```\n\n> ### ⚠️ Warning: Windows CUDA users\n> \n> On Windows with CUDA, `pip` will install a CPU-only PyTorch build. To ensure CUDA support works as expected, reinstall PyTorch explicitly with the correct CUDA wheel **after** installing Soprano:\n> \n> ```bash\n> pip uninstall -y torch\n> pip install torch==2.8.0 --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu128\n> ```\n\n---\n\n## Usage\n\n### WebUI\n\nStart WebUI:\n\n```bash\nsoprano-webui # hosted on http:\u002F\u002F127.0.0.1:7860 by default\n```\n> **Tip:** You can increase cache size and decoder batch size to increase inference speed at the cost of higher memory usage. For example:\n> ```bash\n> soprano-webui --cache-size 1000 --decoder-batch-size 4\n> ```\n\n### CLI\n\n```\nsoprano \"Soprano is an extremely lightweight text to speech model.\"\n\noptional arguments:\n  --output, -o                  Output audio file path (non-streaming only). Defaults to 'output.wav'\n  --model-path, -m              Path to local model directory (optional)\n  --device, -d                  Device to use for inference. Supported: auto, cuda, cpu, mps. Defaults to 'auto'\n  --backend, -b                 Backend to use for inference. Supported: auto, transformers, lmdeploy. Defaults to 'auto'\n  --cache-size, -c              Cache size in MB (for lmdeploy backend). Defaults to 100\n  --decoder-batch-size, -bs     Decoder batch size. Defaults to 1\n  --streaming, -s               Enable streaming playback to speakers\n```\n> **Tip:** You can increase cache size and decoder batch size to increase inference speed at the cost of higher memory usage.\n\n> **Note:** The CLI will reload the model every time it is called. As a result, inference speed will be slower than other methods.\n\n### OpenAI-compatible endpoint\n\nStart server:\n\n```bash\nuvicorn soprano.server:app --host 0.0.0.0 --port 8000\n```\n\nUse the endpoint like this:\n\n```bash\ncurl http:\u002F\u002Flocalhost:8000\u002Fv1\u002Faudio\u002Fspeech \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"input\": \"Soprano is an extremely lightweight text to speech model.\"\n  }' \\\n  --output speech.wav\n```\n\n> **Note:** Currently, this endpoint only supports nonstreaming output.\n\n### Python script\n\n```python\nfrom soprano import SopranoTTS\n\nmodel = SopranoTTS(backend='auto', device='auto', cache_size_mb=100, decoder_batch_size=1)\n```\n\n> **Tip:** You can increase cache_size_mb and decoder_batch_size to increase inference speed at the cost of higher memory usage.\n\n```python\n# Basic inference\nout = model.infer(\"Soprano is an extremely lightweight text to speech model.\") # can achieve 2000x real-time with sufficiently long input!\n\n# Save output to a file\nout = model.infer(\"Soprano is an extremely lightweight text to speech model.\", \"out.wav\")\n\n# Custom sampling parameters\nout = model.infer(\n    \"Soprano is an extremely lightweight text to speech model.\",\n    temperature=0.3,\n    top_p=0.95,\n    repetition_penalty=1.2,\n)\n\n\n# Batched inference\nout = model.infer_batch([\"Soprano is an extremely lightweight text to speech model.\"] * 10) # can achieve 2000x real-time with sufficiently large input size!\n\n# Save batch outputs to a directory\nout = model.infer_batch([\"Soprano is an extremely lightweight text to speech model.\"] * 10, \"\u002Fdir\")\n\n\n# Streaming inference\nfrom soprano.utils.streaming import play_stream\nstream = model.infer_stream(\"Soprano is an extremely lightweight text to speech model.\", chunk_size=1)\nplay_stream(stream) # plays audio with \u003C15 ms latency!\n```\n\n### 3rd-party tools\n\n#### ONNX\n\nhttps:\u002F\u002Fgithub.com\u002FKevinAHM\u002Fsoprano-web-onnx\n\n#### ComfyUI Nodes\n\nhttps:\u002F\u002Fgithub.com\u002Fjo-nike\u002FComfyUI-SopranoTTS\n\nhttps:\u002F\u002Fgithub.com\u002FSanDiegoDude\u002FComfyUI-Soprano-TTS\n\n## Usage tips:\n\n* When quoting, use double quotes instead of single quotes.\n* Soprano works best when each sentence is between 2 and 30 seconds long.\n* Although Soprano recognizes numbers and some special characters, it occasionally mispronounces them. Best results can be achieved by converting these into their phonetic form. (1+1 -> one plus one, etc)\n* If Soprano produces unsatisfactory results, you can easily regenerate it for a new, potentially better generation. You may also change the sampling settings for more varied results.\n\n---\n\n## Roadmap\n\n* [x] Add model and inference code\n* [x] Seamless streaming\n* [x] Batched inference\n* [x] Command-line interface (CLI)\n* [x] CPU support\n* [x] Server \u002F API inference\n* [ ] ROCm support (see [#29](\u002F..\u002F..\u002Fissues\u002F29))\n* [ ] Additional LLM backends\n* [ ] Voice cloning\n* [ ] Multilingual support\n\n---\n\n## Limitations\n\nSoprano is currently English-only and does not support voice cloning. In addition, Soprano was trained on only 1,000 hours of audio (~100x less than other TTS models), so mispronunciation of uncommon words may occur. This is expected to diminish as Soprano is trained on more data.\n\n---\n\n## Acknowledgements\n\nSoprano uses and\u002For is inspired by the following projects:\n\n* [Vocos](https:\u002F\u002Fgithub.com\u002Fgemelo-ai\u002Fvocos)\n* [XTTS](https:\u002F\u002Fgithub.com\u002Fcoqui-ai\u002FTTS)\n* [LMDeploy](https:\u002F\u002Fgithub.com\u002FInternLM\u002Flmdeploy)\n\n---\n\n## License\n\nThis project is licensed under the **Apache-2.0** license. See `LICENSE` for details.\n","\u003C!-- 版本 0.1.0 -->\n\u003Cdiv align=\"center\">\n  \n  # Soprano：即时、超逼真的文本转语音\n\n  [![Alt Text](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHuggingFace-Model-orange?logo=huggingface)](https:\u002F\u002Fhuggingface.co\u002Fekwek\u002FSoprano-1.1-80M)\n  [![Alt Text](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHuggingFace-Demo-yellow?logo=huggingface)](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fekwek\u002FSoprano-TTS)\n  \n  \u003Cimg width=\"640\" height=\"320\" alt=\"soprano-github\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fekwek1_soprano_readme_e31fbc3fb17e.png\" \u002F>\n\u003C\u002Fdiv>\n\n### 📰 新闻\n**2026.01.14 - [Soprano-1.1-80M](https:\u002F\u002Fhuggingface.co\u002Fekwek\u002FSoprano-1.1-80M) 发布！幻觉减少 95%，相比 Soprano-80M 的偏好度提升了 63%。**  \n2026.01.13 - [Soprano-Factory](https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano-factory) 发布！你现在可以训练\u002F微调属于自己的 Soprano 模型。  \n2025.12.22 - Soprano-80M 发布！[模型](https:\u002F\u002Fhuggingface.co\u002Fekwek\u002FSoprano-80M) | [演示](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fekwek\u002FSoprano-TTS)\n\n---\n\n## 概述\n\n**Soprano** 是一款超轻量级的设备端文本转语音（TTS）模型，专为以空前速度实现富有表现力、高保真度的语音合成而设计。Soprano 具备以下特点：\n- 在 CPU 上最高可达 **20 倍** 实时生成，在 GPU 上则高达 **2000 倍** 实时；\n- **无损流式传输**，CPU 上延迟低于 **250 毫秒**，GPU 上低于 **15 毫秒**；\n- 内存占用低于 **1 GB**，采用紧凑的 80M 参数架构；\n- 自动分段文本，支持**无限长度生成**；\n- 高度富有表现力、清晰透彻的音频输出，采样率为 **32kHz**；\n- 广泛支持 Windows、Linux 和 Mac 上的 CUDA、CPU 和 MPS 设备；\n- 支持与 OpenAI 兼容的 API 端点、ONNX、WebUI、CLI 以及 ComfyUI，便于部署和生产环境推理。\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F525cf529-e79e-4368-809f-6be620852826\n\n---\n\n## 目录\n\n- [安装](#installation)\n- [使用](#usage)\n  - [WebUI](#webui)\n  - [CLI](#cli)\n  - [与 OpenAI 兼容的 API 端点](#openai-compatible-endpoint)\n  - [Python 脚本](#python-script)\n- [使用技巧](#usage-tips)\n- [路线图](#roadmap)\n\n## 安装\n\n### 使用 wheel 包安装（CUDA）\n\n```bash\npip install soprano-tts[lmdeploy]\n```\n\n### 使用 wheel 包安装（CPU\u002FMPS）\n\n```bash\npip install soprano-tts\n```\n\n若需获取最新功能，可选择从源码安装。\n\n### 从源码安装（CUDA）\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano.git\ncd soprano\npip install -e .[lmdeploy]\n```\n\n### 从源码安装（CPU\u002FMPS）\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano.git\ncd soprano\npip install -e .\n```\n\n> ### ⚠️ 注意：Windows 下使用 CUDA 的用户\n> \n> 在 Windows 系统上使用 CUDA 时，`pip` 默认会安装仅支持 CPU 的 PyTorch 版本。为确保 CUDA 支持正常工作，请在安装 Soprano 后，手动重新安装正确版本的 CUDA Wheel：\n> \n> ```bash\n> pip uninstall -y torch\n> pip install torch==2.8.0 --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu128\n> ```\n\n---\n\n## 使用\n\n### WebUI\n\n启动 WebUI：\n\n```bash\nsoprano-webui # 默认托管在 http:\u002F\u002F127.0.0.1:7860\n```\n> **提示**：可通过增加缓存大小和解码器批处理大小来提升推理速度，但会相应增加内存消耗。例如：\n> ```bash\n> soprano-webui --cache-size 1000 --decoder-batch-size 4\n> ```\n\n### CLI\n\n```\nsoprano \"Soprano 是一款极其轻量级的文本转语音模型。\"\n\n可选参数：\n  --output, -o                  输出音频文件路径（仅非流式）。默认为 'output.wav'\n  --model-path, -m              本地模型目录路径（可选）\n  --device, -d                  推理所用设备。支持：auto、cuda、cpu、mps。默认为 'auto'\n  --backend, -b                 推理后端。支持：auto、transformers、lmdeploy。默认为 'auto'\n  --cache-size, -c              缓存大小，单位为 MB（适用于 lmdeploy 后端）。默认为 100\n  --decoder-batch-size, -bs     解码器批处理大小。默认为 1\n  --streaming, -s               启用扬声器流式播放\n```\n> **提示**：可通过增加缓存大小和解码器批处理大小来提升推理速度，但会增加内存消耗。\n\n> **注意**：每次调用 CLI 时，模型都会被重新加载。因此，其推理速度会比其他方法慢。\n\n### 与 OpenAI 兼容的 API 端点\n\n启动服务器：\n\n```bash\nuvicorn soprano.server:app --host 0.0.0.0 --port 8000\n```\n\n使用该端点的方式如下：\n\n```bash\ncurl http:\u002F\u002Flocalhost:8000\u002Fv1\u002Faudio\u002Fspeech \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"input\": \"Soprano 是一款极其轻量级的文本转语音模型。\"\n  }' \\\n  --output speech.wav\n```\n\n> **注意**：目前该端点仅支持非流式输出。\n\n### Python 脚本\n\n```python\nfrom soprano import SopranoTTS\n\nmodel = SopranoTTS(backend='auto', device='auto', cache_size_mb=100, decoder_batch_size=1)\n```\n\n> **提示**：可通过增大 `cache_size_mb` 和 `decoder_batch_size` 来提升推理速度，但会增加内存消耗。\n\n```python\n# 基础推理\nout = model.infer(\"Soprano 是一款极其轻量级的文本转语音模型。\") # 对于足够长的输入，可达到 2000 倍实时！\n\n# 将输出保存到文件\nout = model.infer(\"Soprano 是一款极其轻量级的文本转语音模型。\", \"out.wav\")\n\n# 自定义采样参数\nout = model.infer(\n    \"Soprano 是一款极其轻量级的文本转语音模型。\",\n    temperature=0.3,\n    top_p=0.95,\n    repetition_penalty=1.2,\n)\n\n\n# 批量推理\nout = model.infer_batch([\"Soprano 是一款极其轻量级的文本转语音模型。\"] * 10) # 对于足够大的输入，可达到 2000 倍实时！\n\n# 将批量输出保存到目录\nout = model.infer_batch([\"Soprano 是一款极其轻量级的文本转语音模型。\"] * 10, \"\u002Fdir\")\n\n\n# 流式推理\nfrom soprano.utils.streaming import play_stream\nstream = model.infer_stream(\"Soprano 是一款极其轻量级的文本转语音模型。\", chunk_size=1)\nplay_stream(stream) # 以低于 15 毫秒的延迟播放音频！\n```\n\n### 第三方工具\n\n#### ONNX\n\nhttps:\u002F\u002Fgithub.com\u002FKevinAHM\u002Fsoprano-web-onnx\n\n#### ComfyUI 节点\n\nhttps:\u002F\u002Fgithub.com\u002Fjo-nike\u002FComfyUI-SopranoTTS\n\nhttps:\u002F\u002Fgithub.com\u002FSanDiegoDude\u002FComfyUI-Soprano-TTS\n\n## 使用技巧：\n\n* 引用文本时，请使用双引号而非单引号。\n* Soprano 在每句话长度介于 2 至 30 秒之间时效果最佳。\n* 尽管 Soprano 能识别数字和部分特殊字符，但有时仍会出现发音错误。将这些内容转换为拼音形式通常能获得更好的效果。（1+1 -> one plus one 等）\n* 若 Soprano 的生成结果不理想，可轻松重新生成，尝试获得更优的结果。此外，调整采样设置也能带来更多样化的输出。\n\n---\n\n## 路线图\n\n* [x] 添加模型和推理代码\n* [x] 无缝流式传输\n* [x] 批量推理\n* [x] 命令行界面 (CLI)\n* [x] 支持 CPU\n* [x] 服务器 \u002F API 推理\n* [ ] 支持 ROCm（参见 [#29](\u002F..\u002F..\u002Fissues\u002F29)）\n* [ ] 其他大语言模型后端\n* [ ] 音色克隆\n* [ ] 多语言支持\n\n---\n\n## 限制\n\nSoprano 目前仅支持英语，且不支持音色克隆。此外，Soprano 仅在 1,000 小时的音频数据上进行训练（约为其他 TTS 模型的 1\u002F100），因此可能会出现罕见词汇的发音错误。随着 Soprano 接收更多训练数据，这种情况预计将有所改善。\n\n---\n\n## 致谢\n\nSoprano 使用或受到以下项目的启发：\n\n* [Vocos](https:\u002F\u002Fgithub.com\u002Fgemelo-ai\u002Fvocos)\n* [XTTS](https:\u002F\u002Fgithub.com\u002Fcoqui-ai\u002FTTS)\n* [LMDeploy](https:\u002F\u002Fgithub.com\u002FInternLM\u002Flmdeploy)\n\n---\n\n## 许可证\n\n本项目采用 **Apache-2.0** 许可证。详情请参阅 `LICENSE` 文件。","# Soprano 快速上手指南\n\nSoprano 是一款超轻量级、可端侧部署的文本转语音（TTS）模型，主打极速生成与高保真音质。它支持 CPU\u002FGPU\u002FMPS 加速，具备低延迟流式播放能力，并兼容 OpenAI API 标准。\n\n## 环境准备\n\n*   **操作系统**：Windows, Linux, macOS\n*   **硬件要求**：\n    *   **GPU**: 支持 CUDA (NVIDIA) 或 MPS (Apple Silicon)。显存需求极低（模型仅 80M 参数）。\n    *   **CPU**: 通用 x86\u002FARM 处理器即可运行。\n*   **软件依赖**：\n    *   Python 3.8+\n    *   PyTorch (安装脚本会自动处理，但 Windows CUDA 用户需注意版本兼容性)\n\n## 安装步骤\n\n### 1. 基础安装 (推荐 CPU \u002F Mac MPS 用户)\n直接使用 pip 安装预编译包：\n```bash\npip install soprano-tts\n```\n\n### 2. 高性能安装 (推荐 Linux \u002F Windows CUDA 用户)\n若需启用 `lmdeploy` 后端以获得极致推理速度：\n```bash\npip install soprano-tts[lmdeploy]\n```\n\n> **⚠️ Windows CUDA 用户特别注意**\n> 在 Windows 上，`pip` 默认可能安装仅支持 CPU 的 PyTorch 版本。安装完 Soprano 后，请务必强制重装带有 CUDA 支持的 PyTorch：\n> ```bash\n> pip uninstall -y torch\n> pip install torch==2.8.0 --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu128\n> ```\n\n### 3. 源码安装 (获取最新特性)\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano.git\ncd soprano\n# CUDA 版本\npip install -e .[lmdeploy]\n# 或 CPU\u002FMPS 版本\npip install -e .\n```\n\n## 基本使用\n\n### 方式一：命令行工具 (CLI)\n最简单的使用方式，直接输入文本生成音频文件：\n\n```bash\nsoprano \"Soprano is an extremely lightweight text to speech model.\"\n```\n*   默认输出文件为 `output.wav`。\n*   添加 `-s` 参数可直接通过扬声器进行流式播放：\n    ```bash\n    soprano \"Hello world\" -s\n    ```\n\n### 方式二：Web 界面 (WebUI)\n启动本地 Web 服务，通过浏览器交互：\n\n```bash\nsoprano-webui\n```\n*   服务默认运行在 `http:\u002F\u002F127.0.0.1:7860`。\n*   可通过参数调整性能（以内存换速度）：\n    ```bash\n    soprano-webui --cache-size 1000 --decoder-batch-size 4\n    ```\n\n### 方式三：Python 脚本调用\n在代码中集成 Soprano：\n\n```python\nfrom soprano import SopranoTTS\n\n# 初始化模型\nmodel = SopranoTTS(backend='auto', device='auto', cache_size_mb=100, decoder_batch_size=1)\n\n# 基础推理并保存文件\nout = model.infer(\"Soprano is an extremely lightweight text to speech model.\", \"out.wav\")\n\n# 流式推理 (超低延迟)\nfrom soprano.utils.streaming import play_stream\nstream = model.infer_stream(\"Real-time streaming with low latency.\", chunk_size=1)\nplay_stream(stream)\n```\n\n### 方式四：OpenAI 兼容接口\n启动服务器以兼容现有 OpenAI 客户端：\n\n```bash\nuvicorn soprano.server:app --host 0.0.0.0 --port 8000\n```\n调用示例：\n```bash\ncurl http:\u002F\u002Flocalhost:8000\u002Fv1\u002Faudio\u002Fspeech \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"input\": \"Soprano is an extremely lightweight text to speech model.\"\n  }' \\\n  --output speech.wav\n```\n\n## 使用小贴士\n*   **文本长度**：单句时长控制在 2~30 秒效果最佳。\n*   **数字处理**：模型对特殊字符和数字的识别偶有偏差，建议手动转换为拼音或单词形式（如将 `1+1` 写为 `one plus one`）。\n*   **引号规范**：在命令行使用时，请使用双引号 `\"` 包裹文本。\n*   **重试机制**：若生成结果不理想，可直接重新运行命令，模型会生成新的采样结果。","某独立游戏开发者正在为一款复古风格的文字冒险游戏制作动态旁白系统，需要让 NPC 的对话能实时转化为富有情感的语音，且必须适配低配置电脑运行。\n\n### 没有 soprano 时\n- **延迟严重破坏沉浸感**：传统 TTS 模型生成速度慢，玩家点击对话框后需等待数秒才能听到声音，打断游戏节奏。\n- **硬件门槛过高**：高质量语音合成依赖高性能 GPU，导致大量使用集成显卡或旧笔记本的玩家无法体验语音功能。\n- **内存占用过大**：现有模型动辄占用数 GB 显存，挤占了游戏本身所需的资源，容易引发卡顿甚至崩溃。\n- **情感表达生硬**：开源轻量模型往往声音机械单调，难以演绎游戏中需要的惊讶、悲伤等细腻情绪。\n- **部署流程复杂**：整合多个依赖库和推理后端耗时费力，难以快速迭代测试不同的语音效果。\n\n### 使用 soprano 后\n- **即时响应零等待**：凭借 CPU 上 20 倍实时的生成速度，soprano 实现了低于 250 毫秒的延迟，玩家话音未落语音即出。\n- **全设备流畅运行**：仅需不到 1GB 内存，soprano 让十年前的老笔记本也能流畅播放 32kHz 的高保真语音。\n- **资源占用极低**：紧凑的 80M 参数架构释放了宝贵系统资源，确保游戏画面与语音合成互不干扰。\n- **演绎生动自然**：soprano 生成的语音晶体般清晰且极具表现力，完美还原剧本中角色的喜怒哀乐。\n- **一键集成开发**：通过简单的 CLI 命令或 OpenAI 兼容接口，开发者几分钟内即可将实时语音功能嵌入游戏引擎。\n\nsoprano 以极致的轻量化和超低延迟，让高品质实时语音交互真正普及到了每一台终端设备上。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fekwek1_soprano_e31fbc3f.png","ekwek1","Eugene Kwek","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fekwek1_edcac584.png","Penn State '28",null,"eugene.kwek.1@gmail.com","https:\u002F\u002Fgithub.com\u002Fekwek1",[83],{"name":84,"color":85,"percentage":86},"Python","#3572A5",100,1217,108,"2026-04-08T19:50:55","Apache-2.0","Windows, Linux, macOS","非必需。支持 NVIDIA GPU (CUDA)、CPU 和 Apple Silicon (MPS)。若使用 CUDA，需手动安装 torch==2.8.0 (cu128)，Windows 用户需特别注意重新安装 PyTorch 以启用 GPU 加速。显存需求未明确说明，但模型仅需 \u003C1GB 内存运行。","最低 \u003C1GB (模型架构占用)，推荐根据缓存大小调整 (默认 100MB，可配置)",{"notes":95,"python":96,"dependencies":97},"1. Windows 用户使用 CUDA 时，pip 默认安装 CPU 版 PyTorch，必须手动卸载并重装指定 CUDA 版本的 torch (cu128) 才能启用 GPU。2. 模型非常轻量 (80M 参数)，可在本地设备运行，支持流式输出 (GPU 延迟\u003C15ms)。3. 目前仅支持英语，不支持语音克隆。4. 可通过增加 cache-size 和 decoder-batch-size 提升速度，但会增加内存占用。","未说明",[98,99,100,101],"torch==2.8.0","lmdeploy (可选，用于 CUDA 加速)","transformers (隐含依赖)","uvicorn (用于 API 服务)",[21],[104,105],"text-to-speech","tts","2026-03-27T02:49:30.150509","2026-04-10T11:23:31.250949",[109,114,119,124,129,134,139],{"id":110,"question_zh":111,"answer_zh":112,"source_url":113},27610,"如何从头开始训练 Soprano 模型？","您可以使用 **Soprano-Factory** 项目来训练 Soprano 模型。该仓库包含了完整的训练脚本和指南。请访问：https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano-factory","https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano\u002Fissues\u002F1",{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},27611,"Soprano 是否提供 API 接口以便集成到工作流（如 n8n）中？","是的，Soprano 已添加了一个兼容 OpenAI 标准的 API 端点。具体的使用说明和配置方法请查阅项目的 README 文档。","https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano\u002Fissues\u002F20",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},27612,"运行时报错 'no kernel image is available for execution on the device' 或 CUDA 相关错误如何解决？","这通常与 LMDeploy 后端和 GPU 架构不匹配有关。您可以尝试切换到 transformers 后端来绕过此问题，运行命令：`soprano-webui --backend transformers`。如果问题依旧，请检查您的 LMDeploy 和 Pytorch 版本是否与您的 GPU（如 RTX 6000 Pro）兼容。","https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano\u002Fissues\u002F43",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},27613,"输入包含多个句子的长文本时出现 'probability tensor contains either inf, nan' 错误怎么办？","虽然模型理论上应自动处理分句，但该错误有时与安装环境有关。建议尝试使用标准的 `pip` 而不是 `uv` 进行安装（例如：`pip install soprano-tts`），这通常能解决因依赖包版本冲突导致的概率计算异常。","https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano\u002Fissues\u002F47",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},27614,"运行 CLI 或 WebUI 时提示 'PortAudio library not found' 错误如何解决？","这是因为系统缺少 PortAudio 库。在安装 Soprano 之前，请先运行以下命令安装依赖（适用于 Linux\u002FColab 环境）：`sudo apt-get install libportaudio2`。安装完成后即可正常运行。","https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano\u002Fissues\u002F50",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},27615,"如何实现零样本语音克隆（Zero-shot Voice Cloning）？需要用到编码器吗？","是的，您需要使用编码器将参考音频转换为解码器可识别的 token。作者已发布了专用的编码器模型，您可以在 Hugging Face 上找到：https:\u002F\u002Fhuggingface.co\u002Fekwek\u002FSoprano-Encoder。通过将参考音频及其转录文本拼接到用户提示前，可实现风格保持。","https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano\u002Fissues\u002F25",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},27616,"以特定短语（如 'hey hello'）开头时生成声音混乱或静音怎么办？","这是一个已知问题，主要出现在旧版本模型中。该问题在新发布的模型版本中已基本修复，建议升级并使用最新模型：https:\u002F\u002Fhuggingface.co\u002Fekwek\u002FSoprano-1.1-80M。","https:\u002F\u002Fgithub.com\u002Fekwek1\u002Fsoprano\u002Fissues\u002F23",[]]