一种声纹特征提取方法和电子设备
技术领域
本发明涉及声纹识别领域,特别涉及一种声纹特征提取方法和电子设备。
背景技术
声纹识别技术是生物身份识别技术的一种,利用声音来验证话者的真实身份。而声纹特征提取是实现声纹识别的核心技术之一,随着声纹识别技术的普及,使得需要一种声纹特征提取方法,实现声纹特征的提取,保证声纹识别技术的实现。
现有技术提供了一种声纹特征提取方法,通过按照固定帧长和帧移,对语音信号进行分帧,在每帧语音信号内提取短时声纹特征。现有即时还提供了一种声纹特征提取方法,通过计算固定语音帧的Pitch(基频);根据Pitch的数值来确定当前帧的帧长;按照该帧长与帧移对语音信号进行分帧,在每帧语音信号内提取短时声纹特征。
但是,由于不同的人,不同的发音,其信号的周期性是不固定的,,会导致某些语音信号在帧内不具有周期性,是得在采用现有技术一所提供的方法时,会降低声纹特征的稳态性。同时,由于在复杂的电话信道或者噪音环境下,Pitch的提取变得非常困难,很多语音帧无法得到正确的数值,使得在采取现有技术二所提供的方法时,会降低声纹识别率。
发明内容
为了提高声纹特征提取的稳态性,提高声纹识别率,本发明实施例提供了一种声纹特征提取方法和电子设备。所述技术方案如下:
第一方面,提供了一种声纹特征提取方法,所述方法包括:
获取与当前帧语音数据相邻的至少一帧语音数据的频率值;
根据所有所述至少一帧语音数据的频率值,获取所述当前语音帧的频率值;
根据所述当前语音帧的频率值,计算所述当前语音帧的声纹特征参数。
第二方面,提供了一种电子设备,所述电子设备包括:
获取模块,用于获取与当前帧语音数据相邻的至少一帧语音数据的频率值;
第一处理模块,用于根据所有所述至少一帧语音数据的频率值,获取所述当前语音帧的频率值;
第二处理模块,用于根据所述当前语音帧的频率值,计算所述当前语音帧的声纹特征参数。
第三方面,提供了一种电子设备,所述电子设备包括录音装置、存储器以及与所述录音装置、所述存储器连接的处理器,其中,所述存储器用于存储一组程序代码,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
获取与当前帧语音数据相邻的至少一帧语音数据的频率值;
根据所有所述至少一帧语音数据的频率值,获取所述当前语音帧的频率值;
根据所述当前语音帧的频率值,计算所述当前语音帧的声纹特征参数;
其中,所述语音数据是所述处理器调用所述存储器所存储的程序代码通过执行以下操作中的任意一个获取的:
控制从所述录音装置获取所述语音数据;或者,
从语音文件中获取所述语音数据。
本发明公开了一种声纹特征提取方法和电子设备,包括:获取与当前帧语音数据相邻的至少一帧语音数据的频率值;根据所有至少一帧语音数据的频率值,获取当前语音帧的频率值;根据当前语音帧的频率值,计算当前语音帧的声纹特征参数。通过根据与当前帧语音数据相邻的至少一帧语音数据的频率值作为当前语音帧的频率值,来获取当前语音值对应的声纹特征,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,使得该方法相比于传统的直接根据当前的语音帧的频率值,提高了声纹特征提取的稳态性,从而提高了声纹识别率;同时,由于是当语音数据帧的帧是固定的,所以可以避免复杂的电话信道或者噪音环境对声纹识别率的影响,从而进一步提高了声纹特征提取的稳态性,提高了声纹识别率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种声纹特征提取方法流程图;
图2是本发明实施例提供的一种声纹特征提取方法流程图;
图3是本发明实施例提供的一种电子设备结构示意图;
图4是本发明实施例提供的一种电子设备结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种声纹特征提取方法,该方法用于从语音数据流中提取用于描述声纹特征的声纹特征参数,在本发明实施例中,该声纹特征参数包括至少一个MFCC(Mel Frequnce Cepstrum Coefficient,美尔频率倒谱系数)。
实施例一为发明实施例提供的一种声纹特征提取方法,参照图1所示,该方法包括:
101、获取与当前帧语音数据相邻的至少一帧语音数据的频率值。
具体的,设置与至少一帧语音数据中的每一帧语音数据分别对应的采样条件;
根据采样条件,获取与当前帧语音数据相邻的至少一帧语音数据的频率值。
步骤设置与至少一帧语音数据中的每一帧语音数据分别对应的采样条件的过程可以包括:
设置时长偏移与相邻帧数;
根据时长偏移与相邻帧数,设置与至少一帧语音数据中的每一帧语音数据分别对应的采样条件。
102、根据所有至少一帧语音数据的频率值,获取当前语音帧的频率值。
对至少一帧语音数据的频率值中的每一个频率值进行处理,获取处理后的至少一个频率值。
根据处理后的至少一个频率值,获取当前语音帧的频率值。
步骤根据处理后的至少一个频率值,获取当前语音帧的频率值的过程可以包括:
获取处理后的至少一个频率值的平均值;
设置平均值为当前语音帧的频率值。
103、根据当前语音帧的频率值,计算当前语音帧的声纹特征参数。
本发明实施例提供了一种声纹特征提取方法,通过根据与当前帧语音数据相邻的至少一帧语音数据的频率值作为当前语音帧的频率值,来获取当前语音值对应的声纹特征,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,使得该方法相比于传统的直接根据当前的语音帧的频率值,提高了声纹特征提取的稳态性,从而提高了声纹识别率;同时,由于是当语音数据帧的帧是固定的,所以可以避免复杂的电话信道或者噪音环境对声纹识别率的影响,从而进一步提高了声纹特征提取的稳态性,提高了声纹识别率。
实施例二为本发明实施例提供的一种声纹特征提取方法,参照图2所示,该方法包括:
201、设置语音帧长与帧移,并根据语音帧长与帧移,对语音数据流作分帧处理。
具体的,在从语音文件或录音装置获取语音数据流后,设置语音帧长FL(FrameLength,帧长)和帧移FS(Frame Shift,帧移)。
本发明实施例对具体的设置方式不加以限定。
在设置完FL和FS之后,对语音数据流进行分帧处理,获取分帧后的语音数据,本发明实施例对具体的处理方式不加以限定。
202、设置时长偏移与相邻帧数。
具体的,该时长偏移可以为ΔFS,该相邻帧数可以为N,N为正整数,本发明实施例对具体的设置方式不加以限定。
值得注意的是,ΔFS和N需满足:ΔFS<<FS和ΔFS*N<2*FL。
由于ΔFS满足ΔFS<<FS,使得在对分帧后的语音数据采样过程中,所获取的至少一帧语音数据的频率值之间是相互独立的,避免了因为采样数据之间的数据重叠而对声纹特征提取的影响,提高了声纹特征提取的可靠性,从而进一步提高了声纹特征提取的准确性。同时,由于N需满足ΔFS*N<2*FL,使得在对分帧后的语音数据采样过程中,所获取的至少一帧语音数据的频率值之间是连续的,避免了跨帧采样,从而进一步提高了声纹特征提取的可靠性,提高了声纹特征提取的准确性。
在实际应用中,无需在每次执行步骤203之前,都执行步骤202,可以使用预先设置好的时长偏移与相邻帧数。
值得注意的是,步骤201与步骤202可以是按照上述顺序执行的,也可以是按照其他顺序执行的,本实施例对具体的执行顺序不加以限定。
203、根据时长偏移与相邻帧数,设置与至少一帧语音数据中的每一帧语音数据分别对应的采样条件。
具体的,根据ΔFS和N,设置与N帧语音数据中的每一帧语音数据分别对应的采样条件,该采样条件包括采样起始条件和采样截止条件,假设当前语音数据帧为对语音数据流进行分帧处理后的第i帧语音数据,该过程可以为:
设置当前语音帧的采样条件,包括:
设置采样起始点为i*FS,设置采样截止点为i*FS+FL;
设置与当前语音帧相邻的N帧语音数据中的第j帧语音数据的采样条件,包括:
设置采样起始点为:i*FS+j*ΔFS,设置采样截止点为i*FS+j*ΔFS+FL;
通过设置与当前帧语音数据相邻的至少一帧语音数据中的每一帧语音数据分别对应的采样条件,使得可以根据该采样条件对该至少一帧语音数据进行采样,并根据采样后的至少一帧语音数据的频率值获取当前帧的频率值,使得相比于传统的直接获取当前帧的频率值,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,从而提高了声纹特征提取的稳态性,从而提高了声纹识别率。
值得注意的是,步骤202至步骤203是实现设置与至少一帧语音数据中的每一帧语音数据分别对应的采样条件的过程,除了上述步骤所述的方式之外,还可以通过其他方式实现该过程,本发明实施例对具体的过程不加以限定。
通过设置与当前帧语音数据相邻的至少一帧语音数据中的每一帧语音数据分别对应的采样条件,使得可以根据该采样条件对该至少一帧语音数据进行采样,并根据采样后的至少一帧语音数据的频率值获取当前帧的频率值,使得相比于传统的直接获取当前帧的频率值,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,从而提高了声纹特征提取的稳态性,从而提高了声纹识别率。同时,由于ΔFS满足ΔFS<<FS,使得在对分帧后的语音数据采样过程中,所获取的至少一帧语音数据的频率值之间是相互独立的,避免了因为采样数据之间的数据重叠而对声纹特征提取的影响,提高了声纹特征提取的可靠性,从而进一步提高了声纹特征提取的准确性。同时,由于N需满足ΔFS*N<2*FL,使得在对分帧后的语音数据采样过程中,所获取的至少一帧语音数据的频率值之间是连续的,避免了跨帧采样,从而进一步提高了声纹特征提取的可靠性,提高了声纹特征提取的准确性。
在实际应用中,无需在每次执行步骤204之前,都执行步骤203,可以使用预先设置好的与至少一帧语音数据中的每一帧语音数据分别对应的采样条件。
204、根据采样条件,获取与当前帧语音数据相邻的至少一帧语音数据的频率值。
具体的,根据采样起始条件与采样截止条件,对分帧后的语音数据中与当前帧语音数据相邻的至少一帧语音数据进行采样,获取与当前帧语音数据相邻的至少一帧语音数据的频率值。
本发明实施例对具体的采样方式不加以限定。
通过根据该采样条件对该至少一帧语音数据进行采样,并根据采样后的至少一帧语音数据的频率值获取当前帧的频率值,使得相比于传统的直接获取当前帧的频率值,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,从而提高了声纹特征提取的稳态性,从而提高了声纹识别率。同时,在设置采样条件的基础上,通过该采样条件对该至少一帧语音数据进行采样,使得获取的至少一帧语音数据的频率值之间是相互独立的,数据之前没有重叠,且获取的至少一帧语音数据的频率值之间是连续的,从而避免了因为采样数据之间的数据重叠以及跨帧采样而对声纹特征提取的影响,从而提高了声纹特征提取的可靠性,进一步提高了声纹特征提取的准确性。
值得注意的是,步骤202至步骤204是实现获取与当前帧语音数据相邻的至少一帧语音数据的频率值的过程,除了上述步骤所述的方式之外,还可以通过其他方式实现该过程,本发明实施例对具体的过程不加以限定。
通过获取与当前帧语音数据相邻的至少一帧语音数据的频率值,并根据采样后的至少一帧语音数据的频率值获取当前帧的频率值,使得相比于传统的直接获取当前帧的频率值,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,从而提高了声纹特征提取的稳态性,从而提高了声纹识别率。
205、对至少一帧语音数据的频率值中的每一个频率值进行处理,获取处理后的至少一个频率值。
具体的,对至少一帧语音数据的频率值中的每一个频率值分别进行FFT(FastFourier Transformation,快速傅氏变换),获取处理后的至少一个频率值,本发明实施例对具体的处理方式不加以限定。
206、获取处理后的至少一个频率值的平均值。
具体的,根据预设算法,获取处理后的至少一个频率值的平均值,该预设算法可以为:
在该预设算法中,FFT
i k表示N个频率值的平均值,
表示与当前帧语音数据相邻的第j帧语音数据的频率值。
除此之外,还可以通过对处理后的至少一个频率值进行中值滤波处理、加权平均处理和指数平均处理,获取处理后的至少一个频率值的平均值,除此之外,还可以通过其他方式,获取处理后的至少一个频率值的平均值,本发明实施例对具体的获取方式不加以限定。
通过获取处理后的至少一个频率值的平均值,并将该平均值设置为当前语音帧的频率值,使得当前帧的频率值是在与当前帧相邻的至少一个语音数据帧的基础上获取的,从而相比于传统的直接获取当前帧的频率值,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,从而提高了声纹特征提取的稳态性,从而提高了声纹识别率。
207、设置平均值为当前语音帧的频率值。
具体的,本发明实施例对具体的设置方式不加以限定。
通过设置平均值为当前语音帧的频率值,使得当前帧的频率值是在与当前帧相邻的至少一个语音数据帧的基础上获取的,从而相比于传统的直接获取当前帧的频率值,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,从而提高了声纹特征提取的稳态性,从而提高了声纹识别率。
值得注意的是,步骤206至步骤207是实现根据处理后的至少一个频率值,获取当前语音帧的频率值的过程,除了上述步骤所述的方式之外,还可以通过其他方式实现该过程,本发明实施例对具体的方式不加以限定。
通过根据处理后的至少一个频率值,获取当前语音帧的频率值,从而相比于传统的直接获取当前帧的频率值,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,从而提高了声纹特征提取的稳态性,从而提高了声纹识别率。同时,通过获取处理后的至少一个频率值的平均值,并将该平均值设置为当前语音帧的频率值,使得当前帧的频率值是在与当前帧相邻的至少一个语音数据帧的基础上获取的,从而进一步提高了声纹特征提取的稳态性,从而提高了声纹识别率。
值得注意的是,步骤205至步骤207是实现根据所有至少一帧语音数据的频率值,获取当前语音帧的频率值的过程,除了上述步骤所述的方式之外,还可以通过方式实现该过程,本发明实施例对具体的过程不加以限定。
通过根据所有至少一帧语音数据的频率值,获取当前语音帧的频率值,从而相比于传统的直接获取当前帧的频率值,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,从而提高了声纹特征提取的稳态性,从而提高了声纹识别率。同时,在获取与当前帧语音数据相邻的至少一帧语音数据的频率值的基础上,提高了声纹特征提取的可靠性,进一步提高了声纹特征提取的准确性。
208、根据当前语音帧的频率值,计算当前语音帧的声纹特征参数。
具体的,将当前语音帧的频率值输入MEL(Maya Embedded Language,Maya内置语言)三角滤波器组,并获取该MEL三角滤波器组的M个输出结果;
对该M个输出结果进行log运算,获取运算后的M个输出结果;
对该运算后的M个输出结果做DCT(Discrete Cosine Transformation,离散余旋变换),得到P个独立无关MFCC。
本发明实施例所述的方法,相比于传统的原始声纹特征系统,其NIST2008多个评测数据集中的EER(Equal Error Rate,等错误率)降低了30%左右,从而相比于传统的原始声纹特征系统,提升了短时声纹特征的稳态性,使得同一说话人的声纹特征差异小,同时还可以保证声纹特征受环境噪音和信道差异的干扰小。
本发明实施例提供了一种声纹特征提取方法,通过根据与当前帧语音数据相邻的至少一帧语音数据的频率值作为当前语音帧的频率值,来获取当前语音值对应的声纹特征,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,使得该方法相比于传统的直接根据当前的语音帧的频率值,提高了声纹特征提取的稳态性,从而提高了声纹识别率;同时,由于是当语音数据帧的帧是固定的,所以可以避免复杂的电话信道或者噪音环境对声纹识别率的影响,从而进一步提高了声纹特征提取的稳态性,提高了声纹识别率。同时,通过设置与当前帧语音数据相邻的至少一帧语音数据中的每一帧语音数据分别对应的采样条件,使得可以根据该采样条件对该至少一帧语音数据进行采样,并根据采样后的至少一帧语音数据的频率值获取当前帧的频率值,使得相比于传统的直接获取当前帧的频率值,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,从而提高了声纹特征提取的稳态性,从而提高了声纹识别率。同时,由于ΔFS满足ΔFS<<FS,使得在对分帧后的语音数据采样过程中,所获取的至少一帧语音数据的频率值之间是相互独立的,避免了因为采样数据之间的数据重叠而对声纹特征提取的影响,提高了声纹特征提取的可靠性,从而进一步提高了声纹特征提取的准确性。同时,由于N需满足ΔFS*N<2*FL,使得在对分帧后的语音数据采样过程中,所获取的至少一帧语音数据的频率值之间是连续的,避免了跨帧采样,从而进一步提高了声纹特征提取的可靠性,提高了声纹特征提取的准确性。同时,通过获取处理后的至少一个频率值的平均值,并将该平均值设置为当前语音帧的频率值,使得当前帧的频率值是在与当前帧相邻的至少一个语音数据帧的基础上获取的,从而相比于传统的直接获取当前帧的频率值,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,从而提高了声纹特征提取的稳态性,从而提高了声纹识别率。
实施例三为本发明实施例提供的一种电子设备3,参照图3所示,该电子设备3包括:
获取模块31,用于获取与当前帧语音数据相邻的至少一帧语音数据的频率值;
第一处理模块32,用于根据所有至少一帧语音数据的频率值,获取当前语音帧的频率值;
第二处理模块33,用于根据当前语音帧的频率值,计算当前语音帧的声纹特征参数。
可先的,获取模块31包括:
第一设置子模块,用于设置与至少一帧语音数据中的每一帧语音数据分别对应的采样条件;
采样子模块,用于根据采样条件,获取与当前帧语音数据相邻的至少一帧语音数据的频率值。
可选的,第一设置子模块具体用于:
设置时长偏移与相邻帧数;
根据时长偏移与相邻帧数,设置与至少一帧语音数据中的每一帧语音数据分别对应的采样条件。
可选的,第一处理模块32包括:
第一处理子模块,用于对至少一帧语音数据的频率值中的每一个频率值进行处理,获取处理后的至少一个频率值;
第二处理子模块,用于根据处理后的至少一个频率值,获取当前语音帧的频率值。
可选的,第二处理模块33包括:
计算子模块,用于获取处理后的至少一个频率值的平均值;
第二设置子模块,用于设置平均值为当前语音帧的频率值。
本发明实施例提供了一种电子设备,该电子设备通过根据与当前帧语音数据相邻的至少一帧语音数据的频率值作为当前语音帧的频率值,来获取当前语音值对应的声纹特征,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,使得该方法相比于传统的直接根据当前的语音帧的频率值,提高了声纹特征提取的稳态性,从而提高了声纹识别率;同时,由于是当语音数据帧的帧是固定的,所以可以避免复杂的电话信道或者噪音环境对声纹识别率的影响,从而进一步提高了声纹特征提取的稳态性,提高了声纹识别率。
实施例四为本发明实施例提供的一种电子设备4,参照图4所示,电子设备4包括录音装置41、存储器42以及与录音装置41、存储器42连接的处理器43,其中,存储器42用于存储一组程序代码,处理器43调用存储器42所存储的程序代码用于执行以下操作:
获取与当前帧语音数据相邻的至少一帧语音数据的频率值;
根据所有至少一帧语音数据的频率值,获取当前语音帧的频率值;
根据当前语音帧的频率值,计算当前语音帧的声纹特征参数;
其中,语音数据是处理器43调用存储器42所存储的程序代码通过执行以下操作中的任意一个获取的:
控制从录音装置获取语音数据;或者,
从语音文件中获取语音数据。
可选的,处理器43调用存储器42所存储的程序代码用于执行以下操作:
设置与至少一帧语音数据中的每一帧语音数据分别对应的采样条件;
根据采样条件,获取与当前帧语音数据相邻的至少一帧语音数据的频率值。
可选的,处理器43调用存储器42所存储的程序代码用于执行以下操作:
设置时长偏移与相邻帧数;
根据时长偏移与相邻帧数,设置与至少一帧语音数据中的每一帧语音数据分别对应的采样条件。
可选的,处理器43调用存储器42所存储的程序代码用于执行以下操作:
对至少一帧语音数据的频率值中的每一个频率值进行处理,获取处理后的至少一个频率值;
根据处理后的至少一个频率值,获取当前语音帧的频率值。
可选的,处理器43调用存储器42所存储的程序代码用于执行以下操作:
获取处理后的至少一个频率值的平均值;
设置平均值为当前语音帧的频率值。
本发明实施例提供了一种电子设备,该电子设备通过根据与当前帧语音数据相邻的至少一帧语音数据的频率值作为当前语音帧的频率值,来获取当前语音值对应的声纹特征,避免了由于帧内语音信号略微时移偏差而导致的频域信号的差异性,使得该方法相比于传统的直接根据当前的语音帧的频率值,提高了声纹特征提取的稳态性,从而提高了声纹识别率;同时,由于是当语音数据帧的帧是固定的,所以可以避免复杂的电话信道或者噪音环境对声纹识别率的影响,从而进一步提高了声纹特征提取的稳态性,提高了声纹识别率。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的电子设备在进行声纹特征提取时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的电子设备与声纹特征提取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。