音声認識——DNNオンライン復号aishellを例に

4566 ワード

kaldiのツールセットには、オンライン識別に使用できるいくつかのプログラムがあります.これらのプログラムはsrc/onlinebinフォルダにあり、src/onlineフォルダのファイルからコンパイルされています(make extコマンドでコンパイルできます).これらのプログラムの多くはtoolsフォルダのportaudioライブラリファイルのサポートも必要です.portaudioライブラリファイルはtoolsフォルダの対応するスクリプトファイルを使用してダウンロードしてインストールすることができます.
#   portaudio
yum -y install *alsa*
cd kaldi/tools
./install_portaudio.sh
#         
cd src/
make ext

注意:online公式はメンテナンスされていません.新しいバージョンはonline 2です.まず簡単なonlineから始めます.
次にaishellのchainモデルを例に、online2-wav-nnet3-latgen-fasterを用いて訓練されたaishellモデルを復号することを学習する.
  • まず、復号化に必要なプロファイルを生成する:
  • #   :  [ --add_pitch=true ]  pitch  。
    steps/online/nnet3/prepare_online_decoding.sh --add_pitch=true data/lang_chain exp/nnet3/extractor \
    exp/chain/tdnn_1a_sp exp/chain/nnet_online
    
  • 直接復号するとエラーが表示されます:
  • LOG (wav-copy[5.3]:main():wav-copy.cc:68) Copied 1 wave files
    ERROR (online2-wav-nnet3-latgen-faster[5.3]:OnlineTransform():online-feature.cc:421)Dimension \
    mismatch: source features have dimension 91 and LDA #cols is 281
    
  • 緊張しないでください.特徴次元が一致しないからです.私たちが生成したプロファイルの特徴的なタイプはMFCCですが、aishellトレーニングnnetとchainモデルはmfcc_というより高い次元のMFCCを入力します.hire,hireはhigh resolution単語の略である[引用文章].最初のステップで生成したMFCCプロファイルを変更し、mfccを開きます.confファイル、
  • #      :
    --use-energy=false   # only non-default option.
    --sample-frequency=16000
    #          ,  :
    --num-mel-bins=40     # similar to Google's setup.
    --num-ceps=40     # there is no dimensionality reduction.
    --low-freq=40    # low cutoff frequency for mel bins
    --high-freq=-200 # high cutoff frequently,relative to Nyquist of 8000 (=3800)
    
  • が完了すると復号することができ、オンライン復号ツールonline2-wav-nnet3-latgen-fasterを使用して復号する:
  • online2-wav-nnet3-latgen-faster --config=exp/chain/nnet_online/conf/online.conf --do-\
    endpointing=false --frames-per-chunk=20 --extra-left-context-initial=0 --online=true --frame-\
    subsampling-factor=3 --max-active=7000 --beam=15.0 --lattice-beam=6.0 --online=false --acoustic-\
    scale=0.1 --word-symbol-table=data/lang/words.txt exp/chain/tdnn_1a_sp/final.mdl \
    exp/chain/tdnn_1a_sp/graph/HCLG.fst ark:data/test/spk2utt scp:data/test/wav.scp ark,t:20180803.txt
    
  • 得到识别结果!!!
  • BAC009S0764W0121                     
    LOG (online2-wav-nnet3-latgen-faster[5.4.208~1-6f214]:main():online2-wav-nnet3-latgen-faster.cc:286) Decoded utterance BAC009S0764W0121
    BAC009S0764W0122                      
    LOG (online2-wav-nnet3-latgen-faster[5.4.208~1-6f214]:main():online2-wav-nnet3-latgen-faster.cc:286) Decoded utterance BAC009S0764W0122
    BAC009S0764W0123                    
    LOG (online2-wav-nnet3-latgen-faster[5.4.208~1-6f214]:main():online2-wav-nnet3-latgen-faster.cc:286) Decoded utterance BAC009S0764W0123
    BAC009S0764W0124                             
    LOG (online2-wav-nnet3-latgen-faster[5.4.208~1-6f214]:main():online2-wav-nnet3-latgen-faster.cc:286) Decoded utterance BAC009S0764W0124
    BAC009S0764W0125                   
    LOG (online2-wav-nnet3-latgen-faster[5.4.208~1-6f214]:main():online2-wav-nnet3-latgen-faster.cc:286) Decoded utterance BAC009S0764W0125
    BAC009S0764W0126                
    LOG (online2-wav-nnet3-latgen-faster[5.4.208~1-6f214]:main():online2-wav-nnet3-latgen-faster.cc:286) Decoded utterance BAC009S0764W0126
    BAC009S0764W0127                      
    LOG (online2-wav-nnet3-latgen-faster[5.4.208~1-6f214]:main():online2-wav-nnet3-latgen-faster.cc:286) Decoded utterance BAC009S0764W0127
    BAC009S0764W0128                   
    LOG (online2-wav-nnet3-latgen-faster[5.4.208~1-6f214]:main():online2-wav-nnet3-latgen-faster.cc:286) Decoded utterance BAC009S0764W0128
    BAC009S0764W0129                   
    
    

    転載は出典を明記してください.https://blog.csdn.net/chinatelecom08/article/details/81392535参考:IT_King 1『DNNオンライン復号(aishellのchainモデルを例に)』