A deep learning-based speech synthesizer for Moroccan Darija
# Darija-Speech-Synthesizer
A deep learning-based speech synthesizer for Moroccan Darija
Before starting the preprocessing pipeline, you may want to first filter by speake. To do so, run the notebook: _FilteringSpeaker.ipynb_. The output is a directory containing the audios of the chosen speaker and a file containing transcriptions (in our case, Loubna was the chosen speaker).
Now you well need to convert mp3 files to wav files. To do so run the notebook: _MP3ToWav.ipynb_.
## Steps to implement the preprocessing pipeline
1- Start by removing emojis and punctuation marks
2- Diacritize the text: To do so, you will need the API provided by QCRI
3- Perform transliteration
The three previous steps are incorporated in the preprocessing notebook: _preprocessing_darija.ipynb_
4- Perform phonetization by running the notebook _phonetizer.ipynb_.
**Be careful, the cell where to stop at this stage is indicated in the notebook**
The output of the phonetizer consists of two files: pronunciation dictionary _dict_ and pronunciation of each utterance _utterance_pronunciation_. We will need dict as input for the aligner.
**NB: I modified scripts of the original phonetizer and addedd new scripts. You can download the phonetizer scripts with my modification from here**.
5- Perform alignment
You will need to install HTK on a linux machine. Steps to install HTK on Ubuntu.
After successful installation of HTK, you will need to install prosodylab aligner to use HTK from this github repo. you will need to create a folder for your data which will contain the lab and wav files (each lab file contains transcript of one audio).
Now, you will also need the dictionary as output by the aligner. The next step is to run the following command:
`python3 -m aligner -r lang-mod.zip -a data/ -d lang.dict` where:
_lang-mod.zip_ is the HMM language model (in our case we used a model built for arabic). It is available in the prosodylab aligner github repo and is named _bootstrap.zip_.
_data_ a folder …