Afrikaans-based G2P and text-to-speech synthesis
# afrTTS - Afrikaans PyTorch-based G2P and text-to-speech synthesis
Welcome to afrTTS! We implement two systems:
-NaiveTTS uses an existing limited pronunciation dictionary and suffers from misallignment.
-G2PxTTS uses a G2P conversion model to expand this dictionary to create more coherent audio.
Installs
```python
pip install librosa
pip install univoc
pip install tacotron
pip install omegaconf
pip install torch
```
Tacotron
A series pretrained weights are avaible at
github.com only the following two should be used:
-NaiveTTS: "
github.com.
-G2PxTTS: "
github.com"
Tacotron can be trained by running the following preprocessing and training commands:
First adjust the first argument in line 32 of utils/jsonmaker.py to metadata_incomplete.csv then run the following commands:
```python
python utils/jsonmaker.py
python preprocess.py afrZA datasets/afrZA
python train.py afrza afrZA/metadata_incomplete.csv datasets/afrZA
```
The G2P model can be trained and used to expand the pronuncation dictionary all from the notebook at G2P/G2P_LSTM.ipynb.
A demo notebook afrTTS_demo.pynb can be used to test out the two systems provided that demo_utils.py, g2pmodel.py and the two dictionaries, afr_za_dict.txt and rcrl_apd.1.4.1.txt are in the same directory.
Further datasets and alogrithms are available in utils/:
-split_num_letters.py converts all numbers in a sequence to their word equivalents.
-demo_sample_randomizer.ipynb was used to sort the demo samples for the subjective evaluation.
-check_valid_entries complete.py returns the remainder of the dataset that remains in the selected dictionary, whether afr_za_dict.txt or rcrl_apd.1.4.1.txt.
Acknowledegments:
-
github.com
-https:/ …