基于MFCC和BP神经网络的说话人识别系统及方法技术方案

技术编号:29081048 阅读:64 留言:0更新日期:2021-06-30 09:41
本发明专利技术公开了基于MFCC和BP神经网络的说话人识别系统,它的语音信号预处理模块依次对语音信号进行分帧、选帧和预加重的信号预处理,语音信号加窗处理模块对预处理后的语音信号进行加窗处理,频谱分析模块对加窗处理后的语音信号进行频谱分析,滤波模块对语音信号各帧频谱的谱线能量进行美尔滤波处理,离散余弦变换模块用于对美尔滤波后的语音信号各帧频谱进行离散余弦变换;BP神经网络模块生成BP神经网络训练数据集,并为每个说话人分别建立对应的BP神经网络,对各个BP神经网络进行训练。本发明专利技术提高了说话人识别的可靠性和准确性。本发明专利技术提高了说话人识别的可靠性和准确性。本发明专利技术提高了说话人识别的可靠性和准确性。

【技术实现步骤摘要】
基于MFCC和BP神经网络的说话人识别系统及方法


[0001]本专利技术涉及语音识别
,具体地指一种基于MFCC和BP 神经网络的说话人识别系统及方法。

技术介绍

[0002]说话人识别,又称声纹识别,区别于语音识别。语音识别是要 确定语音的语义信息,而说话人识别是利用说话人的语音特征对说话 人的身份进行辨认或确认。
[0003]按照不同的应用目的,说话人识别可以分为说话人辨识和说话 人确认两种。说话人辨认用来确定待识别的语音是哪一位注册过的说 话人说的,而说话人确认用来确定待识别的语音是不是说话人所宣称 的那个人说的。本专利属于说话人辨认一类。
[0004]根据识别方式,说话人识别分为与文本有关和与文本无关两种 方式。前者要求在识别时,说话人提供与训练语音文本相同的关键词 串或者语句,而后者则没有这样的要求,说话人说话内容是任意的。 本专利属于与文本无关的说话人识别。
[0005]日常生活中,人们能根据语音判定出是哪个人在说话,这说明 每个人的语音有区别于其他人的特征。MFCC参数可以很好的描述这 个特征。MFCC(Mel Frequency Cepstrum Coefficient,美尔频率倒谱 系数),Mel(美尔)是主观音高的单位,而Hz(赫兹)则是客观音 高的单位。Mel频率是基于人耳听觉特性提出来的,它与赫兹频率是 非线性关系。美尔频率倒谱系数是利用它们之间的这种关系,计算得 到的倒谱特征。
[0006]专利《基于情感补偿的声纹识别方法》(专利号:CN101226742A) 公开了一种基于情感补偿的声纹识别方法,所提出的情感补偿包括情 感检测、特征补偿、情感拓展三块,拟依据情感检测技术计算语音情 感因子,分别从特征与模型两个层面对情感变化所引起的语音变化进 行补偿,最终提高声纹识别技术对情感变化的鲁棒性。
[0007]该专利未通过分析语音发生机理和语音特征,对语音信号进行 选帧处理,从而减少训练样本量。该专利未建立识别结果的可靠性指 标。

技术实现思路

[0008]本专利技术的目的就是要提供一种基于MFCC和BP神经网络的说话 人识别系统及方法,本专利技术通过分析语音发生机理和语音特征,提取 了更有效的能反映个体声道差异的训练样本,避免了训练样本量过大 导致的BP神经网络训练时间过长乃至无法进行进行训练的弊端。
[0009]为实现此目的,本专利技术所设计的基于MFCC和BP神经网络的说 话人识别系统,它包括语音信号预处理模块、语音信号加窗处理模块、 频谱分析模块、滤波模块、离散余弦变换模块、BP神经网络模块和 实际场景说话人识别模块,所述语音信号预处理模块用于依次对语音 信号进行分帧、选帧和预加重的信号预处理,语音信号加窗处理模块 用于对预处理后的语音信号进行加窗处理,频谱分析模块用于对加窗 处理后的语音信号进行频谱分析得到语音信号各帧的频谱,滤波模块 用于对语音信号各帧频谱的谱线能量进行美尔滤波
处理,离散余弦变 换模块用于对美尔滤波后的语音信号各帧频谱进行离散余弦变换得 到语音信号的美尔频率倒谱系数;
[0010]BP神经网络模块用于将所有需要身份识别的说话人语音数据分 为训练集和测试集,利用训练集中说话人语音数据的美尔频率倒谱系 数生成BP神经网络训练数据集,并为每个说话人分别建立对应的BP 神经网络,利用BP神经网络训练集对各个BP神经网络进行训练;
[0011]实际场景说话人识别模块用于将实际场景中采集到的语音信号 的美尔频率倒谱系数输入到已完成训练的各个对应BP神经网络中进 行实际场景说话人识别。
[0012]本专利技术的有益效果:
[0013]本专利技术通过分析语音发生机理和语音特征,提取了更有效的能反 映个体声道差异的训练样本,避免了训练样本量过大导致的BP神经 网络训练时间过长乃至无法进行进行训练的弊端,同时提升了说话人 识别系统的识别率。另一方面,该方法通过分别为每个说话人建立独 立的BP神经网络训练系统,对所有训练样本进行了更简洁有效、更 有针对性的训练,缩短了训练时间,提升了说话人识别系统的识别率。 最后,该方法建立了说话人识别系统可靠性指标,使说话人识别系统 的可靠性得以量化,为说话人识别系统识别率的进一步提升和优化奠 定了基础。
附图说明
[0014]图1为本专利技术的结构示意图;
[0015]图2为本专利技术的流程示意图;
[0016]图3为清音信号和浊音信号的频谱图;
[0017]图4为Mel三角滤波器组图形;
[0018]图5为BP神经网络结构简图。
[0019]其中,1—语音信号预处理模块、2—语音信号加窗处理模块、3 —频谱分析模块、4—滤波模块、5—离散余弦变换模块、6—BP神经 网络模块、7—说话人识别测试模块、8—实际场景说话人识别模块。
具体实施方式
[0020]以下结合附图和具体实施例对本专利技术作进一步的详细说明:
[0021]如图1所示基于MFCC和BP神经网络的说话人识别系统,它包 括语音信号预处理模块1、语音信号加窗处理模块2、频谱分析模块3、滤波模块4、离散余弦变换模块5、BP神经网络模块6和实际场 景说话人识别模块8,所述语音信号预处理模块1用于依次对语音信 号进行分帧、选帧和预加重的信号预处理,语音信号加窗处理模块2 用于对预处理后的语音信号进行加窗处理,频谱分析模块3用于对加 窗处理后的语音信号进行频谱分析得到语音信号各帧的频谱,滤波模 块4用于对语音信号各帧频谱的谱线能量进行美尔滤波处理,离散余 弦变换模块5用于对美尔滤波后的语音信号各帧频谱进行离散余弦 变换得到语音信号的美尔频率倒谱系数;
[0022]BP神经网络模块6用于将所有需要身份识别的说话人语音数据 分为训练集和测试集,利用训练集中说话人语音数据的美尔频率倒谱 系数生成BP神经网络训练数据集,并
为每个说话人分别建立对应的 BP神经网络,利用BP神经网络训练集对各个BP神经网络进行训练;
[0023]实际场景说话人识别模块8用于将实际场景中采集到的语音信 号的美尔频率倒谱系数输入到已完成训练的各个对应BP神经网络中 进行实际场景说话人识别。
[0024]上述技术方案中,它还包括说话人识别测试模块7,所述说话人 识别测试模块7用于将测试集中说话人语音数据的美尔频率倒谱系 数输入到已完成训练的各个对应BP神经网络中进行BP神经网络识 别率和可靠性测试。
[0025]上述技术方案中,语音信号预处理模块1对语音信号进行分帧处 理的具体过程为:将经过重采样和语音端点检测后的语音信号记为 {s0(i)},i=1,2
……
,L,其中,L为语音信号长度,s0(i)为语音信号 的第i个数据;
[0026]分帧前,先对语音信号进行归一化处理;
[0027]将语音信号{s0(i)}做如下处理:
[0028]{s1(i)}={s0(i)}/max(abs({s0(i)}))i=1,2
……...

【技术保护点】

【技术特征摘要】
1.一种基于MFCC和BP神经网络的说话人识别系统,其特征在于:它包括语音信号预处理模块(1)、语音信号加窗处理模块(2)、频谱分析模块(3)、滤波模块(4)、离散余弦变换模块(5)、BP神经网络模块(6)和实际场景说话人识别模块(8),所述语音信号预处理模块(1)用于依次对语音信号进行分帧、选帧和预加重的信号预处理,语音信号加窗处理模块(2)用于对预处理后的语音信号进行加窗处理,频谱分析模块(3)用于对加窗处理后的语音信号进行频谱分析得到语音信号各帧的频谱,滤波模块(4)用于对语音信号各帧频谱的谱线能量进行美尔滤波处理,离散余弦变换模块(5)用于对美尔滤波后的语音信号各帧频谱进行离散余弦变换得到语音信号的美尔频率倒谱系数;BP神经网络模块(6)用于将所有需要身份识别的说话人语音数据分为训练集和测试集,利用训练集中说话人语音数据的美尔频率倒谱系数生成BP神经网络训练数据集,并为每个说话人分别建立对应的BP神经网络,利用BP神经网络训练集对各个BP神经网络进行训练;实际场景说话人识别模块(8)用于将实际场景中采集到的语音信号的美尔频率倒谱系数输入到已完成训练的各个对应BP神经网络中进行实际场景说话人识别。2.根据权利要求1所述的基于MFCC和BP神经网络的说话人识别系统,其特征在于:它还包括说话人识别测试模块(7),所述说话人识别测试模块(7)用于将测试集中说话人语音数据的美尔频率倒谱系数输入到已完成训练的各个对应BP神经网络中进行BP神经网络识别率和可靠性测试。3.根据权利要求1所述的基于MFCC和BP神经网络的说话人识别系统,其特征在于:语音信号预处理模块(1)对语音信号进行分帧处理的具体过程为:将经过重采样和语音端点检测后的语音信号记为{s0(i)},i=1,2
……
,L,其中,L为语音信号长度,s0(i)为语音信号的第i个数据;分帧前,先对语音信号进行归一化处理;将语音信号{s0(i)}做如下处理:{s1(i)}={s0(i)}/max(abs({s0(i)}))i=1,2
……
,L,其中,max(abs({s0(i)}))表示先对语音信号{s0(i)}取绝对值,再对数据序列取最大值;分帧时,以N为数据长度对语音信号{s1(i)}进行截取,第j帧数据为x0(j)={s1((j

1)*N+1)~s1(j*N)},N为帧长;所述语音信号预处理模块(1)对语音信号进行选帧处理的过程为:选帧前,先求出各数据帧短时幅度,计算公式如下:其中,frame_L为帧的数量,amp(j)为第j帧短时幅度,s1j(m0)为第j帧数据x0(j)={s1((j

1)*N+1)~s1(j*N)}中的第m0个数据,||表示取绝对值;对{amp(j)}取最大值(max({amp(j)})),记为amp_max;采用如下方式对语音信号进行选帧:valid_frame_no={j|amp(j)>δ*amp_max,j=1,2
……
,frame_L}其中,valid_frame_no为被选中帧序号的集合,δ的取值为0<δ<1;所述语音信号预处理模块(1)对语音信号进行预加重处理的过程为:
预加重用数字滤波器实现:s2(q1)=s1(q1+1)

μ*s1(q1)q1=1,2
……
,L

1,其中,L为语音信号{s1(i)}长度,μ为常数,μ的取值介于0.9~1.0之间,s1(q1)为语音信号{s1(i)}的第q1个数据,{s2(q1)}为预加重后得到的信号。4.根据权利要求1所述的基于MFCC和BP神经网络的说话人识别系统,其特征在于:语音信号加窗处理模块(2)对预处理后的语音信号进行加窗处理的过程为:对预处理后的语音信号施加汉明窗函数,汉明窗函数表达式为:w=0.54

0.46*cos(2*π*p/P)0≤p≤P其中,p和P为整数,p为自变量,w为因变量,为窗函数的幅度,P为常数,窗函数的总长度Lw=P+1,Lw等于帧长N;对信号{s2(q1)}以N为数据长度进行分帧处理,得到语音帧序列{x1(j)};对{x1(j)}进行如下处理:x={x1(j).*w|j∈valid_frame_no,j=1,2
……
,frame_L}其中,.*为数量乘积,即x1(j)与w各对应元素相乘,x为经过加窗处理后的语音帧序列。5.根据权利要求1所述的基于MFCC和BP神经网络的说话人识别系统,其特征在于:频谱分析模块(3)对加窗处理后的语音信号进行频谱分析的具体方法为:对各帧数据进行FFT变换,得到各帧的频谱:X(i1,k)=fft[x(i1)]其中,x(i1)表示经过加窗处理后的语音序列{x(r)}(r=1,2
……
,valid_frame_L)第i1帧数据,valid_frame_L为经选帧处理后帧的数量,X(i1,k)表示第i1帧频谱数据中第k条谱线的频谱;频谱为复数,对其取模,得到幅值谱:A(i1,k)=|X(i1,k)|A(i1,k)表示第i1帧频谱数据中第k条谱线的幅值;对A(i1,k)取平方,得到数据的能量谱:E(i1,k)=|X(i1,k)|2E(i1,k)表示第i1帧频谱数据中第k条谱线的能量。6.根据权利要求1所述的基于MFCC和BP神经网络的说话人识别系统,其特征在于:滤波模块(4)对语音信号各帧频谱的谱线能量进行美尔滤波处理的过程为:首先,计算Mel三角滤波器组数据;美尔与赫兹频率的非线性关系,如下式所示:mel=2595*log
10
(1+f0/700)其中,f0为频率Hz,mel为美尔频率;第m个三角滤波器的传递函数为:
其中,1≤m≤M,M为滤波器个数;H
m
(k)为第m个三角滤波器第k条谱线的幅值;f(m)为第m个滤波器的中心频率所对应的谱线序号,f(m

1)为第m

1个滤波器的中心频率所对应的谱线序号,f(m+1)为第m+1个滤波器的中心频率所对应的谱线序号,k表示谱线序号;Mel三角滤波器组各滤波器的端点频率及中心频率所对应的谱线序号f(m)依照如下方式计算:依据香农采样定理得到分析频率上限,并求出其mel值,记为mel_max;选定所关注语音信号的频率下限,求出其mel值,记为mel_min;将区间[mel_min,mel_max]均匀分成M+1段,段长mel_step为:mel_step=(mel_max

mel_min)/(M+1)m1(u)=mel_min+u*mel_step 0≤u≤(M+1)其中,m1(u)为Mel刻度上Mel三角滤波器组的第u个端点频率;f0与mel的关系式为:将m1(u)(0≤u≤(M+1))代入上式中的mel,得到f1(u),0≤u≤(M+1);将f1(u)乘以N/fs,得f(u),即:f(u)=f1(u)*N/fs,0≤u≤(M+1)其中,N为帧长,fs为语音信号采样频率;则第u个滤波器的中心频率所对应的谱线序号为f(u),左端点频率所对应的谱线序号为f(u

1),右端点频率所对应的谱线序号为f(u+1);然后,对能量谱进行Mel滤波处理;通过Mel三角滤波器组后的频谱数据为能量谱E(k)与Mel三角滤波器组传递函数Hm(k)的乘积和:F(m)=∑
k
E(k)*H
m
(k),1≤m≤M其中,M为滤波器个数,k表示谱线序号;离散余弦变换模块(5)对美尔滤波后的语音信号各帧频谱进行离散余弦变换得到语音信号的美尔频率倒谱系数的具体过程为:对滤波后的数据求对数,进行离散余弦变换;其中,M为滤波器个数;C为美尔频率倒谱系数,C(t)为第t个美尔频率倒谱系数,F(m)为能量谱E(k)进行Mel滤波处理后的数据,t为整数,为离散余弦变换变量,m为MEL滤波器序号,即第m个MEL滤波器。7.根据权利要求1所述的基于MFCC和BP神经网络的...

【专利技术属性】
技术研发人员:高小清张浩刘浩罗挺刘年
申请(专利权)人:东风汽车集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1