Kaldi and kraken training data generator
This script downloads pages with transcriptions from Arkindex and converts data to Kaldi format or kraken format. It also generates train, val and test splits.
Using the script
common for both modules
ARKINDEX_API_TOKEN
and ARKINDEX_API_URL
environment variables must be defined.
Install it as a package
virtualenv -p python3 .env
source .env/bin/activate
pip install -e .
Use help to list possible parameters:
kaldi-data-generator --help
There is also an option that skips all vertical transcriptions and it is --skip_vertical_lines
Kaldi format
Simple example:
kaldi-data-generator -f kaldi --dataset_name my_balsac --out_dir /tmp/balsac/ --volumes 8f4005e9-1921-47b0-be7b-e27c7fd29486 d2f7c563-1622-4721-bd51-96fab97189f7
With corpus ids
kaldi-data-generator -f kaldi --dataset_name cz --out_dir /tmp/home_cz/ --corpora 1ed45e94-9108-4029-a529-9abe37f55ba0
Polygon example:
kaldi-data-generator -f kaldi --dataset_name my_balsac2 --extraction_mode polygon --out_dir /tmp/balsac/ --pages 50e1c3c0-2fe9-4216-805e-1a2fd2e7e9f4
The script creates 3 directories Lines
, Transcriptions
, Partitions
in the specified out_dir
.
The contents of these directories must be copied (or symlinked) to the corresponding directories in data/local/
of kaldi recipe.
Kraken format
simple examples:
$ kaldi-data-generator -f kraken -o <output_dir> --volumes <volume_id> --no_split
For instance to download the 4 sets from IAM (2 validation set on Arkindex) in 3 directories :
$ kaldi-data-generator -f kraken -o iam_training --volumes e7a95479-e5fc-4b20-830c-0c6e38bf8f72 --no_split
$ kaldi-data-generator -f kraken -o iam_validation --volumes edc78ee1-09e0-4671-806b-5fc0392707d9 --no_split
$ kaldi-data-generator -f kraken -o iam_validation --volumes fefbbfca-a6dd-4e00-8797-0d4628cb024d --no_split
$ kaldi-data-generator -f kraken -o iam_test --volumes 0ce2b631-01d7-49bf-b213-ceb6eae74a9b --no_split