本申请涉及语音鉴定技术领域,尤其涉及一种基于粒子群算法的说话人语音识别方法、装置和设备。
背景技术:
现有的同一人语音鉴定方式是对说话人语音进行声纹特征提取,通过bp神经网络进行声纹识别,得到声纹匹配结果,为避免语音噪声的影响,需要对语音进行去噪处理后再进行声纹特征提取,而在说话人发音的众多音素中,并不是所有音素都有利于语音识别,因此,如何找出说话人语音的优质音素是本领域技术人员亟待解决的技术问题。
技术实现要素:
本申请提供了一种基于粒子群算法的说话人语音识别方法、装置和设备,用于解决现有的语音鉴定方法需要比对较多的音素,且无法得到最适合用于比对的优质音素,语音鉴定效果不理想的技术问题。
有鉴于此,本申请第一方面提供了一种基于粒子群算法的说话人语音识别方法,包括:
获取去噪后的说话人语音;
对所述说话人语音进行语音特征提取,得到所述说话人语音各音素的声纹特征;
根据检材语音特征设定目标函数,基于粒子群算法对说话人的语音音素进行寻优,得到最佳声纹特征;
将所述最佳声纹特征输入预置识别模型进行语音识别。
可选地,所述对所述说话人语音进行语音特征提取,得到所述说话人语音各音素的声纹特征,包括:
对所述说话人语音进行mfcc语音特征提取,得到所述说话人语音各音素的声纹特征。
可选地,所述对所述说话人语音进行mfcc语音特征提取,得到所述说话人语音各音素的声纹特征,包括:
对所述说话人语音进行预加重处理,使所述说话人语音的频谱变得平坦;
将所述说话人语音分成若干帧,并将每一帧乘以汉明窗;
对各帧语音进行快速傅里叶变换,得到各帧语音的频谱,从语音的频谱获得语音的能量谱;
将语音的能量谱通过一组mel尺度的三角形滤波器组;
计算每个三角形滤波器输出的对数能量,将对数能量经离散余弦变换,得到mfcc系数阶数阶的mel-scalecepstrum参数;
提取语音的动态差分参数,得到所述说话人语音各音素的声纹特征。
可选地,所述预加重参数为0.97,一帧的采样点为512个,帧与帧之间的重叠区域包含171个采样点,加窗参数为0.46,快速傅里叶变换点数为512,三角滤波器个数为26,mfcc阶数为16。
本申请第二方面提供了一种基于粒子群算法的说话人语音识别装置,包括:
获取单元,用于获取去噪后的说话人语音;
特征提取单元,用于对所述说话人语音进行语音特征提取,得到所述说话人语音各音素的声纹特征;
寻优单元,用于根据检材语音特征设定目标函数,基于粒子群算法对说话人的语音音素进行寻优,得到最佳声纹特征;
识别单元,用于将所述最佳声纹特征输入预置识别模型进行语音识别。
可选地,所述特征提取单元,具体用于:
对所述说话人语音进行mfcc语音特征提取,得到所述说话人语音各音素的声纹特征。
可选地,所述特征提取单元,具体用于:
对所述说话人语音进行预加重处理,使所述说话人语音的频谱变得平坦;
将所述说话人语音分成若干帧,并将每一帧乘以汉明窗;
对各帧语音进行快速傅里叶变换,得到各帧语音的频谱,从语音的频谱获得语音的能量谱;
将语音的能量谱通过一组mel尺度的三角形滤波器组;
计算每个三角形滤波器输出的对数能量,将对数能量经离散余弦变换,得到mfcc系数阶数阶的mel-scalecepstrum参数;
提取语音的动态差分参数,得到所述说话人语音各音素的声纹特征。
可选地,所述预加重参数为0.97,一帧的采样点为512个,帧与帧之间的重叠区域包含171个采样点,加窗参数为0.46,快速傅里叶变换点数为512,三角滤波器个数为26,mfcc阶数为16。
本申请第三方面提供了一种基于粒子群算法的说话人语音识别设备,所述设备包括处理器和存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面任一种所述的基于粒子群算法的说话人语音识别方法。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面任一种所述的基于粒子群算法的说话人语音识别方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请中提供了一种基于粒子群算法的说话人语音识别方法,包括:获取去噪后的说话人语音;对说话人语音进行语音特征提取,得到说话人语音各音素的声纹特征;根据检材语音特征设定目标函数,基于粒子群算法对说话人的语音音素进行寻优,得到最佳声纹特征;将最佳声纹特征输入预置识别模型进行语音识别。本申请中提供的基于粒子群算法的说话人语音识别方法,通过对说话人语音进行特征提取,利用粒子群算法对最佳音素进行寻优,从而得到最佳声纹特征进行语音识别,解决了现有的语音鉴定方法需要比对较多的音素,且无法得到最适合用于比对的优质音素,语音鉴定效果不理想的技术问题。
附图说明
图1为本申请实施例中提供的一种基于粒子群算法的说话人语音识别方法的一个流程示意图;
图2为本申请实施例中提供的一种基于粒子群算法的说话人语音识别装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,请参阅图1,本申请提供了一种基于粒子群算法的说话人语音识别方法的一个实施例,包括:
步骤101、获取去噪后的说话人语音。
需要说明的是,本申请实施例中,噪声的存在会影响到语音特征的提取,在获取到说话人语音之后,需要对说话人语音进行去噪处理。
步骤102、对说话人语音进行语音特征提取,得到说话人语音各音素的声纹特征。
需要说明的是,去噪后对说话人语音进行语音特征提取,说话人语音的每个音素都能得到相应的声纹特征。语音特征的提取可以是mfcc特征提取,提取的具体过程可以是:
(1)对说话人语音进行预加重处理,使说话人语音的频谱变得平坦;
首先将说话人语音信号通过一个高通滤波器,设定预加重系数为0.97,得到预加重结果。预加重的作用在于消除发声过程中声带和嘴唇的效应,来补偿语音信号受到发音系统所抑制的高频部分,同时发出高频的共振峰。
(2)将说话人语音分成若干帧,并将每一帧乘以汉明窗;
预加重完成后,需要对说话人语音进行分帧处理,即将说话人语音的每512个采样点集合成一帧,帧与帧之间的重叠区域包含171个采样点,然后将分帧后的每一帧乘以汉明窗以增加帧左端到右端的连续性,加窗参数为0.46.
(3)对各帧语音进行快速傅里叶变换,得到各帧语音的频谱,从语音的频谱获得语音的能量谱;
分帧加窗完成后,对各帧信号进行快速傅里叶变换得到各帧的频谱,然后对语音信号的频谱取模平方(即绝对值的平方)并除以傅里叶变换的点数得到语音信号的能量谱,可将傅里叶变换点数设置为512。
(4)将语音的能量谱通过一组mel尺度的三角形滤波器组;
计算每个三角形滤波器输出的对数能量,将对数能量经离散余弦变换,得到mfcc系数阶数阶的mel-scalecepstrum参数;
将能量谱通过一组mel尺度的三角形滤波器组,对能量谱进行平滑,并消除谐波的作用,突显语音的共振峰,三角带通滤波器的个数为26个。计算滤波器输出的对数能量,mfcc系数阶数取16。
(5)提取语音的动态差分参数,得到所述说话人语音各音素的声纹特征。
步骤103、根据检材语音特征设定目标函数,基于粒子群算法对说话人的语音音素进行寻优,得到最佳声纹特征。
需要说明的是,以检材语音特征为目标,设定目标函数,基于粒子群算法根据目标函数对说话人语音的音素进行寻优,输出最佳声纹特征。
步骤104、将最佳声纹特征输入预置识别模型进行语音识别。
需要说明的是,得到最佳声纹特征之后,将最佳声纹特征输入到预置识别模型进行语音识别,得到说话人语音识别结果。
本申请实施例中提供的一种基于粒子群算法的说话人语音识别方法,包括:获取去噪后的说话人语音;对说话人语音进行语音特征提取,得到说话人语音各音素的声纹特征;根据检材语音特征设定目标函数,基于粒子群算法对说话人的语音音素进行寻优,得到最佳声纹特征;将最佳声纹特征输入预置识别模型进行语音识别。本申请中提供的基于粒子群算法的说话人语音识别方法,通过对说话人语音进行特征提取,利用粒子群算法对最佳音素进行寻优,从而得到最佳声纹特征进行语音识别,解决了现有的语音鉴定方法需要比对较多的音素,且无法得到最适合用于比对的优质音素,语音鉴定效果不理想的技术问题。
为了便于理解,请参阅图2,本申请中提供了一种基于粒子群算法的说话人语音识别装置的实施例,包括:
获取单元,用于获取去噪后的说话人语音;
特征提取单元,用于对说话人语音进行语音特征提取,得到说话人语音各音素的声纹特征;
寻优单元,用于根据检材语音特征设定目标函数,基于粒子群算法对说话人的语音音素进行寻优,得到最佳声纹特征;
识别单元,用于将最佳声纹特征输入预置识别模型进行语音识别。
进一步地,特征提取单元,具体用于:
对说话人语音进行mfcc语音特征提取,得到说话人语音各音素的声纹特征。
进一步地,特征提取单元,具体用于:
对说话人语音进行预加重处理,使说话人语音的频谱变得平坦;
将说话人语音分成若干帧,并将每一帧乘以汉明窗;
对各帧语音进行快速傅里叶变换,得到各帧语音的频谱,从语音的频谱获得语音的能量谱;
将语音的能量谱通过一组mel尺度的三角形滤波器组;
计算每个三角形滤波器输出的对数能量,将对数能量经离散余弦变换,得到mfcc系数阶数阶的mel-scalecepstrum参数;
提取语音的动态差分参数,得到所述说话人语音各音素的声纹特征。
进一步地,预加重参数为0.97,一帧的采样点为512个,帧与帧之间的重叠区域包含171个采样点,加窗参数为0.46,快速傅里叶变换点数为512,三角滤波器个数为26,mfcc阶数为16。
本申请中提供了一种基于粒子群算法的说话人语音识别设备的实施例,设备包括处理器以及存储器:
存储器用于存储程序代码,并将程序代码传输给处理器;
处理器用于根据程序代码中的指令执行前述的基于粒子群算法的说话人语音识别方法实施例中的基于粒子群算法的说话人语音识别方法。
本申请中提供了一种计算机可读存储介质的实施例,计算机可读存储介质用于存储程序代码,程序代码用于执行前述的基于粒子群算法的说话人语音识别方法实施例中的基于粒子群算法的说话人语音识别方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络系统等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文缩写:rom)、随机存取存储器(英文全称:randomaccessmemory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。