soprano
Soprano 是一款超轻量级的本地文本转语音(TTS)模型,旨在以极快的速度生成极具表现力且高保真的语音。它主要解决了传统 TTS 模型在资源消耗大、生成延迟高以及难以在普通设备上流畅运行的痛点,让用户无需依赖云端算力即可实现高质量的语音合成。
无论是希望将语音功能集成到应用中的开发者、需要快速原型的研究人员,还是追求隐私和本地运行的普通用户,Soprano 都能提供极佳的使用体验。其独特的技术亮点在于惊人的效率:在 CPU 上可实现高达 20 倍、GPU 上高达 2000 倍的实时生成速度;同时支持无损流式传输,CPU 端延迟低于 250 毫秒,GPU 端更是低至 15 毫秒。此外,Soprano 仅需不到 1GB 内存即可运行,参数量仅为 80M,却能在 32kHz 采样率下输出清晰自然的音频,并支持无限长度的文本自动分段生成。
该工具兼容性极强,支持 Windows、Linux 和 Mac 系统,并提供 WebUI、命令行、Python 脚本以及与 OpenAI 兼容的接口等多种调用方式,方便不同技术背景的用户轻松上手并投入生产环境使用。
使用场景
某独立游戏开发者正在为一款复古风格的文字冒险游戏制作动态旁白系统,需要让 NPC 的对话能实时转化为富有情感的语音,且必须适配低配置电脑运行。
没有 soprano 时
- 延迟严重破坏沉浸感:传统 TTS 模型生成速度慢,玩家点击对话框后需等待数秒才能听到声音,打断游戏节奏。
- 硬件门槛过高:高质量语音合成依赖高性能 GPU,导致大量使用集成显卡或旧笔记本的玩家无法体验语音功能。
- 内存占用过大:现有模型动辄占用数 GB 显存,挤占了游戏本身所需的资源,容易引发卡顿甚至崩溃。
- 情感表达生硬:开源轻量模型往往声音机械单调,难以演绎游戏中需要的惊讶、悲伤等细腻情绪。
- 部署流程复杂:整合多个依赖库和推理后端耗时费力,难以快速迭代测试不同的语音效果。
使用 soprano 后
- 即时响应零等待:凭借 CPU 上 20 倍实时的生成速度,soprano 实现了低于 250 毫秒的延迟,玩家话音未落语音即出。
- 全设备流畅运行:仅需不到 1GB 内存,soprano 让十年前的老笔记本也能流畅播放 32kHz 的高保真语音。
- 资源占用极低:紧凑的 80M 参数架构释放了宝贵系统资源,确保游戏画面与语音合成互不干扰。
- 演绎生动自然:soprano 生成的语音晶体般清晰且极具表现力,完美还原剧本中角色的喜怒哀乐。
- 一键集成开发:通过简单的 CLI 命令或 OpenAI 兼容接口,开发者几分钟内即可将实时语音功能嵌入游戏引擎。
soprano 以极致的轻量化和超低延迟,让高品质实时语音交互真正普及到了每一台终端设备上。
运行环境要求
- Windows
- Linux
- macOS
- 非必需
- 支持 NVIDIA GPU (CUDA)、CPU 和 Apple Silicon (MPS)
- 若使用 CUDA,需手动安装 torch==2.8.0 (cu128),Windows 用户需特别注意重新安装 PyTorch 以启用 GPU 加速
- 显存需求未明确说明,但模型仅需 <1GB 内存运行
最低 <1GB (模型架构占用),推荐根据缓存大小调整 (默认 100MB,可配置)

快速开始
📰 新闻
2026.01.14 - Soprano-1.1-80M 发布!幻觉减少 95%,相比 Soprano-80M 的偏好度提升了 63%。
2026.01.13 - Soprano-Factory 发布!你现在可以训练/微调属于自己的 Soprano 模型。
2025.12.22 - Soprano-80M 发布!模型 | 演示
概述
Soprano 是一款超轻量级的设备端文本转语音(TTS)模型,专为以空前速度实现富有表现力、高保真度的语音合成而设计。Soprano 具备以下特点:
- 在 CPU 上最高可达 20 倍 实时生成,在 GPU 上则高达 2000 倍 实时;
- 无损流式传输,CPU 上延迟低于 250 毫秒,GPU 上低于 15 毫秒;
- 内存占用低于 1 GB,采用紧凑的 80M 参数架构;
- 自动分段文本,支持无限长度生成;
- 高度富有表现力、清晰透彻的音频输出,采样率为 32kHz;
- 广泛支持 Windows、Linux 和 Mac 上的 CUDA、CPU 和 MPS 设备;
- 支持与 OpenAI 兼容的 API 端点、ONNX、WebUI、CLI 以及 ComfyUI,便于部署和生产环境推理。
https://github.com/user-attachments/assets/525cf529-e79e-4368-809f-6be620852826
目录
安装
使用 wheel 包安装(CUDA)
pip install soprano-tts[lmdeploy]
使用 wheel 包安装(CPU/MPS)
pip install soprano-tts
若需获取最新功能,可选择从源码安装。
从源码安装(CUDA)
git clone https://github.com/ekwek1/soprano.git
cd soprano
pip install -e .[lmdeploy]
从源码安装(CPU/MPS)
git clone https://github.com/ekwek1/soprano.git
cd soprano
pip install -e .
⚠️ 注意:Windows 下使用 CUDA 的用户
在 Windows 系统上使用 CUDA 时,
pip默认会安装仅支持 CPU 的 PyTorch 版本。为确保 CUDA 支持正常工作,请在安装 Soprano 后,手动重新安装正确版本的 CUDA Wheel:pip uninstall -y torch pip install torch==2.8.0 --index-url https://download.pytorch.org/whl/cu128
使用
WebUI
启动 WebUI:
soprano-webui # 默认托管在 http://127.0.0.1:7860
提示:可通过增加缓存大小和解码器批处理大小来提升推理速度,但会相应增加内存消耗。例如:
soprano-webui --cache-size 1000 --decoder-batch-size 4
CLI
soprano "Soprano 是一款极其轻量级的文本转语音模型。"
可选参数:
--output, -o 输出音频文件路径(仅非流式)。默认为 'output.wav'
--model-path, -m 本地模型目录路径(可选)
--device, -d 推理所用设备。支持:auto、cuda、cpu、mps。默认为 'auto'
--backend, -b 推理后端。支持:auto、transformers、lmdeploy。默认为 'auto'
--cache-size, -c 缓存大小,单位为 MB(适用于 lmdeploy 后端)。默认为 100
--decoder-batch-size, -bs 解码器批处理大小。默认为 1
--streaming, -s 启用扬声器流式播放
提示:可通过增加缓存大小和解码器批处理大小来提升推理速度,但会增加内存消耗。
注意:每次调用 CLI 时,模型都会被重新加载。因此,其推理速度会比其他方法慢。
与 OpenAI 兼容的 API 端点
启动服务器:
uvicorn soprano.server:app --host 0.0.0.0 --port 8000
使用该端点的方式如下:
curl http://localhost:8000/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{
"input": "Soprano 是一款极其轻量级的文本转语音模型。"
}' \
--output speech.wav
注意:目前该端点仅支持非流式输出。
Python 脚本
from soprano import SopranoTTS
model = SopranoTTS(backend='auto', device='auto', cache_size_mb=100, decoder_batch_size=1)
提示:可通过增大
cache_size_mb和decoder_batch_size来提升推理速度,但会增加内存消耗。
# 基础推理
out = model.infer("Soprano 是一款极其轻量级的文本转语音模型。") # 对于足够长的输入,可达到 2000 倍实时!
# 将输出保存到文件
out = model.infer("Soprano 是一款极其轻量级的文本转语音模型。", "out.wav")
# 自定义采样参数
out = model.infer(
"Soprano 是一款极其轻量级的文本转语音模型。",
temperature=0.3,
top_p=0.95,
repetition_penalty=1.2,
)
# 批量推理
out = model.infer_batch(["Soprano 是一款极其轻量级的文本转语音模型。"] * 10) # 对于足够大的输入,可达到 2000 倍实时!
# 将批量输出保存到目录
out = model.infer_batch(["Soprano 是一款极其轻量级的文本转语音模型。"] * 10, "/dir")
# 流式推理
from soprano.utils.streaming import play_stream
stream = model.infer_stream("Soprano 是一款极其轻量级的文本转语音模型。", chunk_size=1)
play_stream(stream) # 以低于 15 毫秒的延迟播放音频!
第三方工具
ONNX
https://github.com/KevinAHM/soprano-web-onnx
ComfyUI 节点
https://github.com/jo-nike/ComfyUI-SopranoTTS
https://github.com/SanDiegoDude/ComfyUI-Soprano-TTS
使用技巧:
- 引用文本时,请使用双引号而非单引号。
- Soprano 在每句话长度介于 2 至 30 秒之间时效果最佳。
- 尽管 Soprano 能识别数字和部分特殊字符,但有时仍会出现发音错误。将这些内容转换为拼音形式通常能获得更好的效果。(1+1 -> one plus one 等)
- 若 Soprano 的生成结果不理想,可轻松重新生成,尝试获得更优的结果。此外,调整采样设置也能带来更多样化的输出。
路线图
- 添加模型和推理代码
- 无缝流式传输
- 批量推理
- 命令行界面 (CLI)
- 支持 CPU
- 服务器 / API 推理
- 支持 ROCm(参见 #29)
- 其他大语言模型后端
- 音色克隆
- 多语言支持
限制
Soprano 目前仅支持英语,且不支持音色克隆。此外,Soprano 仅在 1,000 小时的音频数据上进行训练(约为其他 TTS 模型的 1/100),因此可能会出现罕见词汇的发音错误。随着 Soprano 接收更多训练数据,这种情况预计将有所改善。
致谢
Soprano 使用或受到以下项目的启发:
许可证
本项目采用 Apache-2.0 许可证。详情请参阅 LICENSE 文件。
常见问题
相似工具推荐
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
GPT-SoVITS
GPT-SoVITS 是一款强大的开源语音合成与声音克隆工具,旨在让用户仅需极少量的音频数据即可训练出高质量的个性化语音模型。它核心解决了传统语音合成技术依赖海量录音数据、门槛高且成本大的痛点,实现了“零样本”和“少样本”的快速建模:用户只需提供 5 秒参考音频即可即时生成语音,或使用 1 分钟数据进行微调,从而获得高度逼真且相似度极佳的声音效果。 该工具特别适合内容创作者、独立开发者、研究人员以及希望为角色配音的普通用户使用。其内置的友好 WebUI 界面集成了人声伴奏分离、自动数据集切片、中文语音识别及文本标注等辅助功能,极大地降低了数据准备和模型训练的技术门槛,让非专业人士也能轻松上手。 在技术亮点方面,GPT-SoVITS 不仅支持中、英、日、韩、粤语等多语言跨语种合成,还具备卓越的推理速度,在主流显卡上可实现实时甚至超实时的生成效率。无论是需要快速制作视频配音,还是进行多语言语音交互研究,GPT-SoVITS 都能以极低的数据成本提供专业级的语音合成体验。
TTS
🐸TTS 是一款功能强大的深度学习文本转语音(Text-to-Speech)开源库,旨在将文字自然流畅地转化为逼真的人声。它解决了传统语音合成技术中声音机械生硬、多语言支持不足以及定制门槛高等痛点,让高质量的语音生成变得触手可及。 无论是希望快速集成语音功能的开发者,还是致力于探索前沿算法的研究人员,亦或是需要定制专属声音的数据科学家,🐸TTS 都能提供得力支持。它不仅预置了覆盖全球 1100 多种语言的训练模型,让用户能够即刻上手,还提供了完善的工具链,支持用户利用自有数据训练新模型或对现有模型进行微调,轻松实现特定风格的声音克隆。 在技术亮点方面,🐸TTS 表现卓越。其最新的 ⓍTTSv2 模型支持 16 种语言,并在整体性能上大幅提升,实现了低于 200 毫秒的超低延迟流式输出,极大提升了实时交互体验。此外,它还无缝集成了 🐶Bark、🐢Tortoise 等社区热门模型,并支持调用上千个 Fairseq 模型,展现了极强的兼容性与扩展性。配合丰富的数据集分析与整理工具,🐸TTS 已成为科研与生产环境中备受信赖的语音合成解决方案。
LocalAI
LocalAI 是一款开源的本地人工智能引擎,旨在让用户在任意硬件上轻松运行各类 AI 模型,包括大语言模型、图像生成、语音识别及视频处理等。它的核心优势在于彻底打破了高性能计算的门槛,无需昂贵的专用 GPU,仅凭普通 CPU 或常见的消费级显卡(如 NVIDIA、AMD、Intel 及 Apple Silicon)即可部署和运行复杂的 AI 任务。 对于担心数据隐私的用户而言,LocalAI 提供了“隐私优先”的解决方案,确保所有数据处理均在本地基础设施内完成,无需上传至云端。同时,它完美兼容 OpenAI、Anthropic 等主流 API 接口,这意味着开发者可以无缝迁移现有应用,直接利用本地资源替代云服务,既降低了成本又提升了可控性。 LocalAI 内置了超过 35 种后端支持(如 llama.cpp、vLLM、Whisper 等),并集成了自主 AI 代理、工具调用及检索增强生成(RAG)等高级功能,且具备多用户管理与权限控制能力。无论是希望保护敏感数据的企业开发者、进行算法实验的研究人员,还是想要在个人电脑上体验最新 AI 技术的极客玩家,都能通过 LocalAI 获
bark
Bark 是由 Suno 推出的开源生成式音频模型,能够根据文本提示创造出高度逼真的多语言语音、音乐、背景噪音及简单音效。与传统仅能朗读文字的语音合成工具不同,Bark 基于 Transformer 架构,不仅能模拟说话,还能生成笑声、叹息、哭泣等非语言声音,甚至能处理带有情感色彩和语气停顿的复杂文本,极大地丰富了音频表达的可能性。 它主要解决了传统语音合成声音机械、缺乏情感以及无法生成非语音类音效的痛点,让创作者能通过简单的文字描述获得生动自然的音频素材。无论是需要为视频配音的内容创作者、探索多模态生成的研究人员,还是希望快速原型设计的开发者,都能从中受益。普通用户也可通过集成的演示页面轻松体验其神奇效果。 技术亮点方面,Bark 支持商业使用(MIT 许可),并在近期更新中实现了显著的推理速度提升,同时提供了适配低显存 GPU 的版本,降低了使用门槛。此外,社区还建立了丰富的提示词库,帮助用户更好地驾驭模型生成特定风格的声音。只需几行 Python 代码,即可将创意文本转化为高质量音频,是连接文字与声音世界的强大桥梁。
ChatTTS
ChatTTS 是一款专为日常对话场景打造的生成式语音模型,特别适用于大语言模型助手等交互式应用。它主要解决了传统文本转语音(TTS)技术在对话中缺乏自然感、情感表达单一以及难以处理停顿、笑声等细微语气的问题,让机器生成的语音听起来更像真人在聊天。 这款工具非常适合开发者、研究人员以及希望为应用增添自然语音交互功能的设计师使用。普通用户也可以通过社区开发的衍生产品体验其能力。ChatTTS 的核心亮点在于其对对话任务的深度优化:它不仅支持中英文双语,还能精准控制韵律细节,自动生成自然的 laughter(笑声)、pauses(停顿)和 interjections(插入语),从而实现多说话人的互动对话效果。在韵律表现上,ChatTTS 超越了大多数开源 TTS 模型。目前开源版本基于 4 万小时数据预训练而成,虽主要用于学术研究与教育目的,但已展现出强大的潜力,并支持流式音频生成与零样本推理,为后续的多情绪控制等进阶功能奠定了基础。