Skip to main content

EveryVoice TTS Toolkit 💬

codecov Documentation Build Status license beta

This is the Text-to-Speech (TTS) toolkit used by the Small Teams "Speech Generation for Indigenous Language Education" project.

Quickstart from PyPI

  • Install Python 3.10, 3.11, or 3.12 and create a venv or a conda env for EveryVoice.

  • Install sox.

    • On Ubuntu, sudo apt-get install sox should work.
    • Other Linux distros should have equivalent packages.
    • With Conda, conda install sox -c conda-forge is reliable.
  • Install ffmpeg:

    • On Ubuntu, sudo apt-get install ffmpeg should work.
    • Other Linux distros should have an equivalent package.
    • With Conda, conda install ffmpeg is reliable.
    • Or, use the applicable link under "Get packages & executables files" at https://www.ffmpeg.org/download.html
  • Install torch and torchaudio version 2.1.0 for your platform and CUDA version: follow the instructions at https://pytorch.org/get-started/locally/ but specify torch==2.1.0 torchaudio==2.1.0 in the install command and remove torchvision.

  • Run pip install everyvoice

Quickstart from source

Install conda

First, you'll need to install conda. Miniforge3 is a fully open-source option which is free for all users and works well. You can also use Anaconda3 or Miniconda3 if you have or can get a license.

Clone the repo

git clone https://github.com/EveryVoiceTTS/EveryVoice.git
cd EveryVoice
git submodule update --init

Environment and installation – automated

To run EveryVoice, you need to create a new environment using Conda and Python 3.12, install all our dependencies and EveryVoice itself.

We have automated the procedure required to do all this in the script make-everyvoice-env, which you can run like this:

./make-everyvoice-env --path <env-path-of-your-choice>
conda activate <env-path-of-your-choice>

Add the option --cuda CUDA_VERSION if you need to override the default CUDA version, or --cpu to use Torch compiled for CPU use only.

Environment and installation – manual

If the automated installation process does not work for you, or if you prefer to do the full installation manually, please refer to EveryVoice / Installation.

Documentation

Read the full EveryVoice documentation.

In particular, read the Guides to get familiar with the whole process.

To build and view the documentation locally:

pip install -e '.[docs]'
mkdocs serve

and browse to http://127.0.0.1:8000/.

Contributing

Feel free to dive in! Open an issue or submit PRs.

This repo follows the Contributor Covenant Code of Conduct.

Please make sure our standard Git hooks are activated, by running these commands in your sandbox (if you used our make-everyvoice-env script then this step is already done for you):

pip install -e '.[dev]'
prek install
gitlint install-hook
git submodule foreach 'prek install'
git submodule foreach 'gitlint install-hook'

Have a look at Contributing.md for the full details on the Conventional Commit messages we prefer, our code formatting conventions, our Git hooks, and recommendations on how to make effective pull requests.

Acknowledgements

This repository draws on many other wonderful code bases. Many thanks to:

Tests

We use pytest to manage unit tests.

  • Run all the tests: pytest; add -v to list tests cases, -s to see all logs, --co to list tests without running them
  • Run the tests in one file: pytest everyvoice/tests/test_<file_name>.py
  • Run one test case: pytest everyvoice/tests/test_<file_name>.py::<class_name>::<function_name>

Download files

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

Source Distribution

everyvoice-0.5.0.tar.gz (267.8 kB view details)

Uploaded Source

Built Distribution

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

everyvoice-0.5.0-py3-none-any.whl (342.1 kB view details)

Uploaded Python 3

File details

Details for the file everyvoice-0.5.0.tar.gz.

File metadata

  • Download URL: everyvoice-0.5.0.tar.gz
  • Upload date:
  • Size: 267.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for everyvoice-0.5.0.tar.gz
Algorithm Hash digest
SHA256 b03e8a31fe395b20f1c18951dd085bef33e3c675d1efb21ffeff7d50f4fe3c36
MD5 5976111b387daeb59b57b2069d872753
BLAKE2b-256 d75c2fa4d18aec8ccf92b83da6f5d2bf4a2e6627314c2259050a9ff55df66758

See more details on using hashes here.

Provenance

The following attestation bundles were made for everyvoice-0.5.0.tar.gz:

Publisher: publish.yaml on EveryVoiceTTS/EveryVoice

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file everyvoice-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: everyvoice-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 342.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for everyvoice-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bcd91a05eaadbd66e251c564f58cd05822c46acefe72d80170f6779ddc4f262f
MD5 406bf39ee02ca2245e1305f8de9ad91b
BLAKE2b-256 636a73d2681f265c854d68c6e602a5499cf016507775da12aa6874be8987e28f

See more details on using hashes here.

Provenance

The following attestation bundles were made for everyvoice-0.5.0-py3-none-any.whl:

Publisher: publish.yaml on EveryVoiceTTS/EveryVoice

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.20230307

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page