Metadata-Version: 2.1
Name: everyvoice
Version: 0.1.20230307
Summary: Text-to-Speech Synthesis for the Speech Generation for Indigenous Language Education Small Teams Project
Home-page: https://github.com/roedoejet/EveryVoice
Author: Aidan Pine
Author-email: hello@aidanpine.ca
License: MIT
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: einops (==0.5.0)
Requires-Dist: g2p (==0.5.20221013)
Requires-Dist: librosa (==0.9.2)
Requires-Dist: loguru (==0.6.0)
Requires-Dist: matplotlib (==3.6.0)
Requires-Dist: merge-args
Requires-Dist: nltk (==3.7)
Requires-Dist: pandas (==1.4.4)
Requires-Dist: panphon (==0.20.0)
Requires-Dist: pathos (==0.2.9)
Requires-Dist: pycountry (==22.3.5)
Requires-Dist: pydantic (==1.10.2)
Requires-Dist: pympi-ling
Requires-Dist: pysdtw (==0.0.5)
Requires-Dist: pytorch-lightning (==1.8.1)
Requires-Dist: python-slugify (==5.0.0)
Requires-Dist: pyworld (==0.2.10)
Requires-Dist: PyYAML (>=5.1)
Requires-Dist: questionary (==1.10.0)
Requires-Dist: readalongs (==0.2.20221114)
Requires-Dist: simple-term-menu (==1.5.2)
Requires-Dist: setuptools (==59.5.0)
Requires-Dist: tabulate (==0.8.10)
Requires-Dist: typer[all] (==0.6.1)

# EveryVoice TTS Toolkit 💬

[![codecov](https://codecov.io/gh/roedoejet/EveryVoice/branch/main/graph/badge.svg?token=yErCxf64IU)](https://codecov.io/gh/roedoejet/EveryVoice)
[![license](https://img.shields.io/badge/Licence-MIT-green)](LICENSE)

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

It is largely based off the FastSpeech2/Fastpitch models.

## Quickstart

### Install

Clone clone the repo and pip install it locally:

```sh
$ git clone https://github.com/roedoejet/EveryVoice.git
$ cd EveryVoice
$ git submodule update --init
$ pip install -e .
```

### Dependencies

I recommend using Conda and Python 3.9. To do that, create a new environment:

```
conda create --name EveryVoice python=3.9
conda activate EveryVoice
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
```

You can then install the rest of the Python dependencies with pip

```
pip3 install -r requirements.txt
```

Alternatively, you can just create the whole thing from our `environment.yml` file:

```
conda env create -f environment.yml
conda activate EveryVoice
```

## Contributing

Feel free to dive in! [Open an issue](https://github.com/roedoejet/EveryVoice/issues/new) or submit PRs.

This repo follows the [Contributor Covenant](http://contributor-covenant.org/version/1/3/0/) Code of Conduct.

You can install our standard Git hooks by running these commands in your sandbox:

```sh
pip install -r requirements.dev.txt
pre-commit install
gitlint install-hook
```

Have a look at [Contributing.md](Contributing.md) for the full details on the
Conventional Commit messages we prefer, our code formatting conventions, and
our Git hooks.

You can then interactively install the package by running the following command from the project root:

```sh
pip install -e .
```

## Acknowledgements

This repo 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

## Tests

Run unit tests by `python3 -m unittest tests/test_configs.py` or suites of tests by running `everyvoice test dev` if you have the package installed interactively.


