kaldi 常用命令总结(持续更新)

1.查看.mat矩阵的维度信息

>matrix-dim exp/tri5a_lstm_train_sp_ali/final.mat
40      144

2.查看tree信息

>tree-info exp/tri5a_lstm_train_sp_ali/tree
num-pdfs 3048
context-width 3
central-position 1

3. 特征提取相关

提取mfcc

steps/make_mfcc.sh --nj 1 data/train/  exp/mfcc mfcc

查看特征向量的维度

>feat-to-dim --print-args=false scp:data/train/feats.scp -
13

计算cmvn

compute-cmvn-stats --spk2utt=ark:data/train/spk2utt scp:data/train/feats.scp ark,scp:mfcc/cmvn.ark,mfcc/cmvn.scp

归一化:

apply-cmvn --utt2spk=ark:data/train/utt2spk scp:mfcc/cmvn.scp scp:data/train/feats.scp ark,scp:new_feats.ark,new_feats.scp
x="ark,s,cs:apply-cmvn --utt2spk=ark:data/train/utt2spk scp:mfcc/cmvn.scp scp:data/train/feats.scp ark:-|"
feat_dim=`feat-to-dim "$x" -`
----
echo $feat_dim
13

一些kaldi常用的术语和命令

4.计算wer

compute-wer --text --mode=present ark:data/test/text ark:ref.txt

5.lattice相关

将words级别的lattice转换phone级别的:

lattice-to-phone-lattice final.mdl "ark:gunzip -c decode_all_tgsmall/lat.2.gz|" ark:tmp/phones.lats

取lattice路径中最好的N条(得到的是fst):
lattice-to-nbest
最好的一条(得到的是fst):
lattice-1best
输出最好的一条路径内容(识别结果):

# 解码得到音素级别结果
lattice-best-path --acoustic-scale=0.1 ark:tmp/phones.lats 'ark,t:|./int2sym.pl -f 2- phones.txt > text' ark:tmp/1.ali
# 解码得到词级别结果
lattice-best-path "ark:gunzip -c decode_all_tgsmall/lat.2.gz|" 'ark,t:|./int2sym.pl -f 2- graph_tgsmall/words.txt >
text' ark:tmp/1.ali
识别结果-phones

识别结果-words

你可能感兴趣的:(kaldi 常用命令总结(持续更新))