Kaldi aishell2 GMM训练步骤

版权声明: https://blog.csdn.net/cj1989111/article/details/82669666

     中文语音识别的aishell2推出已经有一段时间了,由于没有aishell2的语料库,有资格的可以申请,所以拿aishell1的15G语料进行训练,所以写了相关的脚本处理aishell1的语料库,来适配aishell2,可以参考我的github 仓库aishell2-gmm-train ,branch为:gmm-train。

语料准备

        下载完aishell1的语料后,将data_aishell.tgz解压后的语料放在egs/aishell2目录下的recipes(自己创建的),将解压后的语料按照github上的路径存放,然后先执行trans_create.sh脚本,此脚本根据aishell_transcript_v0.8.txt生成dev test train目录所需的trans.txt(wav名 与 所讲内容的对应关系,注意二者中间是tab制表符,空格会导致训练时spk2utt等文件内容为空),再执行wav_create.sh脚本,生产(wav名 与 wav路径的对应关系)

训练脚本的修改

   1. 注释了大辞典发音字典相关代码,指定了aishell1解压resource_aishell.tgz后的字典,见修改内容:https://github.com/xiangxyq/aishell2-gmm-train/blob/gmm-train/s5/local/prepare_dict.sh

    2. 语言模型训练时,注释了kaldi_lm的训练及srilm的训练方式,自己利用ngram命令生成相关的语言模型,https://github.com/xiangxyq/aishell2-gmm-train/blob/gmm-train/s5/local/train_lms.sh

    3. GMM训练时,在MFCC特征提取时,没有采用aishell2 pitch的特征提取方式,因为pitch增加了相应的维度,导致kaldi自带的online-gmm-decode-faster解码器维度不匹配,修改成make_mfcc.sh脚本,注释掉了 subset the training data for fast startup相关代码,并修改了部分训练时的错误,https://github.com/xiangxyq/aishell2-gmm-train/blob/gmm-train/s5/local/run_gmm.sh

注: 以上脚本中,注释掉了三音素和DNN的相关训练,如有问题,欢迎拍砖。

猜你喜欢

转载自blog.csdn.net/cj1989111/article/details/82669666
今日推荐