摘要:
在非近间隔语音辨认中,由于衰减、搅扰、混响等要素的影响,使语音辨认率明显下降。运用麦克风阵进行语音辨认的优点是通过进步信噪比来进步语音辨认率。而本项目与传统的麦克风阵进行语音辨认的办法又有不同,它将语音接纳端与语音辨认部分组成一个反应体系,通过优化接纳端滤波器的系数,使跟语音辨认密切相关的倒谱域似然比最大,来进步语音辨认准确率。在进行Matlab仿真之后,将算法应用到FPGA中。FPGA开发板暂定为Xilinx公司的Nexys 3 Spartan-6 FPGA Board。
1、研讨计划
1.1 总统研讨计划
当时依据隐马尔可夫模型(HMM)的麦克风阵语音辨认体系,首要包含阵列信号处理和特征辨认两个阶段,原理图如图1.1所示:
图1.1 依据HMM的麦克风阵语音辨认体系结构
其间前端的阵处理首要是为了进行语音增强,意图是在提取语音参数之前,尽量减小信号波形的失真。这一做法依据的假定是,对波形质量得到改进的信号进行特征辨认能够进步辨认功能,即先后独自进行阵处理和特征辨认操作,如图1.2所示:
图1.2 惯例的麦克风阵语音辨认体系结构
本项目选用的处理办法,对阵元接纳的信号进行滤波求和,其意图并不是为了改进信号波形质量,而是在于直接进步辨认进程中正确假定的似然概率,然后进步辨认率。这一计划需求将阵处理和辨认进程联合起来考虑,结构如图1.3所示:
图1.3 结合辨认进程进行阵处理的语音辨认体系结构
本计划在接纳阵上引进一组FIR滤波器,通过优化滤波器系数,发生一组阵参数以最大化信号被正确辨认的概率。此计划将辨认体系的输出成果反应至前端的麦克风阵列,把辨认体系的核算模型也考虑到前端阵处理中,是一种依据希望假定最大化而非希望信号最优化的自适应处理办法,以强化关于辨认更为重要的信号重量,而之前的办法则是无别离地同等地加强一切的信号重量。
语音辨认体系的作业原理在于从模板库中找出最有或许发生特征调查矢量序列的单词作为辨认成果输出,即:对某一待辨认的调查矢量,词库中每个词汇对应的HMM模板别离核算出相应的似然概率,挑选使似然概率最大的模板所对应的词汇作为辨认假定成果输出。
本文选用FIR滤波器对麦克风阵接纳的信号进行处理,然后从滤波得到的信号中提取语音特征矢量。界说一个滤波器参数矢量
包含该FIR滤波器中一切的系数,辨认假定的得出依照贝叶斯分类原则:
,其间词语的发生概率
是依据言语模型的经验值,而假定似然概率
的核算则依据辨认体系的核算模型。本文联合空时处理和语音辨认进程,意图就在于查找出一组FIR滤波器参数矢量
使得正确假定的似然概率
最大化,进步正确假定与非正确假定之间的概率差值,然后进步得到正确假定的概率。详细流程见图1.4、图1.5。其间图1.4是练习滤波器系数的框图,图1.5是使用已练习完结的滤波器系数进行语音辨认的框图。
图1.4 练习FIR滤波器系数流程图
图1.5 联合FIR滤波的语音辨认流程图
1.2 要害算法
1.2.1延时求和
选用相互关法核算各路信号的时间延迟。假定有四路信号,别离为。以
为参阅信号,别离与
作相互关运算。以
与
为例,
与
作相互关,
指代相互关运算。求出使
最大时,信号所在的时间,再减去
与
中长度较长的那个信号的长度,就能够求得信号的相对时延了。即假定使相互关函数
最大的时间为t,
为其间长度较长的信号,其长度为
,那么:
即为相对时延。若,则信号
比信号
先抵达,反之,则信号
先抵达。现在评论
的状况,则要对信号
进行延时补偿,行将信号
向左平移
,平移出的值舍去。
依据以上两路信号的评论,能够总结出四路信号进行延时补偿的进程:
- 以信号
为参阅信号,别离对其他三路信号作相互关运算;
- 记三个相互关函数别离为
;
- 核算三路信号相关于信号
的时延,别离即为
;
- 找出三个时延中值最大的那个,假定为
;
- 假如
大于0,那么信号
向左平移
,其他三路信号向左平移
;
- 假如
小于0,那么信号
不必平移,其他三路信号向左平移
1.2.2 特征参数提取
其间特征参数的提取是选用Mel频率倒谱系数,这是由于Mel刻度在对声学丈量时是最合理的频率刻度。依据听觉模型得到的Mel倒谱系数比依据声道模型得到的LPC倒谱系数更契合人的听觉特性,在有信道噪声和频谱失真的状况下,能发生更高的辨认精度。所以本语音辨认体系挑选MFCC做为特征提取的参数。MFCC的发生进程可用图1.6表明。
图1.6 核算MFCC的流程图
2、试验设备及规划计划
本项目首先用Matlab仿真算法,选用一个六通道的音频收集硬件体系,连接到PC上收集语音信号。该体系首要包含六只同类型的全指向性%&&&&&%话筒,一个扩大倍数可调的多通道低噪放,和一块采样频率最高可达50KHz的数据收集卡,结构框图如图2.1所示,图2.2是什物拍照相片。试验中,将六个麦克风排列成依照5.2cm的相邻阵元中心间隔排列成一均匀线阵进行数据收集,如图2.3所示。
图2.1 依据PC的音频收集硬件体系结构
图2.2 音频收集硬件什物
图2.3 麦克风阵架子,架子长约65cm,宽约20cm
本试验每个人录制HMM模型库中的十个单词,别离为able、afraid、already、autumn、base、below、body、box、build、careful,录制人离麦克风阵2.5米左右,麦克风间的间隔约为5cm,这样就能够近似以为,说话人说出的语音信号是由平面波的方式抵达麦克风阵的。录制环境的信噪比大约为50dB。将这些录制的单词储存在PC中,然后用Matlab程序进行练习得到滤波器系数。之后选用图1.5的流程进行语音辨认。通过开始的研讨发现,该算法具有较好的辨认作用。
下一步便是将Matlab算法移植到FPGA中,如图2.4。
图2.4 依据Nexys 3 Spartan-6 FPGA Board的音频收集硬件体系结构
首先将练习得到的滤波器系数及HMM模型存储与Nexys 3 Spartan-6 FPGA Board的外部存储器中,之后经多路低噪声扩大器,AD信号收集卡将测验者的语音信号输入到FPGA。由于收集卡输入的是串行的信号,FPGA需将六路语音信号进行时分复用收集,转换为并行的信号,供后续处理。后续处理流程及算法参见图1.5及1.2 要害算法。其间滤波器、乘法、FFT等等算法能够使用现有的IP核,以进步规划功率。辨认完结后将辨认成果在七段译码显现器上显现。为了简洁起见,能够将able、afraid、already、autumn、base、below、body、box、build、careful别离标定为1~10,然后将相应的数字显现在七段译码显现器上。
假如辨认作用抱负,能够将现有的十个单词的库提升到50个词、100个词,可是这都需求进一步的研讨以及更高功能的硬件支撑。