Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
S

soprano

> 编程语言
Open source

Soprano: Instant, Ultra-Realistic Text-to-Speech

1.4K stars0 likes0 views
WebsiteGitHub

About

Soprano: Instant, Ultra-Realistic Text-to-Speech

News

2026.01.14 - Soprano-1.1-80M released! 95% fewer hallucinations and a 63% preference rate over Soprano-80M.
2026.01.13 - Soprano-Factory released! You can now train/fine-tune your own Soprano models.
2025.12.22 - Soprano-80M released! Model | Demo


Overview

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:

  • Up to 20x real-time generation on CPU and 2000x real-time on GPU
  • Lossless streaming with <250 ms latency on CPU, <15 ms on GPU
  • <1 GB memory usage with a compact 80M parameter architecture
  • Infinite generation length with automatic text splitting
  • Highly expressive, crystal clear audio generation at 32kHz
  • Widespread support for CUDA, CPU, and MPS devices on Windows, Linux, and Mac
  • Supports OpenAI-compatible endpoint, ONNX, WebUI, CLI, and ComfyUI for easy and production-ready inference

https://github.com/user-attachments/assets/525cf529-e79e-4368-809f-6be620852826


Table of Contents

  • Installation
  • Usage
    • WebUI
    • CLI
    • OpenAI-compatible endpoint
    • Python script
  • Usage tips
  • Roadmap

Installation

Install with wheel (CUDA)

bash
pip install soprano-tts[lmdeploy]

Install with wheel (CPU/MPS)

bash
pip install soprano-tts

To get the latest features, you can install from source instead.

Install from source (CUDA)

bash
git clone https://github.com/ekwek1/soprano.git
cd soprano
pip install -e .[lmdeploy]

Install from source (CPU/MPS)

bash
git clone https://github.com/ekwek1/soprano.git
cd soprano
pip install -e .

⚠️ Warning: Windows CUDA users

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:

bash
pip uninstall -y torch
pip install torch==2.8.0 --index-url https://download.pytorch.org/whl/cu128

Usage

WebUI

Start WebUI:

bash
soprano-webui # hosted on http://127.0.0.1:7860 by default

Tip: You can increase cache size and decoder batch size to increase inference speed at the cost of higher memory usage. For example:

bash
soprano-webui --cache-size 1000 --decoder-batch-size 4

CLI

…

Tip: You can increase cache size and decoder batch size to increase inference speed at the cost of higher memory usage.

Note: The CLI will reload the model every time it is called. As a result, inference speed will be slower than other methods.

OpenAI-compatible endpoint

Start server:

bash
uvicorn soprano.server:app --host 0.0.0.0 --port 8000

Use the endpoint like this:

bash
curl http://localhost:8000/v1/audio/speech \
  -H "Content-Type: application/json" \
  -d '{
    "input": "Soprano is an extremely lightweight text to speech model."
  }' \
  --output speech.wav

Note: Currently, this endpoint only supports nonstreaming output.

Python script

python
from soprano import SopranoTTS

model = SopranoTTS(backend='auto', device='auto', cache_size_mb=100, decoder_batch_size=1)

Tip: You can increase cache_size_mb and decoder_batch_size to increase inference speed at the cost of higher memory usage.

…

3rd-party tools

ONNX

https://github.com/KevinAHM/soprano-web-onnx

ComfyUI Nodes

https://github.com/jo-nike/ComfyUI-SopranoTTS

https://github.com/SanDiegoDude/ComfyUI-Soprano-TTS

Usage tips:

  • When quoting, use double quotes instead of single quotes.
  • Soprano works best when each sentence is between 2 and 30 seconds long.
  • 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)
  • 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.

Roadmap

  • Add model and inference code
  • Seamless streaming
  • Batched inference
  • Command-line interface (CLI)
  • CPU support
  • Server / API inference
  • ROCm support (see #29)
  • Additional LLM backends
  • Voice cloning
  • Multilingual support

Limitations

Soprano 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.


Acknowledgements

Soprano uses and/or is inspired by the following projects:

  • Vocos
  • XTTS
  • LMDeploy

License

This project is licensed under the Apache-2.0 license. See LICENSE for details.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Pythontext-to-speechtts

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言