ASR:特征提取

作者: zqh_zy | 来源:发表于2017-04-14 11:48 被阅读549次

在不深究具体过程的前提下理一理语音识别中特征提取的基本过程,并通过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。重复该过程,得到一段语音每个帧的特征向量。
更多关注公众号:


wechat

相关文章

  • ASR:特征提取

    在不深究具体过程的前提下理一理语音识别中特征提取的基本过程,并通过kaldi对该过程进行操作,得出相应结果。以梅尔...

  • ASR

    完成的超乎预期的顺利。 高分者,很满意对自己工作的认可,后续也有自己明确的努力目标。 中间者,有些人有想法,执行力...

  • asr paper

  • Attention for ASR

    1 基于 Attention 的模型 Attention机制最先应用于机器翻译中,并在机器翻译中取得了最好的效果。...

  • 车机技术之基于ASR的麦克风阵列

    概述 我们之前介绍过语音识别技术(ASR),随着ASR的逐步成熟,麦克风阵列也逐步得到重用。尤其在汽车里,空间有限...

  • 语音识别之--音频编解码

    语音识别 ---------- Automatic Speech Recognition,(ASR) 一、音频编...

  • KALDI简介

    KALDI是著名的开源自动语音识别(ASR)工具,这套工具提供了搭建目前工业界最常用的ASR模型的训练工具,同时也...

  • 机器学习笔记6-特征选择和特征提取

    特征选择和特征提取 特征选择(feature selection)和特征提取(Feature extraction...

  • feature selection & feature extr

    1、概述——特征选择 & 特征提取 特征选择(feature selection)和特征提取(feature ex...

  • [ASR] SDC特征

    20181108 qzd 滑动差分倒谱参数(Shifted Delta Cepstra)

网友评论

本文标题:ASR:特征提取

本文链接:https://www.haomeiwen.com/subject/rtewattx.html