实现孤立词语音识别系统_相似度


1. 模版比较法

  • 计算距离
  • 比较距离

2. 特征提取

实现孤立词语音识别系统_语音识别_02


红色框内为一帧信号,通常是20-50ms

  • 微观上足够长:至少包含2-3个周期
  • 宏观上足够长:在一个音素之内(例如:你好,包含了4个因素 ne yi he ao)

通过傅里叶变换得到频谱特征,其有精细结构和包络

  • 精细结构反映音高,用处较小
  • 包络(整体)反映音色,是主要信息

通过三角滤波得到包络信息,因为识别因素只需要音色信息。

最后通过log和DCT(离散余弦变换)得到MFCC序列(13个特征)来表征一帧信号。

实现孤立词语音识别系统_语音识别_03


通过滑动窗口,从而得到MFCC序列。

MFCC序列是最常用的特征

  • 主要描述频谱包络
  • 优点:排除音频,符合听觉,纬度低
  • 缺点:视野小,受噪声、回声、滤波影响严重

改进

  • 加入一阶、二阶差分
  • 各种归一化

曾经有过其他改进特征,是上一个十年的研究热点,随着神经网络偃旗息鼓。

3. 计算特征序列距离

“Dynamic Time Warping算法”(动态弯算法)

DTW可以计算两个时间序列的相似度,尤其适用于不同长度、不同节奏的时间序列(比如不同的人读同一个词的音频序列)。

DTW将自动warping扭曲 时间序列(即在时间轴上进行局部的缩放),使得两个序列的形态尽可能的一致,得到最大可能的相似度。

DTW采用了动态规划DP(dynamic programming)的方法来进行时间规整的计算,可以说,动态规划方法在时间规整问题上的应用就是DTW。

下面测试程序显示了 6组时间序列 的DTW结果,左上和右下的两组相似度较高,其DTW计算的距离(Warping Distance)也确实比较小。

实现孤立词语音识别系统_语音识别_04


实现孤立词语音识别系统_模版_05

4. GMM高斯混合模型

如果有一个语音模版可以用DTW来计算距离即可,若有多个模版,则需用到GMM技术。

实现孤立词语音识别系统_模版_06


模版切分为多个段落,可以选择某一模版做一基准模版,利用DTW算法进行对齐并进行分段。

每个段可以用GMM对特征向量的分布进行拟合,对任一特征向量都可以计算出概率密度。

实现孤立词语音识别系统_时间序列_07


对齐时不是计算距离,而是计算属于某一段的概率密度。

5. HMM 隐马尔科夫模型

实现孤立词语音识别系统_实现孤立词语音识别系统_08


模型特点:

隐:特征序列由隐状态产生,对齐方式未知。

马尔科夫:转移概率与观测概率只由当前状态决定。推论:状态持续时间服从指数分布(无记忆分部)。

HMM三大问题:
1.求值给定模型参数和语音求实现孤立词语音识别系统_时间序列_09。利用动态规划算法:Forward algorithm计算
实现孤立词语音识别系统_语音识别_10
2.解码
给定模型参数和语音,求解最佳对齐方式。采用Viterbi decoding,最佳对齐方式的概率,可以作为总概率的近似。
3.训练
给定语音和模型结构,求解模型参数。EM训练:
实现孤立词语音识别系统_语音识别_11实现孤立词语音识别系统_语音识别_12

语音识别基本方程:
实现孤立词语音识别系统_相似度_13

实现孤立词语音识别系统_实现孤立词语音识别系统_14是识别结果
实现孤立词语音识别系统_时间序列_15是人一单词
实现孤立词语音识别系统_语音识别_16是待识别语音信号
实现孤立词语音识别系统_实现孤立词语音识别系统_17声学模型(GMM+HMM)
实现孤立词语音识别系统_时间序列_18是单词的先验概率