Python inference library for Kokoro-82M, an open-weight text-to-speech model with 82 million parameters.
ekwek1/soprano
Soprano is an ultra-lightweight, on-device text-to-speech model with CUDA, CPU and MPS support and streaming output.
- Stars
- 1,618
- Forks
- 138
- Open issues
- 19
- Last commit
- 9 months ago
What is it?
Soprano is a text-to-speech model built around a compact 80M-parameter architecture, aimed at fast, high-fidelity English speech synthesis on consumer hardware. It generates 32kHz audio, supports streaming with low latency on both CPU and GPU, and splits long input text automatically so output length is not capped.
The project ships several ways to run it: a WebUI, a CLI, an OpenAI-compatible speech endpoint served with uvicorn, and a Python API with batched and streaming inference. It runs on CUDA, CPU and Apple MPS across Windows, Linux and Mac, with an optional lmdeploy backend for NVIDIA GPUs. Community ONNX and ComfyUI integrations are linked from the project.
Soprano currently supports English only and does not offer voice cloning. It was trained on about 1,000 hours of audio, so uncommon words may be mispronounced. Fine-tuning is handled by the separate Soprano-Factory project.
Key features
- 01Generates 32kHz speech on CPU, CUDA and Apple MPS devices.
- 02Streams audio with low latency and splits long text automatically.
- 03Offers a WebUI, a CLI, a Python API and an OpenAI-compatible speech endpoint.
- 04Supports batched inference for processing many sentences at once.
- 05Runs with under 1 GB of memory using an 80M-parameter model.
Use cases
- Adding local English voice output to a desktop or edge application without a cloud API.
- Serving an OpenAI-style speech endpoint for an internal app.
- Generating narration or voice-over audio in batches.
- Building ComfyUI workflows that include speech generation.
Quick start
- 1
Install the package (CPU/MPS)
pip install soprano-tts - 2
Start the web interface
soprano-webui
Things to know
- English-only; multilingual support is still on the roadmap.
- Does not support voice cloning.
- Trained on only about 1,000 hours of audio, so uncommon words may be mispronounced.
- Windows CUDA users must manually reinstall a CUDA build of PyTorch.
Topics
FAQ
- What is soprano?
- Soprano is an ultra-lightweight, on-device text-to-speech model with CUDA, CPU and MPS support and streaming output. Soprano is a text-to-speech model built around a compact 80M-parameter architecture, aimed at fast, high-fidelity English speech synthesis on consumer hardware. It generates 32kHz audio, supports streaming with low latency on both CPU and GPU, and splits long input text automatically so output length is not capped.
- Is soprano free to use? What license does it have?
- soprano is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is soprano still maintained?
- No commits for 6+ months. The last commit to soprano was on Jan 15, 2026.
- What can I use soprano for?
- Adding local English voice output to a desktop or edge application without a cloud API. Serving an OpenAI-style speech endpoint for an internal app. Generating narration or voice-over audio in batches. Building ComfyUI workflows that include speech generation.
- How do I install soprano?
- Install the package (CPU/MPS): pip install soprano-tts Start the web interface: soprano-webui
- Where can I get soprano?
- The source code and installation instructions are on GitHub: https://github.com/ekwek1/soprano
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source massively multilingual zero-shot text-to-speech model supporting 600+ languages, with voice cloning and voice design.
Lightweight zipvoice-based TTS model for voice cloning and 48kHz speech generation, running at over 150x realtime on GPU.
Open-source tool that translates video into another language, with speech recognition, subtitle translation, AI dubbing and audio-video synthesis.
Open-source research framework for real-time, audio-driven avatar video generation with streaming, infinite-length output built on a 14B diffusion model.
Local, offline Python toolkit that combines speech-to-text, text-to-speech, voice cloning and conversion, music generation, and audio cleanup in one CLI and GUI.