Skip to main content

A lightweight Python library for running TTS models with a unified API.

Project description

GitHub | Docs | PyPI

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simpletts-0.0.3.tar.gz (7.9 kB view details)

Uploaded Source

File details

Details for the file simpletts-0.0.3.tar.gz.

File metadata

  • Download URL: simpletts-0.0.3.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.5

File hashes

Hashes for simpletts-0.0.3.tar.gz
Algorithm Hash digest
SHA256 844a00f5cf0250c6a715546f6d54b23522030f6205512ca9d34f29b1ab06ae1d
MD5 6b117ae5bebab15d9409e06ee35690c9
BLAKE2b-256 3a51f8f91b0c20a6a2e5c63982aeaabf8d09a61216e5636b3d6190b8803465ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page