Skip to main content

A powerful, Transformer-based text-to-speech (TTS) tool.

Project description

👉 str2speech 👈 🦾🔊

Overview

str2speech is a simple command-line tool for converting text to speech using Transformer-based text-to-speech (TTS) models. It supports multiple models and voice presets, allowing users to generate high-quality speech audio from text.

Latest

We now support Spark-TTS-0.5B. This is an awesome model. Here's how you use it:

str2speech --model "SparkAudio/Spark-TTS-0.5B" \
        --text "Hello from Spark" \
        --output "sparktest.wav"

Added support for Sesame CSM-1B. Here's how to use it:

export HF_TOKEN=<your huggingface token>
str2speech --text "Hello from Sesame" --model "sesame/csm-1b"

Added support for Kokoro-82M. This is how you run it:

str2speech --text "Hello again" --model "kokoro"

This is probably the easiest way to use Kokoro TTS.


Added support for Zyphra Zonos. Try this out:

str2speech --text "Hello again" \
    --model "Zyphra/Zonos-v0.1-transformer" \
    --output helloagain.wav

Alternatively, you could write Python code to use it:

from str2speech.speaker import Speaker

speaker = Speaker("Zyphra/Zonos-v0.1-transformer")
speaker.text_to_speech("Hello, this is a test!", "output.wav")

str2speech will try to install Zonos if it doesn't detect it on your system. You might still have to install espeak-ng manually.

If you choose to install Zonos yourself, please run the following:

apt install espeak-ng
git clone https://github.com/hathibelagal-dev/Zonos.git
cd Zonos && pip install -e .

Features

  • Supports multiple TTS models, including suno/bark-small, suno/bark, and various facebook/mms-tts models.
  • Allows selection of voice presets.
  • Supports text input via command-line arguments or files.
  • Outputs speech in .wav format.
  • Works with both CPU and GPU.

Available Models

The following models are supported:

  • Sesame/CSM-1B
  • SparkAudio/Spark-TTS-0.5B
  • Zyphra/Zonos-v0.1-transformer
  • Kokoro
  • suno/bark-small (default)
  • suno/bark
  • facebook/mms-tts-eng
  • facebook/mms-tts-deu
  • facebook/mms-tts-fra
  • facebook/mms-tts-spa

Installation

To install str2speech, first make sure you have pip installed, then run:

pip install str2speech

Usage

Command Line

Run the script via the command line:

str2speech --text "Hello, world!" --output hello.wav

Options

  • --text (-t): The text to convert to speech.
  • --file (-f): A file containing text to convert to speech.
  • --voice (-v): The voice preset to use (optional, defaults to a predefined voice).
  • --output (-o): The output .wav file name (optional, defaults to output.wav).
  • --model (-m): The TTS model to use (optional, defaults to suno/bark-small).

Example:

str2speech --file input.txt --output speech.wav --model suno/bark

API Usage

You can also use str2speech as a Python module:

from str2speech.speaker import Speaker

speaker = Speaker()
speaker.text_to_speech("Hello, this is a test.", "test.wav")

Tested With These Dependencies

  • transformers==4.49.0
  • torch==2.5.1+cu124
  • numpy==1.26.4
  • scipy==1.13.1

License

This project is licensed under the GNU General Public License v3 (GPLv3).

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

str2speech-0.3.0.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

str2speech-0.3.0-py3-none-any.whl (27.0 kB view details)

Uploaded Python 3

File details

Details for the file str2speech-0.3.0.tar.gz.

File metadata

  • Download URL: str2speech-0.3.0.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for str2speech-0.3.0.tar.gz
Algorithm Hash digest
SHA256 623d821efef7ac844fff178b95fc05e4a6d30cc5c20ee786d36a6c8c170427cf
MD5 ae83ad7bc22dbce7e81873fa793b7bbb
BLAKE2b-256 2181f2cc6b4c3973ae90cbc6cd4cd18ae4696c314b6a433a64db3eb983d23ed3

See more details on using hashes here.

File details

Details for the file str2speech-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: str2speech-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 27.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for str2speech-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d986f26920e3e81c83886788aec1dd89c9c682951d602cc4f367a53610585e6d
MD5 ed7cc23bba17adfb77ac061041b822d3
BLAKE2b-256 67f35b8a031b23ff7cd89d11b334fded01595dff23439c794e05e1d4dfd891e1

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