1. 模版比较法
- 计算距离
- 比较距离
2. 特征提取
红色框内为一帧信号,通常是20-50ms
- 微观上足够长:至少包含2-3个周期
- 宏观上足够长:在一个音素之内(例如:你好,包含了4个因素 ne yi he ao)
通过傅里叶变换得到频谱特征,其有精细结构和包络
- 精细结构反映音高,用处较小
- 包络(整体)反映音色,是主要信息
通过三角滤波得到包络信息,因为识别因素只需要音色信息。
最后通过log和DCT(离散余弦变换)得到MFCC序列(13个特征)来表征一帧信号。
通过滑动窗口,从而得到MFCC序列。
MFCC序列是最常用的特征
- 主要描述频谱包络
- 优点:排除音频,符合听觉,纬度低
- 缺点:视野小,受噪声、回声、滤波影响严重
改进
- 加入一阶、二阶差分
- 各种归一化
曾经有过其他改进特征,是上一个十年的研究热点,随着神经网络偃旗息鼓。
3. 计算特征序列距离
“Dynamic Time Warping算法”(动态弯算法)
DTW可以计算两个时间序列的相似度,尤其适用于不同长度、不同节奏的时间序列(比如不同的人读同一个词的音频序列)。
DTW将自动warping扭曲 时间序列(即在时间轴上进行局部的缩放),使得两个序列的形态尽可能的一致,得到最大可能的相似度。
DTW采用了动态规划DP(dynamic programming)的方法来进行时间规整的计算,可以说,动态规划方法在时间规整问题上的应用就是DTW。
下面测试程序显示了 6组时间序列 的DTW结果,左上和右下的两组相似度较高,其DTW计算的距离(Warping Distance)也确实比较小。
4. GMM高斯混合模型
如果有一个语音模版可以用DTW来计算距离即可,若有多个模版,则需用到GMM技术。
模版切分为多个段落,可以选择某一模版做一基准模版,利用DTW算法进行对齐并进行分段。
每个段可以用GMM对特征向量的分布进行拟合,对任一特征向量都可以计算出概率密度。
对齐时不是计算距离,而是计算属于某一段的概率密度。
5. HMM 隐马尔科夫模型
模型特点:
隐:特征序列由隐状态产生,对齐方式未知。
马尔科夫:转移概率与观测概率只由当前状态决定。推论:状态持续时间服从指数分布(无记忆分部)。
HMM三大问题:
1.求值给定模型参数和语音求
P
(
语
音
∣
模
型
)
P(语音|模型)
P(语音∣模型)。利用动态规划算法:Forward algorithm计算
∑
对
齐
方
式
P
(
语
音
,
对
齐
方
式
|
模
型
)
\sum\limits_{对齐方式} {P\left( {语音,对齐方式{\text{|}模型}} \right)}
对齐方式∑P(语音,对齐方式|模型)
2.解码
给定模型参数和语音,求解最佳对齐方式。采用Viterbi decoding,最佳对齐方式的概率,可以作为总概率的近似。
3.训练
给定语音和模型结构,求解模型参数。EM训练:
对
齐
方
式
→
模
型
参
数
对齐方式 \to 模型参数
对齐方式→模型参数,
模
型
参
数
→
对
齐
方
式
模型参数 \to 对齐方式
模型参数→对齐方式。
语音识别基本方程:
W
∗
=
arg
max
W
P
(
W
∣
X
)
=
arg
max
W
P
(
X
∣
W
)
P
(
W
)
P
(
X
)
=
arg
max
W
P
(
X
∣
W
)
P
(
W
)
{W^*} = \mathop {\arg \max }\limits_W P\left( {W|X} \right) = \mathop {\arg \max }\limits_W \frac{{P\left( {X|W} \right)P\left( W \right)}}{{P\left( X \right)}} = \mathop {\arg \max }\limits_W P\left( {X|W} \right)P\left( W \right)
W∗=WargmaxP(W∣X)=WargmaxP(X)P(X∣W)P(W)=WargmaxP(X∣W)P(W)
W
∗
W^*
W∗是识别结果
W
W
W是人一单词
X
X
X是待识别语音信号
P
(
X
∣
W
)
P(X|W)
P(X∣W)声学模型(GMM+HMM)
P
(
W
)
P(W)
P(W)是单词的先验概率