SimpleTTS
A lightweight Python library for running TTS models with a unified API.
[!NOTE] This project is under active development and APIs may change. Not recommended for production use yet.
Features
- 🚀 Simple and intuitive API - get started with two lines of code using the simple API
- 🔄 No model lock-in - switch models with just a few lines of code
- 🎯 Focus on ease of use - a single API for all models
- 📦 Minimal dependencies - one package for all models
- 🔌 Extensible architecture - easily add new models
- 💎 Feature-rich - includes longform narration, voice cloning support, and more
Models
- XTTS
- Kokoro (v1.0)
- F5-TTS
- & more
Installation
Install the latest release from PyPI:
pip install simpletts
Quick Start (Simple API)
If you don't plan on choosing a custom model or using voice cloning, you can use the simple API. Currently, the simple API uses the Kokoro model.
from simpletts import tts
tts("Hello, world!").save("output.wav")
View the Simple API docs for more information.
Python API
Get started with the XTTS model:
import soundfile as sf
from simpletts.models.xtts import XTTS
tts = XTTS(device="auto")
# Easily swap out for F5-TTS:
# from simpletts.models.f5 import F5TTS
# tts = F5TTS(device="auto")
array, sr = tts.synthesize("Hello, world!", ref="sample.wav")
sf.write("output.wav", array, sr)
Please see the docs for more information, such as available models, code examples, and more.
Support & Feedback
If you encounter any issues or have questions, please open an issue.
License
This project is licensed under the BSD-3-Clause license, which means it can be used commercially. See the LICENSE file for more details.
While SimpleTTS itself is open source and can be used commercially, please note that some supported models have different licensing terms:
- XTTS is licensed under CPML which restricts commercial use
- Kokoro is licensed under Apache-2.0 which allows commercial use
- Other models may have their own licensing requirements
Note that SimpleTTS does not use the GPL-licensed phonemizer library. Instead, it uses the BSD-licensed openphonemizer alternative. While this may slightly reduce pronunciation accuracy, it's license is compatible with the BSD-3-Clause license of SimpleTTS.
For complete licensing information for all included models and dependencies, please see the licenses directory.
Metadata
Release files for simpletts 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| simpletts-0.0.3.tar.gz | 7.9 kB | Without provenance | Details |
Release files / simpletts-0.0.3.tar.gz
| Download URL | simpletts-0.0.3.tar.gz |
|---|---|
| Size | 7.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
844a00f5cf0250c6a715546f6d54b23522030f6205512ca9d34f29b1ab06ae1d
|
|
BLAKE2b-256 checksum How to use checksums |
3a51f8f91b0c20a6a2e5c63982aeaabf8d09a61216e5636b3d6190b8803465ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.5
|
Security for simpletts 0.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.