Kaldi Interoperability¶
We support importing Kaldi data directories that contain at least the wav.scp
file, required to create the RecordingSet
. Other files, such as segments
, utt2spk
, etc. are used to create the SupervisionSet
.
We currently do not support the following (but may start doing so in the future):
Importing Kaldi’s extracted features (
feats.scp
is ignored)Exporting Lhotse manifests as Kaldi data directories.
Python¶
Python methods related to Kaldi support:
-
lhotse.kaldi.
load_kaldi_data_dir
(path, sampling_rate) Load a Kaldi data directory and convert it to a Lhotse RecordingSet and SupervisionSet manifests. For this to work, at least the wav.scp file must exist. SupervisionSet is created only when a segments file exists. All the other files (text, utt2spk, etc.) are optional, and some of them might not be handled yet. In particular, feats.scp files are ignored.
- Return type
Tuple
[RecordingSet
,Optional
[SupervisionSet
]]
-
lhotse.kaldi.
load_kaldi_text_mapping
(path, must_exist=False) Load Kaldi files such as utt2spk, spk2gender, text, etc. as a dict.
- Return type
Dict
[str
,Optional
[str
]]
CLI¶
Converting Kaldi data directory called data/train
, with 16kHz sampling rate recordings,
to a directory with Lhotse manifests called train_manifests
:
lhotse convert-kaldi data/train 16000 train_manifests