diff --git a/.vs/acoustic_model/v15/.suo b/.vs/acoustic_model/v15/.suo index b545ca0..7c3c3f1 100644 Binary files a/.vs/acoustic_model/v15/.suo and b/.vs/acoustic_model/v15/.suo differ diff --git a/acoustic_model/fame_hmm.py b/acoustic_model/fame_hmm.py index 4cffa2f..99ac65e 100644 --- a/acoustic_model/fame_hmm.py +++ b/acoustic_model/fame_hmm.py @@ -27,8 +27,8 @@ extract_features = 0 flat_start = 0 train_model_without_sp = 0 add_sp = 0 -train_model_with_re_aligned_mlf = 1 -train_triphone = 0 +train_model_with_re_aligned_mlf = 0 +train_triphone = 1 @@ -45,9 +45,6 @@ lexicon_oov = os.path.join(default.fame_dir, 'lexicon', 'lex.oov') config_dir = os.path.join(default.htk_dir, 'config') -sil_hed = os.path.join(config_dir, 'sil.hed') -prototype = os.path.join(config_dir, proto_name) - model_dir = os.path.join(default.htk_dir, 'model') model0_dir = os.path.join(model_dir, 'hmm0') model1_dir = os.path.join(model_dir, 'hmm1') @@ -72,6 +69,7 @@ fh.make_new_directory(label_dir, existing_dir='leave') hcompv_scp_train = os.path.join(tmp_dir, 'train.scp') mlf_file_train = os.path.join(label_dir, 'train_phone.mlf') mlf_file_train_aligned = os.path.join(label_dir, 'train_phone_aligned.mlf') +hcompv_scp_train_updated = hcompv_scp_train.replace('.scp', '_updated.scp') ## testing htk_stimmen_dir = os.path.join(default.htk_dir, 'stimmen') @@ -304,6 +302,13 @@ if train_model_with_re_aligned_mlf: mlf_file_train_aligned, os.path.join(label_dir, 'train_word.mlf'), hcompv_scp_train) + + print('>>> updating the script file... ') + chtk.update_script_file( + mlf_file_train_aligned, + mlf_file_train, + hcompv_scp_train, + hcompv_scp_train_updated) print("elapsed time: {}".format(time.time() - timer_start)) print('>>> re-estimation... ') @@ -314,11 +319,11 @@ if train_model_with_re_aligned_mlf: model1sp2_dir, os.path.join(model1sp_dir, 'iter'+str(niter)), improvement_threshold, - hcompv_scp_train, + hcompv_scp_train_updated, os.path.join(htk_stimmen_dir, 'mfc'), 'mfc', os.path.join(htk_stimmen_dir, 'word_lattice.ltc'), - mlf_file=mlf_file_train, + mlf_file=mlf_file_train_aligned, lexicon_file=os.path.join(htk_stimmen_dir, 'lexicon_recognition.dic'), model_type='monophone_with_sp' ) @@ -327,19 +332,25 @@ if train_model_with_re_aligned_mlf: ## ======================= train triphone ======================= if train_triphone: - triphone_mlf = os.path.join(default.htk_dir, 'label', 'train_triphone.mlf') - macros = os.path.join(model_dir, 'hmm1_tri', 'iter0', 'macros') - hmmdefs = os.path.join(model_dir, 'hmm1_tri', 'iter0', 'hmmdefs') model_out_dir = os.path.join(model_dir, 'hmm1_tri', 'iter1') - run_command([ - 'HERest', '-B', - '-C', config_train, - '-I', triphone_mlf, - '-t', '250.0', '150.0', '1000.0', - '-s', 'stats' - '-S', hcompv_scp_train, - '-H', macros, - '-H', hmmdefs, - '-M', model_out_dir, - os.path.join(config_dir, 'triphonelist.txt') - ]) \ No newline at end of file + + triphonelist_txt = os.path.join(config_dir, 'triphonelist_txt') + triphone_mlf = os.path.join(default.htk_dir, 'label', 'train_triphone.mlf') + + chtk.make_triphonelist( + triphonelist_txt, + triphone_mlf, + mlf_file_train_aligned) + + #run_command([ + # 'HERest', '-B', + # '-C', config_train, + # '-I', triphone_mlf, + # '-t', '250.0', '150.0', '1000.0', + # '-s', 'stats' + # '-S', hcompv_scp_train, + # '-H', macros, + # '-H', hmmdefs, + # '-M', model_out_dir, + # os.path.join(config_dir, 'triphonelist.txt') + #])