Skip to content

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

License

Notifications You must be signed in to change notification settings

fakerybakery/simpletts

Repository files navigation

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

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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages