语音识别原理:
语音识别的最终目的是让机器听懂人的语言。
语音信号通过麦克风采集,经过采样和 A/D 转换后由模拟信号转变为数字信号。然后对语音的数字信号进行预加重,分帧,加窗,端点检测和滤波等处理。
预处理过后的语音信号将按照特定的特征提取方法 取出最能够表现这段语 音信号特征的参数,这些特征参数按时间序列构成了这段语音信号的特征序列。
在训练过程中,获得的特征参数通过不同的训练方法获得模型,而后存入模板库;在解码过程中,新采集的语音信号经过处理获得特征参数后,与模板库中的模型进行模式匹配,并结合一些专家知识得出识别结果。
采样和量化
:
麦克风将声音从物理状态转化为模拟的电信号,把连续的模拟信号转化为时间上离散、但幅值上仍连续的离散模拟信号,这一过程就是
采样
。
通常在 PC 机上的采样频率为 16kHz,嵌入式设备上为 8kHz。
为了便于计算机计算、传输和存储,采样后的信号还要转化为能够用二进制表示的离散值,这一过程就称为
A/D 转换
。保证 A/D 转换具有足够的转换精度。通常采用的方法是均匀量化和脉冲编码调制(
PCM
,Pulse Code Modulation),当前语音识别中常用 16bit 量化。
预加重,分帧和加窗:
高频部分在 800Hz 以上会有-6dB/倍频程的跌落,
预加重
的目的就是提升语音信号的高频部分,使频谱平滑。一般预加重通过一个一阶高通滤波器实现。 在对语音信号进行分析前,需要对其进行
分帧
,通常将语音信号的每帧长度设为 20ms,相邻两帧之间有 10ms 的重叠。为了实现分帧步骤,我们要对语音信号进行
加窗
操作。不同的窗口选择对语音信号分析的结果会产生影响。 通常我们选择的窗函数为
汉明窗
。