MontrealCorpusTools / Montreal-Forced-Aligner

Command line utility for forced alignment using Kaldi
https://montrealcorpustools.github.io/Montreal-Forced-Aligner/
MIT License
1.29k stars 242 forks source link

problem: not found pretrained_models/ls_100_ivector_extractor.zip #87

Open agangzz opened 6 years ago

agangzz commented 6 years ago

system information (1) latest MFA code with nnet2 (2) ubuntu 14.04

Error information when traing MFA using nnet2, error occured. It seems that pretrained_models/ls_100_ivector_extractor.zip didn't exist. For my case, I use MFA to train Madarin(Chinese) speech, not English speech.

btw, could I disable speacker adaptation in MFA nnet2 training process? Thanks

Detailed error information Extracting i-vectors... Traceback (most recent call last): File "aligner/command_line/train_and_align.py", line 186, in File "aligner/command_line/train_and_align.py", line 85, in align_corpus File "aligner/aligner/base.py", line 701, in train_nnet_basic File "aligner/aligner/base.py", line 1024, in _extract_ivectors File "aligner/models.py", line 33, in init File "shutil.py", line 957, in unpack_archive File "shutil.py", line 865, in _unpack_zipfile shutil.ReadError: /data2/Montreal-Forced-Aligner-ai/dist/montreal-forced-aligner/lib/aligner/aligner/../../pretrained_models/ls_100_ivector_extractor.zip is not a zip file [4124] Failed to execute script train_and_align Exception ignored in:

Some information from base.py ( line 1016, line 1017)

To do still for release: maybe add arguments to command line to tell MFA which

    # i-vector extractor to use.

And from the document MFA: For now, only a pretrained model is available: the i-vector extractor used is by default trained on a 100-hour subset of Librispeech.

it seems than nnet2 in MFA doesn't work now, and still in development? Can i-vectors extraction in MFA nnet2 model support other language training, such Madarin, not only English?

mmcauliffe commented 6 years ago

There's a new version up now that should be a better way of using nnet2 in the training pipeline. Basically, you enable it through the new training configuration files, like https://github.com/MontrealCorpusTools/Montreal-Forced-Aligner/blob/master/tests/data/configs/nnet_ivectors_train.yaml.

In this scheme, you can include ivectors/sat/lda as precursors if you want but they aren't necessary. The full combination of all the precursors haven't been tested yet, though, but please try this out instead and see if it works better for you.