🚧 🚧 Warning! This repository is not quite ready yet. We're releasing it publicly in alpha, but it should be expected to change drastically over the coming months. 🚧 🚧
This is the Text-to-Speech (TTS) toolkit used by the Small Teams "Speech Generation for Indigenous Language Education" project.
-
Install Python 3.10 or 3.11 and create a venv or a conda env for EveryVoice.
-
Install
sox
. On Ubuntu,sudo apt-get install sox libsox-dev
should work. If not, use Conda and runconda install sox -c conda-forge
in your EveryVoice environment -
Install
ffmpeg
. On Ubuntu,sudo apt-get install ffmpeg
should work. If not, use Conda and runconda install ffmpeg
in your EveryVoice environment. -
Install
torch
andtorchaudio
version 2.1.0 for your platform and CUDA version: follow the instructions at https://pytorch.org/get-started/locally/ but specifytorch==2.1.0 torchaudio==2.1.0
in the install command and removetorchvision
. -
Run
pip install everyvoice==0.2.0a1
(change the version to the current version if needed).
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.
git clone https://github.com/EveryVoiceTTS/EveryVoice.git
cd EveryVoice
git submodule update --init
To run EveryVoice, you need to create a new environment using Conda and Python 3.10, 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 --name <env-name-of-your-choice>
conda activate <env-name-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.
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.
Read the full EveryVoice documentation.
In particular, read the Guides to get familiar with the whole process.
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 -r requirements.dev.txt
pre-commit install
gitlint install-hook
git submodule foreach 'pre-commit 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.
This repository draws on many other wonderful code bases. Many thanks to:
- https://github.com/nocotan/pytorch-lightning-gans
- https://github.com/rishikksh20/iSTFTNet-pytorch
- https://github.com/jik876/hifi-gan
- https://github.com/ming024/FastSpeech2
- https://github.com/MiniXC/LightningFastSpeech2
- https://github.com/DigitalPhonetics/IMS-Toucan
Run unit tests by python -m unittest tests/test_configs.py
or suites of tests by running everyvoice test dev
if you have the package installed interactively.