Commit b1048999 authored by Aleksi Papalitsas's avatar Aleksi Papalitsas
Browse files


parent 73632e38
# CommonVoice-TH Recipe
A commonvoice-th recipe for training ASR engine using Kaldi. The following recipe follows `commonvoice` recipe with slight modification
# CommonVoice-FI Recipe
Fork from [commonvoice-th](
A commonvoice-fi recipe for training ASR engine using Kaldi. The following recipe follows `commonvoice` and `commonvoice-th` recipe with slight modification.
## Installation
The author use docker to run the container. **GPU is required** to train `tdnn_chain`, else the script can train only up to `tri3b`.
### Building Docker
$ docker build -t <docker-name> .
### Downloading SRILM
Before building docker, SRILM file need to be downloaded. You can download it from [here]( Once the file is downloaded, remove version name (e.g. from `srilm-1.7.3.tar.gz` to `srilm.tar.gz` and place it inside `docker` directory. Your `docker` directory should contains 2 files: `dockerfile`, and `srilm.tar.gz`.
### Run docker and attach command line
Since gpu is required you are going to need the kaldi-gpu-image.
$ docker run -it -v <path-to-repo>:/opt/kaldi/egs/commonvoice-th -v <path-to-labels>:/mnt/labels -v <path-to-cv-corpus>:/mnt --gpus all --name <container-name> <built-docker-name> bash
$ docker run -it --runtime=nvidia -v <path-to-repo>:/opt/kaldi/egs/commonvoice-th -v <path-to-labels>:/mnt/labels -v <path-to-cv-corpus>:/mnt --gpus all --name <container-name> kaldiasr/kaldi:gpu-latest bash
Once you finish this step, you should be in a docker container bash shell now
......@@ -20,21 +25,12 @@ $ cd /opt/kaldi/egs/commonvoice-th
$ ./ --stage 0
## Experiment Results
Here are some experiment results evaluated on dev set:
|Model|dev WER|
Here is final `test` set result evaluated on `tdnn-chain`
|Model|dev WER|test WER|
## Author
Chompakorn Chaksangchaichot
Building the model takes roughly 4 hours with the voice dataset from [Mozilla Common Voice](
Since the dataset is only 14 hours long, it does not contain enough words for the dictionary to be used for actual voice recognition.
## Constructing a working VOSK-model
Vosk is a higher level library that uses Kaldi internally for voice recognition. It requires certain type of Kaldi model in order for it to work.
There is a list in [VOSKs own website]( about what the model folder should contain.
Find these files produced by the scripts and put them in right folders to create a working model. NOTE: take the files from nnet directories. Using files from tri3b or models created by earlier stages won't work.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment