学习目标
• 了解语音处理的基础知识及应用
• 掌握语音处理的基本步骤
• 掌握语音处理的主要技术
• 了解语音处理的难点与展望
GMM-HMM
GMM - HMM作用
• 在对语音信号进行处理的时候,会把它转换成特征序列,一个多维的数字信号,如果使用梅尔倒谱系数的话一般有12-13维的维度,每一维上都是数字特征,GMM的的作用就是去拟合这样一个分布,用来描述一个状态的信号概率密度。
• GMM的作用:
• GMM主要用于求某一因素的概率;
• GMM就是几个高斯模型的叠加,一般是3-5个;
• 一个高斯模型就是一个正态分布,表征了信号的概率密度;
• 语音识别中,一个word由多个音素组成,一个音素就是一个状态state,一个state对应一个高斯混合模型GMM;
• 每个GMM中有K个模型参数;
• (这里对应的是GMM,即每个状态对应的K个高斯的权值,每个高斯的均值向量和方差矩阵);
• HMM作用:
• HMM进行语音建模:
• 对每个单词建立一个HMM模型,需要用到该单词的训练样本,这些训练样本是提前标注好,即每个样本对应一段音频,该音频只包含这个单词的读音。
• 当有了该单词的多个训练样本后,就用这些样本结合Baum-Welch算法和EM算法来训练出GMM-HMM的所有参数,这些参数包括初始状态的概率向量,状态之间的转移矩阵,每个状态对应的观察矩阵。
• HMM在识别阶段:
• 输入一段音频,如果该音频含有多个单词,则可以手动先将其分割开(考虑的是最简单的方法,孤立词识别),然后提取每个单词的音频MFCC特征序列,将该序列输入到每个HMM模型(已提前训练好的)中,采用前向算法求出每个HMM模型生成该序列的概率,最后取最大概率对应的那个模型,而那个模型所表示的单词就是我们识别的结果。
• 获得语音wav文件, 以下是一个词识别全过程:
• 将waveform切成等长frames,对每个frame提取特征(MFCC)。
• 对每个frame的特征跑GMM,得到每个frame属于每个状态的概率state。
• 根据每个单词的HMM状态转移概率a计算每个状态sequence生成该frame的概率; 哪个词的HMM 序列跑出来概率最大,就判断这段语音属于该词。