一、语音识别的发展
- 20世纪50年代,语音识别的研究工作开始,这时主要探索和研究声音和语音学的基本概念和原理。
- 20世纪60年代,可以解决不等长语音匹配问题。
- 20世纪70年代,随着NLP技术和微电子技术的深入发展,语音识别领域的线性预测分析技术得到广泛应用,HMM等技术基本成熟。
- 20世纪80年代,语音研究其显著特征是HMM和人工神经网络(ANN)。
从发展可以看出:语音识别技术最早依靠匹配,寻找单个音节、单个词和标准语音模板的最大相似度进行匹配。后来伴随着统计学被引入到语音识别中,将该技术逐步从模板匹配技术转向基于统计模型技术。
二、语音识别的基本原理
对于不同的语音识别过程,人们采用的识别方法和技术不同,但所用的原理大致相同,即将经过降噪处理后的语音送入特征提取模块,然后对语音信号特征处理后输出识别结果。
在这个过程中,特征提取是构建语音系统的关键,对识别结果起到了重要作用,原理见下图:
- 预处理:过滤掉原始语音中的次要信息或噪音等,将语音信号转化为数字信号。
- 特征提取:提取语音特征参数,形成特征矢量序列。
三、语音信号特征
实现语音识别,就需要语音参数来刻画语音信息。语音原本具有短时特性,所以描述语音的单位用帧(一般为10-40ms),在音频帧上提取的短时音频特征,叫音频帧特征。相对音频帧较长的时间间隔成为音频段,在音频段上提取的特征叫音频段特征。
下面列举一些常用的音频特征和音频段特征:
3.1 音频帧特征
常用的音频帧特征分为三类:时域特征、频域特征和声学感知特征。
时域特征利用了音频信号在时域上面的信息,可以理解成横轴为时间,纵轴为音频信号。通过过零率、短时能量、音量、自相关系数等来描述音频信号在时间上的信息。
- 过零率是指:音频信号由正到负、由负到正过程中,通过零的次数。应用于语音信号分析中,浊音具有较低的过零率,清音具有较高的过零率(发音时声带振动的是浊音,声带不振动的是清音)。
- 短时能量则是:通过能量的计算方法用于监测浊音和清音的转换时刻。应用与语音信号分析中,短时能量大的地方过零率低,短时能量小的地方过零率高。
频域特征是把时域波形信号转换到频谱,然后进行计算。
声学感知特征是声学上定义的概念,考虑了人的听觉感知特点,但通常计算比较复杂。
3.2 音频段特征
音频段特征是在音频帧特征基础上提取出来的,获取音频段特征的基本方法是:将音频段对应的音频帧特征经过均值、方差、标准差等统计学公式计算得出来的。
四、预处理模块
原始语音信号传入预处理模块的目的:是为了压缩原始语音数据,提取出有代表性的特征来做后续的识别,主要分为三部分:预加重、分帧加窗、端点检测。
4.1 预加重
在语音识别过程中,经常会遇到原始语音数据因为噪音、背景音或次要信息的影响导致识别效果变差。预加重的目的就是为了提高语音质量,从含有噪声语音的信号中,尽可能提取纯净的原始语音信号。
它的方法有很多,下面列举三个:
(1)谱减法
首先假设噪音和期望语音信号相互独立,然后通过估计噪音的功率,在原始语音中减去噪音功率达到去除噪音的目的。
这个方法较适用于噪音平稳波动性小的情况。
(2)自适应滤波法
通过获得前一时刻的滤波器参数,去自动调节现在时刻的滤波器参数。我的理解是:假设语音信号具有较强的相关性,那么取t+1时刻的滤波器参数作用于t时刻的语音信号,形成纯净的语音信号。
(3)小波去噪法
基于信号和噪声的小波系数在各尺度的分布特性,采用阈值的方法,达到去除噪声的目的。
4.2 分帧加窗
语音信号可假定为短时平稳的,即在较短时间内(如5-50ms),语音信号基本保持不变,然后把语音信号分隔为一些音频段再加以处理。
这些短段一般是周期的,对每个短段语音进行处理,就等效于对固定特性的这样原始语音进行处理。对每一帧处理的结果,就可以看作是一个新的依赖于时间的序列,且这个序列可用于描述语音信号特征。
例如:原始语音采样序列为x(m),那么分段后的序列可以理解为x(m)乘以窗函数w(n-m)得到的。
窗函数越宽,对信号的平滑作用越明显,反之,对信号几乎没有任何平滑作用。
4.3 端点检测
对语音信号中的有声片段和无声片段进行分割,然后再针对有声片段的语音特征进行识别,主要是利用语音特征参数进行判断。一般情况下,端点监测是语音识别的第一步。