误差反向传播算法的数字语音识别技术
摘要:研究BP神经网络技术在数字语音识别中的应用,以基于语音信号产生的数字模型作为突破口,对所采集到的语音信号进行预处理,提取Mel频率倒谱系数,并将特征参数序列进行非线性时间规整为固定的帧数以便于BP神经网络的训练和识别。由MATLAB的实验数据分析可得,基于BP神经网络的数字语音识别技术具有很高的实用价值、数字语音识别率高。
关键词:数字语音识别;BP神经网络;非线性时间规整;Mel频率倒谱系数
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2015)20-0141-02
Digital Speech Recognition Technology Based on Back Error Propagation
JIANG Li-sha, HE Zhao-xia
(Yangtze University College of Technology & Engineering, Jingzhou 434023, China )
Abstract:The BP neural network technology in the application of digital speech recognition,based on the figures of speech signal model as a Breakthrough, Collected for the speech signal preprocessing, The extraction of Mel frequency cepstrum coefficient,and will feature parameters for nonlinear time sequence neat for the fixed frame is advantageous for the BP neural network of training and recognition.By the MATLAB analysis of experimental data available ,digital speech recognition based on BP neural network has a high practical value,digital speech recognition rate is high.
Key words: Digital speech recognition; BP neural network ; Nonlinear time neat; Mel frequency cepstrum coefficient
1 概述
数字语音识别技术[1-4]是语音识别技术应用中的一个重要领域,语音识别技术的应用包括语音导航、室内设备控制、语音文档检索等。误差反向传播算法(简称BP网络模型),是在现有BP算法的基础上进一步提出来的,它的算法原理是:我们从众多权值中随便抽取一组权值,把所需要的目标输出当做是线性方程的代数和来构造线性方程组。
2 提取特征参数
2.1 预处理和端点检测
为了增加语音的高频分辨率,首先对语音的高频部分进行预加重处理。最常用的前端处理有端点检测和语音增强。端点检测是指在语音信号中将语音和非语音信号时段区分开来,准确地确定出语音信号的起始点。经过端点检测后,后续处理就可以只对语音信号进行,这对提高模型的精确度和识别正确率有重要作用。目前通用的方法是采用维纳滤波[5-7],是一种应用较为广泛的方法。
2.2 声学特征提取
特征提取是对信息量进行压缩的过程。通常应该具有以下特征:稳定性、唯一性、不变性。Mel频率倒谱系数(MFCC)参数能充分利用人耳感知特性,能够较好地描述人耳对语音音调的感知情况,把MFCC参数作为识别的特征参数,具有良好的识别能力和抗噪能力。
操作步骤:
图1
1)首先对信号[s(n)]进行预处理及FFT变换。
2)计算[s(n)]通过[M]个[hm(n)]后得到的功率值,得到[M]个参数[pm]([m=0,1,...,M-1])。
3)三角滤波系数的求取。计算[pm]的自然对数,得到[lm]([m=0,1,...,M-1])。
4)进行DCT计算,得到[dm],舍去直流成分的[d0],剩下的其他参数作为MFCC的实际参数。
[dk=m=0M-1lmcos[πk(m+1/2)M]]
5)分帧及加窗处理
倒谱提升窗口就是在为每帧数据计算出[K]阶MFCC参数后,通常还要为这[K]个系数分别乘以不同的权系数: [Ck=wkdk]
[wk][=1+K2sin(πkK)] [K]=12。
2.3 特征参数的时间规整
特征矢量能量序列为[Y1,Y2,Y3,....YN] 其中第[n]帧矢量是由[L]个通道的带通滤波器组输出的能量构成:
1)求间隔最近的两帧的声刺激
[δ1=j=1Ly1j] [δn=j=1L|ynj-y(n+1)j|]
2)分别求出平均声和总声刺激
[Δ=n=1Nδn] [Δ0=Δ/M]([M 3 BP神经网络的构建及训练 3.1 构建 BP结构图主要由输入层、隐层和输出层三部分筑建而成。其中隐层可以是一层也可以是多层。 在matlab中调用newff函数建立三层BP神经网络。通过多次实验,最后确定输入层神经元的个数为134,输出层神经元的个数为12。隐层选择S型传递函数tansig,输出层S型对数函数logsig。 3.2 训练 1)初始化; 2)设置训练参数; 3)输入训练样本和期望输出值; 4)误差计算。 4 实验 4.1 采集数据 找10个来自不同地方的人,要求每个人对每个数字录一次音。把采集到的100个语音片段作为训练的数据。其中前5个人的样本作为训练样本;后5个人的样本作为预测样本。 4.2 网络结构初始化 隐层结点数为25 net.trainParam.show = 30; %显示的间隔次数 net.trainParam.lr = 0.01; %学习率 net.trainParam.epochs = 8000; %最大迭代次数 net.trainParam.goal = 0.001; %训练精度 net.trainParam.mc=0.67; %动量系数 图2 识别率曲线 数字2,3,4,5,6,7,8,10的识别率都是100%,准确率很高;而1,9的识别率都是85%,存在一定的误差。导致识别误差的原因可能有以下几个方面:1)模糊性;2)干扰性;3)差异性。 5 结果分析 基于BP神经网络的方法,对10个数字语音的MFCC特征参数进行提取,结合非线性取样的规整算法把各个长短不一的特征参数序列规整为固定的帧数。结论表明,基于BP神经网络方法的总体识别性能较好,识别率较高。 参考文献: [1] 余华, 李海洋, 李启元. 基于径向基神经网络的数字“0”~“9”语音识别[J].江西师范大学学报,2009,33(6):701-705. [2] 周志杰.MLP语音信号非线性预测器[J].解放军理工大学学报:自然科学版,2001,2(5):1-4. [3] 郑展恒.数字语音识别系统[J].桂林电子科技大学学报, 2011, 31(6):439-441. [4] 刘炀, 汤传玲, 王静, 等.一种基于BP神经网络的数字识别新方法[J].微型机与应用, 2012, 31(7):36-39. [5] 卜富清, 王茂芝, 于庆刚. 基于BP神经网络的数字识别[J].长江大学学报, 2009, 6(2):293-294. [6] 梁晓辉, 周权. 语音信号处理方法的可靠性研究[J].电声技术, 2010(4). [7] 陈国, 胡修林, 曹鹏, 等.基于网格维数的汉语语音分形特征研究[J]. 声学学报, 2001, 16(1):59-66.