基于特征值统计的语音识别算法的研究与设计
2019-11-12彭熙钱莹晶黄锦龚萧楠陈双婷杨蕙先
彭熙 钱莹晶 黄锦 龚萧楠 陈双婷 杨蕙先
摘 要:随着时代的发展和人工智能的迈进,语音识别技术也正在以惊人的速度向前推进,并且逐渐成为国内外科研机构所关注的焦点。该文对语音识别的整个过程,包括语音特征值提取、模型库的建立、模型匹配算法,进行了深入的研究,并提出了基于语音特征值统计学模型的语音识别算法,系统测试结果表明,该算法具有运算量少、结构简单、识别速度快和准确度高等优点。
关键词:语音识别 特征值统计学模型 模型库 模型匹配算法
中图分类号:TP38 文献标识码:A 文章编号:1672-3791(2019)08(a)-0001-04
随着生活水平的提高,人与人之间的沟通可以通过手机、电话等工具来实现,而语言就是人与人之间交流的桥梁。伴随着科技的进步和发展,可以实现人类和机器之间的交流和沟通,从而能够更好地提高人們的生产和生活质量,其中,语音识别是实现这种交流的核心技术[1]。
语音识别技术的指标主要有识别速度和准确度。该文深入研究了语音识别系统的原理组成部分和工作流程,在此基础上,对国内外研究的语音识别所采用的关键技术:动态时间规整算法(DTW)[2]、隐马尔可夫模型(HMM)[3]和人工神经网络算法(ANN)[4]这3种方法进行了比较和分析,并重点研究了动态时间规整算法(DTW),针对其运算量较多且复杂的问题,提出了改进的算法,即基于特征值统计学模型的语音识别算法。与此同时,对于常用的语音信号的端点检测技术存在的弊端进行了改进,通过检测不同环境噪声的均值来设置阈值进行语音输入的判断,进而实现语音信号的端点检测,为后续的语音识别的准确度提供了有力的保障。通过系统测试表明,该算法具有识别速度快、准确度较高等优点。
1 算法的原理和工作过程
该文研究的基于特征值统计的语音识别算法的核心是语音特征值统计模型的建立。首先对输入语音信号进行采样,其目的是提取部分语音信号进行后续的处理,此时的语音信号为模拟信号则需要进行模拟信号到数字信号的转换处理,再进行快速傅里叶变换成频域信号,然后通过DSP处理提取语音的特征值,对提取的语音特征值进行统计学分析并建立相应的统计模型,接着再进行模型的匹配,输出语音识别结果。语音识别的原理如图1所示。
2 语音信号的预处理
为了提高系统的语音识别效率,则需要对原始语音信号进行相应的预处理。语音信号的预处理,主要包括了A/D转换、预加重、分帧和加窗等。
2.1 语音信号的采样
语音信号的采样是语音识别的开始,主要目的是将采集到的模拟信号转变成数字信号,以便进行后续的处理。过程是对语音信号采样,按一定的周期进行扫描,将原始连续的语音信号转换成时间上离散的信号,然后采用脉冲编码调制(PCM)的方法将其振幅进行量化,一般采用二进制编码表示,最后就转换成了数字信号。
根据奈奎斯特抽样定律,当采样频率高于信号的最高频率两倍时,才能够不失真地还原出原始语音信号[5]。语音信号的频率范围是200~3400kHz,故而采用8000kHz的采样频率能还原出语音信号。
2.2 预滤波
在实际的生活中语音信号会存在噪声,这将对语音识别的结果造成一定的误差,所以在模数转换之前,需要进行预滤波处理,其主要目的是:(1)抑制50~60Hz的电源噪声;(2)防止采样信号产生混叠现象。
2.3 分帧和加窗
对语音信号进行分帧,其实质是对语音信号进行加窗处理,使语音信号能够被完整的收录,从而有利于语音特征值的提取,提高识别准确度。综合考虑,该文的帧长为4096个采样点。语音信号分帧如图2所示。
3 语音信号的起点判断
语音的起始判断,主要作用是判断语音信号的开始点和结束点。有效的语音起始判断不仅能缩短系统的处理时间,还能提高系统的识别效率。
该文所研究的语音起始判断是基于STM32F4开发平台去采集语音信号所处环境的噪声经过采样后的得到的值并收集起来,然后通过计算和分析得出噪声均值,并设置此噪声均值为语音起始点的判断阈值,从而进行相应的判断,语音信号的起始判断算法整体流程如图3所示。
4 语音特征值的提取
语音特征值的提取是对经过预处理和起点判断后的语音信号再次分析和处理,利用算法滤除掉与语音无关的信息,提取出语音中特有的特征信息的过程。提取的特征值的质量,将大大影响语音识别系统性能的好坏。
目前,语音特征参数的提取方法主要有线性预测系数(LPC)、线性预测倒谱系数(LPCC)、梅尔频率倒谱系数(MFCC)。通过实验测试的对比和分析,可得知3种方法的运算量都较大,系统的识别速度较慢且准确度不高,在此基础上,该文通过总结3种方法上的缺陷和不足,提出基于语音特征值统计的语音识别算法,其过程主要有:语音信号的预处理、快速傅里叶变换(FFT)、数字信号处理(DSP)等。语音特征值提取的原理如图4所示。
4.1 预处理
语音信号的预处理包括语音信号采样、A/D转换、分帧和加窗处理,主要作用是将模拟的语音信号转换成数学信号,以便于后续语音信号的处理和分析。
4.2 快速傅里叶变换(FFT)
在语音信号进行预处理之后,原始模拟语音信号现在已变成数字信号,然后再对其进行频域分析,对语音信号进行频域分析从而确定语音的频谱特点。该研究的频域分析采用的是快速傅里叶变换(FFT)的方法。该方法的计算量较少,运算速度快,在一定程度上能提高系统的识别速度。
4.3 数字信号处理(DSP)
4.3.1 对FFT处理后的值取实部运算
在原始数字语音信号经过FFT处理之后的值由实部和虚部两部分组成,因为实部的值在一定程度上跟语音信号在频谱上的值很接近,为了提高算法的运算速度和减少运算量,在该文研究中将虚部省略,直接取FFT处理后的实部值进行下面的分析处理。
4.3.2 对每帧数据进行从大到小排序
对FFT处理之后的值取出实部值运用冒泡排序法,将每帧数据进行从大到小的排序,主要作用是找出每帧语音信号值的最大值,并将每帧数值的最大值集中存在一个数组中,该数组里面的值为语音信号的特征值。
4.4 分析语音特征值并得出统计模型
在得到语音信号的特征值之后,再对特征值进行统计学的分析和归纳,得到每一种语音信号的特征值统计规律,并且将这特征值统计规律封装成函数模型,即语音特征值的统计模型。
5 语音識别的匹配
该文所研究的语音识别匹配过程是:先将原始语音信号依次通过语音信号的预处理、快速傅里叶变换(FFT)和数字信号处理(DSP)处理建立每种语音的特征值统计模型并建成参考模型库;在进行语音识别时通过测试模型和参考模型相匹配,即可输出识别结果。部分识别匹配算法程序如下。
if((462.00<(double)fl_temp_data&&(double)fl_temp_data<464.00)||(630.00<(double)fl_temp_data&&(double)fl_temp_data<638.00)||(800.00<(double)fl_temp_data&&(double)fl_temp_data<810.00)||(438.00<(double)fl_temp_data&&(double)fl_temp_data<440.00)) //笔掉地上的声音匹配算法
{
pen_exist ++;
if(pen_exist >= 6)
{
SOUND |= Pen_Sound;//识别语音为:笔掉地上的声音 result = SET;
}
}
6 基于特征值统计语音识别算法的系统研究和设计
6.1 系统的开发环境
该系统的开发环境是STM32F4开发板,ST(意法半导体)推出了以基于ARM?Cortex?-M4为内核的STM32F4系列高性能微控制器,其采用了90nm的NVM工艺和ART(自适应实时存储器加速器)。ART技术使得程序零等待执行,提升了程序执行的效率,将Cortext-M4的性能发挥到了极致,使得STM32F4系列可达到210DMIPS@168MHz。自适应实时加速器能够完全释放Cortex-M4内核的性能;当CPU工作于所有允许的频率(≤168MHz)时,在闪存中运行的程序,可以达到相当于零等待周期的性能。STM32F4系列微控制器集成了单周期DSP指令和FPU(Floating Point Unit,浮点单元),提升了计算能力,可以进行一些复杂的计算和控制。STM32F4系列引脚和软件兼容于当前的STM32 F2系列产品。
6.2 识别语音类型
该系统所识别的语音类型为低频率的语音信号,并且声源播放时间持续10s以上。
6.3 系统测试
该系统的语音识别过程分为3个阶段,分别是语音输入判断阶段、识别进行阶段和识别结果输出阶段。
6.3.1 语音输入判断阶段
在日常生活的环境中会存在噪声,噪声的存在将对语音识别的输出结果会造成一定的不利影响。因此,该文研究了语音起点判断的算法,主要作用是区分语音部分和环境噪声,提高系统的语音识别效率。系统的测试结果如图5所示。
6.3.2 识别进行阶段
识别的算法是匹配特征值模型。识别进行测试如图6所示。
6.3.3 识别结果输出阶段
在识别进行阶段,运用特征值统计模型匹配算法来快速准确地实现语音识别,并将识别结果通过TFT-LCD液晶屏显示,与此同时,可以显示识别语音的频谱,目的是为了分析识别结果。图中的05为语音的编号,频谱显示范围是0~20kHz,识别结果输出测试如图7、图8所示。
7 结语
该文所研究的基于特征值统计的语音识别算法在以STM32F4开发平台构建的系统中运行,测试表明,该算法不仅具有识别单频和混频语音的能力,而且具有识别速度快、准确度较高和界面友好等优点。随着人们对生活质量的不断追求,该文中研究的基于特征值统计的语音识别算法能广泛应用于安全监控等领域,提高生产效率和生活质量。
参考文献
[1] 肖爱民.基于语音识别技术的智能家居控制系统的设计[D].南昌大学,2018.
[2] 吕修任.基于改进DTW的语音识别算法的设计与实现[D].东南大学,2017.
[3] 陈士心.基于Android平台的语音识别系统的设计[D].华南理工大学,2017.
[4] 李燕萍.非特定人的语音识别系统研究[D].安徽工业大学,2016.
[5] 张肃文.高频电子线路[M].5版.北京:高等教育出版社,2009.