Logo Lanfrica

ansost/kinyarwanda-storyboard

Domain:

natural language processing

Record type:

dataset
Creator:
ans
Host:
Creating a data set containing nouns and verbs of spoken Kinyarwanda that will serve as basis for modeling and experiments. # Kinyarwanda ASR for storyboard recordings The goal of work package 2-DataSet is to create a data set containing nouns and verbs of spoken Kinyarwanda that will serve as basis for our modeling and experiments. ## Pre-requisites > > This code is tested on Manjaro 6.5.13-7 with 16×MD Ryzen 7 7730U and 22,4 GiB RAM. > With these specifications, all individual computations take max. 10 minutes. This tutorial uses the Docker version of MFA. To use MFA without Docker, see the file in the docs folder: more_mfa.md. 1. Get a copy of the repository via git or the zip archive. 2. Install Docker 3. Pull the forced aligner image. In you terminal: `docker pull mmcauliffe/montreal-forced-aligner:v2.2.16`. 4. Install Python 3.11.6. 5. Make a virtual environment to install the Python requirements from the root of the repository: ```sh python -m venv source /bin/activate pip install -r requirements.txt ``` If you want to specify the version of Python, you can do so with: ```sh python3.11 -m venv source /bin/activate pip install -r requirements.txt ``` 6. Download the textgrids and wav files from the PhilCloud, place them in `data/mfa_data/corpus` and rename them using `rename.py`. ## Generate alignments The sections below describe how to generate alignments (+ the necessary preprocessing) for Kinyarwanda using different methods: 1. Train a **new model for Kinyarwanda** using the Fleurs corpus. 2. Use a **pre-trained Hausa model + a Hausa dictionary** (the model does not know Kinyarwanda orthography or phonology). 3. Use a **pre-trained Hausa model** + **g2p Hausa model** to generate a pronunciation dictionary for the Kinyarwanda data. 4. **Adapt the Hausa model** to Kinyarwanda. Sections repeat steps like downloading the pre-trained models. You can skip these steps if you have already done them in the same docker instance. **Re-starting the docker instance will remove everything you do not have on your local machine**. If you try multiple methods, make sure to use the …