在不深究具体过程的前提下理一理语音识别中特征提取的基本过程,并通过kaldi对该过程进行操作,得出相应结果。以梅尔倒普系数MFCC为例,对于语音信号,处理如下:
- Input is 16kHz sampled audio.
- Take a 25ms window (shift by 10 ms each time; we will output a sequence of vectors, one every 10ms)
- Multiply by windowing function e.g. Hamming
- Do fourier transform FFT
- Take log energy in each frequency bin
- Do discrete cosine transform (DCT): (gives us the “cepstrum”)
- Keep the first 13 coefficients of the cepstrum.
在kaldi工具下,完成上述过程需要一条命令(steps/make_mfcc.sh)
#gen MFCC features
for x in train cv test; do
#make mfcc
steps/make_mfcc.sh --nj $n --cmd "$train_cmd" data/mfcc/$x exp/make_mfcc/$x mfcc/$x || exit 1;
#compute cmvn
steps/compute_cmvn_stats.sh data/mfcc/$x exp/mfcc_cmvn/$x mfcc/$x || exit 1;
done
steps/make_mfcc.sh命令指定参数包括 data-dir、 log-dir、mfcc-dir,分别指定原数据位置、日志输出目录、和提取结果目录。 steps/compute_cmvn_stats.sh 用于对说话人语音的特征取均值和方差。
完成MFCC特征提取后,查看结果:
$ copy-matrix ark:raw_mfcc_train.1.ark ark,t:- | head copy-matrix ark:raw_mfcc_train.1.ark ark,t:-
speaker001_00001 [
27.54613 -20.59882 -9.078632 -9.878078 -3.408179 -6.33442 -7.088059 -9.386513 -9.514486 5.714392 3.923563 -0.2056017 -6.208587
...]
语音speaker001_00001被以帧为单位转化为13维向量集,接着为了以后对说话人进行自适应,对每个说话者求倒普均值与方差,这里用到了spk2utt和feats.scp两个映射文件, 查看结果:
$ copy-matrix ark:cmvn_train.ark ark,t:-
copy-matrix ark:cmvn_train.ark ark,t:-
speaker001 [
3153345 -332630 -150518.8 -129893.8 -416410.7 -370985.3 -160386.6 17840.54 -276749.9 -312077.3 -381611.7 -315793.8 -147651.9 46141
2.236304e+08 6630422 6846200 7327799 1.325839e+07 1.371075e+07 1.077766e+07 7187704 1.197414e+07 8830369 1.272681e+07 1.092798e+07 5399742 0 ]
speaker002 [
4278844 -475446.6 -279641.1 -196591.9 -759722.8 -208586.2 117607.6 -258971.1 -547313 -553619.6 -266483.2 40984.47 48301.47 63223
2.995394e+08 7515546 8840850 1.154735e+07 3.502638e+07 1.221414e+07 9032753 1.709921e+07 1.77456e+07 1.534125e+07 7840884 7368065 9012588 0 ]
小结
通过上面的过程,可以知道,对于一段语音,首先对其进行分帧(如,每10ms取25ms的窗口作为一帧),对每一帧进行平滑(加窗,如汉明窗),之后进行FFT(快速傅里叶变化)将连续信号转化为数字信号, 再进行离散余弦变换(DCT)得到一个多维向量,最后取前13维作为最后的MFCC。重复该过程,得到一段语音每个帧的特征向量。
更多关注公众号:
网友评论