We prepared an interface for easier training of Kaldi-models and easier decoding of own audio-data with existing models
The training- and decoding-scripts are adapted from https://github.com/tudarmstadt-lt/kaldi-tuda-de.
The complete documentation can be found within documentation.docx
The most important excerpts:
We prepared a Dockerfile (can be found here https://github.com/JuliusCosmoRomeo/kaldi_interface)
The Dockerfile prepares the Kaldi-setup, downloads Marytts (described later under the chapter “Mary”) and the Kaldi Interface that I developed for easier training and decoding.
At the end of the Docker-build the docker-image internally looks as follows (the most important directories are listed):
/opt/kaldi – contains the Kaldi setup
/opt/mary/marytts-5.1.1/marytts-5.1.1 – contains the Mary TTS setup of the specific version 5.1.1
/kaldi_interface – contains the train.sh and the decode.sh that can be run via docker run
/data – this directory needs to be mounted into the docker-container. The complete structure of how the data-directory on the Host-system should look like can be found in the chapter Train a model
The following command trains a GMM-HMM-model on your own data or on prepared data
docker run -v volume_dir:/data /kaldi_interface/train.sh model_name
or
docker run -v volume_dir:/data /kaldi_interface/train.sh model_name path_to_data_dir [utterance-postfix]
IMPORTANT: path_to_data_dir is the root-folder, in which the 3 directories "train", "test" and "dev" are located
e.g. if your "train"-, "test"-, and "dev"-dirs are located in /data/, the expected path_to_dir_name would be /data
Read the chapter "Train a model - How the dir-structure of the mounted directory should look like" for data preparation
docker run –v volume_dir:/data /kaldi_interface/decode.sh modelname absolute-path-to-test-dir
The command copies the data to the data dir of the model and then runs the decode.sh-script within the model-directory