Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org, zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: hunglmht243
  • License: mpl-2.0
  • Language: Python
  • Default Branch: master
  • Size: 20.2 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 3 years ago · Last pushed almost 3 years ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md


📣 Clone your voice with a single click on 🐸Coqui.ai


🐸TTS is a library for advanced Text-to-Speech generation. It's built on the latest research, was designed to achieve the best trade-off among ease-of-training, speed and quality. 🐸TTS comes with pretrained models, tools for measuring dataset quality and already used in 20+ languages for products and research projects.

Dicord License PyPI version Covenant Downloads DOI

GithubActions GithubActions GithubActions GithubActions GithubActions GithubActions GithubActions GithubActions GithubActions GithubActions GithubActions Docs

📰 Subscribe to 🐸Coqui.ai Newsletter

📢 English Voice Samples and SoundCloud playlist

📄 Text-to-Speech paper collection

💬 Where to ask questions

Please use our dedicated channels for questions and discussion. Help is much more valuable if it's shared publicly so that more people can benefit from it.

| Type | Platforms | | ------------------------------- | --------------------------------------- | | 🚨 Bug Reports | GitHub Issue Tracker | | 🎁 Feature Requests & Ideas | GitHub Issue Tracker | | 👩‍💻 Usage Questions | GitHub Discussions | | 🗯 General Discussion | GitHub Discussions or Discord |

🔗 Links and Resources

| Type | Links | | ------------------------------- | --------------------------------------- | | 💼 Documentation | ReadTheDocs | 💾 Installation | TTS/README.md| | 👩‍💻 Contributing | CONTRIBUTING.md| | 📌 Road Map | Main Development Plans | 🚀 Released Models | TTS Releases and Experimental Models|

🥇 TTS Performance

Underlined "TTS" and "Judy" are 🐸TTS models <!-- Details... -->

Features

  • High-performance Deep Learning models for Text2Speech tasks.
    • Text2Spec models (Tacotron, Tacotron2, Glow-TTS, SpeedySpeech).
    • Speaker Encoder to compute speaker embeddings efficiently.
    • Vocoder models (MelGAN, Multiband-MelGAN, GAN-TTS, ParallelWaveGAN, WaveGrad, WaveRNN)
  • Fast and efficient model training.
  • Detailed training logs on the terminal and Tensorboard.
  • Support for Multi-speaker TTS.
  • Efficient, flexible, lightweight but feature complete Trainer API.
  • Released and ready-to-use models.
  • Tools to curate Text2Speech datasets underdataset_analysis.
  • Utilities to use and test your models.
  • Modular (but not too much) code base enabling easy implementation of new ideas.

Implemented Models

Spectrogram models

End-to-End Models

Attention Methods

  • Guided Attention: paper
  • Forward Backward Decoding: paper
  • Graves Attention: paper
  • Double Decoder Consistency: blog
  • Dynamic Convolutional Attention: paper
  • Alignment Network: paper

Speaker Encoder

Vocoders

You can also help us implement more models.

Install TTS

🐸TTS is tested on Ubuntu 18.04 with python >= 3.7, < 3.11..

If you are only interested in synthesizing speech with the released 🐸TTS models, installing from PyPI is the easiest option.

bash pip install TTS

If you plan to code or train models, clone 🐸TTS and install it locally.

bash git clone https://github.com/coqui-ai/TTS pip install -e .[all,dev,notebooks] # Select the relevant extras

If you are on Ubuntu (Debian), you can also run following commands for installation.

bash $ make system-deps # intended to be used on Ubuntu (Debian). Let us know if you have a different OS. $ make install

If you are on Windows, 👑@GuyPaddock wrote installation instructions here.

Docker Image

You can also try TTS without install with the docker image. Simply run the following command and you will be able to run TTS without installing it.

bash docker run --rm -it -p 5002:5002 --entrypoint /bin/bash ghcr.io/coqui-ai/tts-cpu python3 TTS/server/server.py --list_models #To get the list of available models python3 TTS/server/server.py --model_name tts_models/en/vctk/vits # To start a server

You can then enjoy the TTS server here More details about the docker images (like GPU support) can be found here

Synthesizing speech by 🐸TTS

🐍 Python API

```python from TTS.api import TTS

Running a multi-speaker and multi-lingual model

List available 🐸TTS models and choose the first one

modelname = TTS.listmodels()[0]

Init TTS

tts = TTS(model_name)

Run TTS

❗ Since this model is multi-speaker and multi-lingual, we must set the target speaker and the language

Text to speech with a numpy output

wav = tts.tts("This is a test! This is also a test!!", speaker=tts.speakers[0], language=tts.languages[0])

Text to speech to a file

tts.ttstofile(text="Hello world!", speaker=tts.speakers[0], language=tts.languages[0], file_path="output.wav")

Running a single speaker model

Init TTS with the target model name

tts = TTS(modelname="ttsmodels/de/thorsten/tacotron2-DDC", progress_bar=False, gpu=False)

Run TTS

tts.ttstofile(text="Ich bin eine Testnachricht.", filepath=OUTPUTPATH)

Example voice cloning with YourTTS in English, French and Portuguese:

tts = TTS(modelname="ttsmodels/multilingual/multi-dataset/yourtts", progressbar=False, gpu=True) tts.ttstofile("This is voice cloning.", speakerwav="my/cloning/audio.wav", language="en", filepath="output.wav") tts.ttstofile("C'est le clonage de la voix.", speakerwav="my/cloning/audio.wav", language="fr", filepath="output.wav") tts.ttstofile("Isso é clonagem de voz.", speakerwav="my/cloning/audio.wav", language="pt", filepath="output.wav") ```

Command line tts

Single Speaker Models

  • List provided models:

    $ tts --list_models

  • Get model info (for both ttsmodels and vocodermodels):

    • Query by type/name: The modelinfobyname uses the name as it from the --listmodels. $ tts --model_info_by_name "<model_type>/<language>/<dataset>/<model_name>" For example:

      $ tts --model_info_by_name tts_models/tr/common-voice/glow-tts $ tts --model_info_by_name vocoder_models/en/ljspeech/hifigan_v2

    • Query by type/idx: The modelqueryidx uses the corresponding idx from --listmodels. ``` $ tts --modelinfobyidx "/" ``` For example:

      $ tts --model_info_by_idx tts_models/3

  • Run TTS with default models:

    $ tts --text "Text for TTS" --out_path output/path/speech.wav

  • Run a TTS model with its default vocoder model:

    $ tts --text "Text for TTS" --model_name "<model_type>/<language>/<dataset>/<model_name>" --out_path output/path/speech.wav For example:

    $ tts --text "Text for TTS" --model_name "tts_models/en/ljspeech/glow-tts" --out_path output/path/speech.wav

  • Run with specific TTS and vocoder models from the list:

    $ tts --text "Text for TTS" --model_name "<model_type>/<language>/<dataset>/<model_name>" --vocoder_name "<model_type>/<language>/<dataset>/<model_name>" --out_path output/path/speech.wav

For example:

```
$ tts --text "Text for TTS" --model_name "tts_models/en/ljspeech/glow-tts" --vocoder_name "vocoder_models/en/ljspeech/univnet" --out_path output/path/speech.wav
```
  • Run your own TTS model (Using Griffin-Lim Vocoder):

    $ tts --text "Text for TTS" --model_path path/to/model.pth --config_path path/to/config.json --out_path output/path/speech.wav

  • Run your own TTS and Vocoder models: $ tts --text "Text for TTS" --model_path path/to/model.pth --config_path path/to/config.json --out_path output/path/speech.wav --vocoder_path path/to/vocoder.pth --vocoder_config_path path/to/vocoder_config.json

Multi-speaker Models

  • List the available speakers and choose as among them:

    $ tts --model_name "<language>/<dataset>/<model_name>" --list_speaker_idxs

  • Run the multi-speaker TTS model with the target speaker ID:

    $ tts --text "Text for TTS." --out_path output/path/speech.wav --model_name "<language>/<dataset>/<model_name>" --speaker_idx <speaker_id>

  • Run your own multi-speaker TTS model:

    $ tts --text "Text for TTS" --out_path output/path/speech.wav --model_path path/to/model.pth --config_path path/to/config.json --speakers_file_path path/to/speaker.json --speaker_idx <speaker_id>

Directory Structure

|- notebooks/ (Jupyter Notebooks for model evaluation, parameter selection and data analysis.) |- utils/ (common utilities.) |- TTS |- bin/ (folder for all the executables.) |- train*.py (train your target model.) |- ... |- tts/ (text to speech models) |- layers/ (model layer definitions) |- models/ (model definitions) |- utils/ (model specific utilities.) |- speaker_encoder/ (Speaker Encoder models.) |- (same) |- vocoder/ (Vocoder models.) |- (same)

Owner

  • Login: hunglmht243
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you want to cite 🐸💬, feel free to use this (but only if you loved it 😊)"
title: "Coqui TTS"
abstract: "A deep learning toolkit for Text-to-Speech, battle-tested in research and production"
date-released: 2021-01-01
authors:
  - family-names: "Eren"
    given-names: "Gölge"
  - name: "The Coqui TTS Team"
version: 1.4
doi: 10.5281/zenodo.6334862
license: "MPL-2.0"
url: "https://www.coqui.ai"
repository-code: "https://github.com/coqui-ai/TTS"
keywords:
  - machine learning
  - deep learning
  - artificial intelligence
  - text to speech
  - TTS

GitHub Events

Total
Last Year

Dependencies

requirements.txt pypi
  • aiohttp *
  • anyascii *
  • coqpit >=0.0.16
  • cython *
  • eng_to_ipa *
  • flask *
  • fsspec *
  • g2pkk >=0.1.1
  • gruut ==2.2.3
  • inflect *
  • jamo *
  • jieba *
  • librosa ==0.8.0
  • matplotlib *
  • mecab-python3 ==1.0.5
  • nltk *
  • numba *
  • numpy *
  • packaging *
  • pandas *
  • prosodic *
  • pypinyin *
  • pysbd *
  • pyyaml *
  • scipy *
  • soundfile *
  • torch *
  • torchaudio *
  • tqdm *
  • trainer ==0.0.20
  • umap-learn ==0.5.1
  • underthesea *
  • unidecode *
  • unidic-lite ==1.0.8
  • vinorm *
  • viphoneme *
.github/workflows/aux_tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/data_tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/docker.yaml actions
  • actions/checkout v2 composite
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/setup-buildx-action v1 composite
  • docker/setup-qemu-action v1 composite
.github/workflows/inference_tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/pypi-release.yml actions
  • actions/checkout v2 composite
  • actions/download-artifact v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
.github/workflows/style_check.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/text_tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/tts_tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/vocoder_tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/zoo_tests0.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/zoo_tests1.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/zoo_tests2.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
Dockerfile docker
  • ${BASE} latest build
TTS/encoder/requirements.txt pypi
  • numpy >=1.17.0
  • umap-learn *
TTS/tts/utils/monotonic_align/setup.py pypi
docs/requirements.txt pypi
  • furo *
  • linkify-it-py *
  • myst-parser ==0.15.1
  • sphinx ==4.0.2
  • sphinx_copybutton *
  • sphinx_inline_tabs *
pyproject.toml pypi
requirements.dev.txt pypi
  • black * development
  • coverage * development
  • isort * development
  • nose2 * development
  • pylint ==2.10.2 development
requirements.notebooks.txt pypi
  • bokeh ==1.4.0
setup.py pypi