本发明涉及声纹识别技术领域,具体涉及与一串随机动态数字相关的一种文本半相关的声纹识别方法。
背景技术:
在现有声纹识别中主要有两种声纹识别方式,分别为固定文本(text-dependent)声纹识别和文本无关(text-independent)声纹识别,在实际应用中,文本无关声纹识别需要很长的语音才能达到理想的识别效果,而固定文本声纹识别只要很短的一句话就能有很好的识别效果。但在实际应用中固定文本声纹识别方式由于文本内容固定,难以防止录音等情况发生,固定文本声纹识别方式存在较大的安全问题。
在声纹识别的实际应用中以动态数字串最为常见,其在注册时会给出几个随机数字串,而在验证时给出一个随机数字串用于识别,具体包含:
(1)注册步骤:获取说话人读几段不同的数字串的语音,对所述语音根据内容进行切分,即将语音内容的每个数字切成一段,并对切分后语音段进行特征提取,
(2)验证步骤:将说话人读的一段数字串语音进行切分,分别提取特征,然后将提取的特征依次串起来获取验证特征向量v;
(3)相似度判断步骤:将注册获取的不同数字的特征,根据验证给的数字串依次串起来获得注册特征向量u,通过cosine方式计算v和u的相似度。
上述声纹识别方法未考虑到各个数字的识别效果,声纹识别精度较低。
技术实现要素:
本发明的目的在于克服现有技术问题,提出一种即提高声纹识别精度,又可以从较短语音进行声纹识别,同时可以防止录音等情况产生,确保声纹识别应用安全的文本半相关的声纹识别方法及系统,
为达成上述目的,本发明提供了文本半相关的声纹识别方法,所述方法包括如下:
步骤一,在注册过程中获取注册用户读几段不同的字符串的语音,对所述语音根据内容进行切分,并对切分后语音段进行特征提取;所述切分是将语音内容的每个字符切成一语音段;
步骤二,随机产生一段验证字符串,所述一段验证字符串包含n个字符,并获取待验证用户读的一段验证字符串语音内容,并对一段验证字符串语音内容进行切分,分别对每个字符提取的特征,并将提取的特征依次串起来获取验证特征向量v,对验证特征向量v进行加权获取改良验证特征向量v’,其中,v=[v1,v2,...,vn],v’=[c1v1,c2v2,...,cnvn],vi为所述一段验证字符串的第i个字符的特征,ci为所述一段验证字符串的第i个字符的特征对应的权值,
其中i、n均为正整数,n≥2,1≤i≤n;
步骤三,根据所述一段验证字符串对应的字符获取注册用户在注册过程中对应的特征,并依次即将所述一段验证字符串对应的字符特征串起来获得注册特征向量u,u=[u1,u2,..,un],其中,ui为所述一段验证字符串的第i个字符对应的注册特征;
步骤四,计算改良后的验证特征向量v’和注册特征向量u的相似度llr;
步骤五,根据所述相似度llr值的大小判断验证用户与注册用户是否一致。
可选地,所述字符串为数字串,所述一段验证数字串包含n个数字;
步骤一,在注册过程中获取注册用户读几段不同的数字串的语音,对所述语音根据内容进行切分,并对切分后语音段进行特征提取;所述切分是将语音内容的每个数字切成一语音段;
步骤二,随机产生一段验证数字串,所述一段验证数字串包含n个数字,并获取待验证用户读的一段验证数字串语音内容,并对一段验证数字串语音内容进行切分,分别对每个数字提取的特征,并将提取的特征依次串起来获取验证特征向量v,对验证特征向量v进行加权获取改良验证特征向量v’,其中,v=[v1,v2,...,vn],v’=[c1v1,c2v2,...,cnvn],vi为所述一段验证数字串的第i个数字验证特征,ci为所述一段验证数字串的第i个数字验证特征对应的权值;
步骤三,根据所述一段验证数字串对应的数字获取注册用户在注册过程中对应的特征,并依次即将所述一段验证数字串对应的数字特征串起来获得注册特征向量u,u=[u1,u2,..,un],其中,ui为所述一段验证数字串的第i个数字对应的注册特征。
进一步的,ci为误识率为f的情况下,所述一段验证数字串的第i个数字单独用于声纹识别的识别率r作为所述一段验证数字串的第i个数字的验证特征对应的权值,所述一段验证数字串的第i个数字为数字“x”,所述识别率r的获取过程包括:
(1)获取m个人的数字“x”的语音段,每个人至少包含两段语音,分别提取各语音段的特征向量。
(2)构建一定数量的正负对,两个特征为同一人即正对,两个特征为不同人为负对;
正对是指注册过程输出的特征与验证过程输出的特征一致,负对是指注册过程输出的特征与验证过程输出的特征不一致,特征是从语音中提取的,如果配对的两段语音不是同一人的即为负对,为同一人的即为正对;
(3)分别对一定数量的正负对的特征向量进行打分,其中,正对的特征向量打分大于t的数量为tg,正对的特征向量打分小于t的数量为tl;负对的特征向量打分大于t的数量为fg,负对的特征向量小于t的数量为fl,计算误识率为f=fl/(fg+fl);
所述打分是注册特征向量、验证特征向量进行相似度进行计算;
(4)识别率为r=tl/(tg+tl),其中,所述一段验证数字串的第i个数字为数字“x”的ci值即为确定f值时的识别率r值。
进一步的,需要说明的是,误识率的f值可根据场景需求行设定。
可选地,构建一定数量的正负对,其中一定数量为不低10000。
进一步的,在本发明优选实施例中,在步骤四中,通过余弦距离算法获取改良后的验证特征向量v’和注册特征向量u的相似度llr。
与上述文本半相关的声纹识别方法相对应的,本发明还提供了一种文本半相关的声纹识别系统,包括:
注册模块,用于提供几段不同的字符串供注册用户读取,获取注册用户读几段不同的字符串的语音,用于对语音进行切分后语音段进行特征提取;所述切分是将语音内容的每个字符切成一语音段;
验证模块,用于随机产生一段验证字符串,所述一段验证字符串包含n个字符;
验证特征模块,用于获取待验证用户读的一段验证字符串语音内容,并对一段验证字符串语音内容进行切分,分别对每个字符提取的特征,并将提取的特征依次串起来获取验证特征向量v,v=[v1,v2,...,vn],vi为所述一段验证字符串的第i个字符的特征,v1为所述一段验证字符串的第1个字符的特征,v2为所述一段验证字符串的第2个字符的特征,vn为所述一段验证字符串的第n个字符的特征,其中i、n均为正整数,n≥2,1≤i≤n;
改良模块,用于对验证特征向量v进行加权获取改良验证特征向量v’,v’=[c1v1,c2v2,...,cnvn],ci为所述一段验证字符串的第i个字符的特征对应的权值;
注册特征模块,用于根据所述验证模块产生的所述一段验证字符串对应的字符获取注册用户在注册过程中对应的特征,并依次即将所述一段验证字符串对应的特征串起来获得注册特征向量u,u=[u1,u2,..,un],其中,ui为所述一段验证字符串的第i个字符对应的注册特征;
判断模块,用于计算改良后的验证特征向量v’和注册特征向量u的相似度llr,,并根据所述相似度llr值的大小判断验证用户与注册用户是否一致。
可选的,上述文本半相关的声纹识别系统中,所述注册模块提供几段不同的数字串供注册用户读取,所述几段不同的数字串的语音为几段不同的数字串的语音,所述切分是将语音内容的每个数字切成一语音段;
所述验证模块随机产生一段验证数字串,所述一段验证数字串包含n个数字;
所述验证特征模块获取待验证用户读的一段验证数字串语音内容,并对一段验证数字串语音内容进行切分,分别对每个数字提取的特征,并将提取的特征依次串起来获取验证特征向量v,v=[v1,v2,...,vn],vi为所述一段验证数字串的第i个数字的特征;
改良模块,用于对验证特征向量v进行加权获取改良验证特征向量v’,v’=[c1v1,c2v2,...,cnvn],ci为所述一段验证数字串的第i个数字的特征对应的权值;
注册特征模块,用于根据所述验证模块产生的所述一段验证数字串对应的数字获取注册用户在注册过程中对应的特征,并依次即将所述一段验证数字串对应的特征串起来获得注册特征向量u,u=[u1,u2,..,un],其中,ui为所述一段验证数字串的第i个数字对应的注册特征。
进一步的,上述文本半相关的声纹识别系统中所述改良模块中的ci为所述一段验证数字串的第i个数字的特征对应的权值;误识率为f的情况下,所述一段验证数字串的第i个数字单独用于声纹识别的识别率r作为所述一段验证数字串的第i个数字的验证特征对应的权值,所述一段验证数字串的第i个数字为数字“x”,改良模块中的获取识别率r包括:
获取m个人的数字“x”的语音段,每个人至少包含两段语音,分别提取各语音段的特征向量;
构建一定数量的正负对,两个特征为同一人即正对,两个特征为不同人为负对;
正对是指注册过程输出的特征与验证过程输出的特征一致,负对是指注册过程输出的特征与验证过程输出的特征不一致,特征是从语音中提取的,如果配对的两段语音不是同一人的即为负对,为同一人的即为正对;
分别对一定数量的正负对的特征向量进行打分,其中,正对的特征向量打分大于t的数量为tg,正对的特征向量打分小于t的数量为tl;负对的特征向量打分大于t的数量为fg,负对的特征向量小于t的数量为fl,计算误识率为f=fl/(fg+fl);
所述打分是注册特征向量、验证特征向量进行相似度进行计算;
识别率为r=tl/(tg+tl),其中,所述一段验证数字串的第i个数字为数字“x”的ci值即为确定f值时的识别率r值。
进一步的,上述文本半相关的声纹识别系统中所述改良模块中的所述构建一定数量的正负对,其中一定数量为不低10000;误识率的f值可根据场景需求行设定。
与现有技术相比,通过本发明的文本半相关的声纹识别方法及系统,即提高声纹识别精度,又可以从较短语音进行声纹识别,同时可以防止录音等情况产生,确保声纹识别应用安全的。
附图说明
此处所说明的附图用来提供对发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明的实施例1文本半相关的声纹识别方法的流程步骤图;
图2为本发明的实施例3文本半相关的声纹识别系统的原理示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种文本半相关的声纹识别方法,如附图1所示,所述方法包括如下:
步骤s1,在注册过程中获取注册用户读几段不同的字符串的语音,对所述语音根据内容进行切分,并对切分后语音段进行特征提取;所述切分是将语音内容的每个字符切成一语音段;
步骤s2,随机产生一段验证字符串,所述一段验证字符串包含n个字符,
步骤s3,获取待验证用户读的一段验证字符串语音内容,并对一段验证字符串语音内容进行切分,分别对每个字符提取的特征,并将提取的特征依次串起来获取验证特征向量v;
步骤s4,对验证特征向量v进行加权获取改良验证特征向量v’,其中,v=[v1,v2,...,vn],v’=[c1v1,c2v2,...,cnvn],vi为所述一段验证字符串的第i个字符的特征,ci为所述一段验证字符串的第i个字符的特征对应的权值,即v1为所述一段验证字符串的第1个字符的特征,vi为所述一段验证字符串的第i个字符的特征,vn为所述一段验证字符串的第n个字符的特征;c1为所述一段验证字符串的第1个字符的特征对应的权值,ci为所述一段验证字符串的第i个字符串的特征对应的权值,cn为所述一段验证字符串的第n个字符的特征对应的权值,
其中i、n均为正整数,n≥2,1≤i≤n;
进一步的,ci为误识率为f的情况下,第i个数字单独用于声纹识别的识别率r作为第i个数字的验证特征对应的权值。
识别率r的获取方法如下:
本发明实施例以字符y为例,介绍字符y验证特征对应的权值的c的获取方法,具体包括如下:
(1)获取m个人的字符y的语音段,每个人至少包含两段语音,分别提取各语音段的特征向量。
(2)构建一定数量的正负对,两个特征为同一人即正对,两个特征为不同人为负对;为了使得结果越稳定可靠,其中一定数量为不低10000;
正对是指注册过程输出的特征与验证过程输出的特征一致,
负对是指注册过程输出的特征与验证过程输出的特征不一致,
特征是从语音中提取的,如果配对的两段语音不是同一人的即为负对,为同一人的即为正对,
(3)分别对一定数量的正负对的特征向量进行打分,其中,正对的特征向量打分大于t的数量为tg,正对的特征向量打分小于t的数量为tl;负对的特征向量打分大于t的数量为fg,负对的特征向量小于t的数量为fl,计算误识率为f=fl/(fg+fl);
所述打分是注册特征向量、验证特征向量进行相似度进行计算,其中相似度计算在本发明实施例优选地为,余弦距离cosine计算,llr=cos(注册特征向量,验证特征向量),不限于这个方法,也可以使用plda,欧式距离等多种打分方法。
(4)识别率为r=tl/(tg+tl),其中,字符y的c值即为确定f值时的识别率r值,误识率的f值可根据场景需求行设定。
步骤s5,根据所述一段验证数字串对应的数字获取注册用户在注册过程中对应的特征,并依次即将所述一段验证数字串对应的数字特征串起来获得注册特征向量u,u=[u1,u2,..,un],其中,ui为所述一段验证数字串的第i个数字对应的注册特征,u1为所述一段验证数字串的第1个数字对应的注册特征,u2为所述一段验证数字串的第2个数字对应的注册特征,un为所述一段验证数字串的第n个数字对应的注册特征;
步骤s6,计算改良后的验证特征向量v’和注册特征向量u的相似度llr,即进行余弦距离cosine计算,llr=cos(u,v’);
步骤s7,根据所述相似度llr值的大小判断验证用户与注册用户是否一致。
实施例2
本发明实施例提供了一种文本半相关的声纹识别方法,如附图2所示,所述方法包括如下:
步骤一,在注册过程中获取注册用户读几段不同的字符串串的语音,对所述语音根据内容进行切分,并对切分后语音段进行特征提取;所述切分是将语音内容的每个数字切成一语音段;在本发明实施例中,优选地,所述字符串为数字串;需要说明的是,本发明字符串不限定于数字串,可以为字符串可以为数字、字母、特殊符号、汉字等。
步骤二,随机产生一段验证数字串,所述一段验证数字串包含n个数字,并获取待验证用户读的一段验证数字串语音内容,并对一段验证数字串语音内容进行切分,分别对每个数字提取的特征,并将提取的特征依次串起来获取验证特征向量v,对验证特征向量v进行加权获取改良验证特征向量v’,其中,v=[v1,v2,...,vn],v’=[c1v1,c2v2,...,cnvn],i、n均为正整数,n≥2,1≤i≤n;
其中vi为所述一段验证数字串的第i个数字的特征,ci为所述一段验证数字串的第i个数字的特征对应的权值,即v1为所述一段验证数字串的第1个数字的特征,v2为所述一段验证数字串的第2个数字的特征,……,vn为所述一段验证数字串的第n个数字的特征,c1为所述一段验证数字串的第1个数字的特征对应的权值,c2为所述一段验证数字的第2个数字串的特征对应的权值,……,cn为所述一段验证数字串的第n个数字的特征对应的权值;
其中i、n均为正整数,n≥2,1≤i≤n;
进一步的,ci为误识率为f的情况下,所述一段验证数字串的第i个数字单独用于声纹识别的识别率r作为所述一段验证数字串的第i个数字的验证特征对应的权值。
识别率r的获取方法如下:
本发明实施例以数字‘0’为例,介绍数字0验证特征对应的权值的c的获取方法,具体包括如下:
(1)获取m个人的数字‘0’的语音段,每个人至少包含两段语音,分别提取各语音段的特征向量。
(2)构建一定数量的正负对,两个特征为同一人即正对,两个特征为不同人为负对;为了使得结果越稳定可靠,其中一定数量为不低10000;
正对是指注册过程输出的特征与验证过程输出的特征一致,
负对是指注册过程输出的特征与验证过程输出的特征不一致,
特征是从语音中提取的,如果配对的两段语音不是同一人的即为负对,为同一人的即为正对
(3)分别对一定数量的正负对的特征向量进行打分,其中,正对的特征向量打分大于t的数量为tg,正对的特征向量打分小于t的数量为tl;负对的特征向量打分大于t的数量为fg,负对的特征向量小于t的数量为fl,计算误识率为f=fl/(fg+fl);
所述打分是注册特征向量、验证特征向量进行相似度进行计算,其中相似度计算在本发明实施例优选地为,余弦距离cosine计算,llr=cos(注册特征向量,特征2),不限于这个方法,也可以使用plda,欧式距离等多种打分方法
(4)识别率为r=tl/(tg+tl),其中,数字‘0’的c值即为确定f值时的识别率r值,误识率的f值可根据场景需求行设定。另外,识率f值由整体声纹识别的需求决定,即误识率的f值可根据场景需求行设定。
步骤三,根据所述一段验证数字串对应的数字获取注册用户在注册过程中对应的特征,并依次即将所述一段验证数字串对应的数字特征串起来获得注册特征向量u,u=[u1,u2,..,un],其中,ui为所述一段验证数字串的第i个数字对应的注册特征,u1为所述一段验证数字串的第1个数字对应的注册特征,u2为所述一段验证数字串的第2个数字对应的注册特征,un为所述一段验证数字串的第n个数字对应的注册特征;
步骤四,计算改良后的验证特征向量v’和注册特征向量u的相似度llr,即进行进行余弦距离cosine计算,llr=cos(u,v’);
步骤五,根据所述相似度llr值的大小判断验证用户与注册用户是否一致。
需要进一步说明的是,数字i对应的注册特征是指在注册用户在注册过程中获取注册用户的语音内容中数字i提取的特征;数字i对应的验证特征是指在待验证用户在验证过程中获取待验证用户语音内容中数字i提取的特征。
实施例3
另外,本发明实施例还提供了一种文本半相关的声纹识别系统,如附图2所示,所述系统包括注册模块1、验证模块2、验证特征模块4、改良模块5、注册特征模块3、判断模块6。
所述注册模块用于提供几段不同的字符串供注册用户读取,获取注册用户读几段不同的字符串的语音,用于对语音进行切分后语音段进行特征提取;所述切分是将语音内容的每个字符切成一语音段;
所述验证模块2用于随机产生一段验证字符串,所述一段验证字符串包含n个字符;
所述验证特征模块4,用于获取待验证用户读的一段验证字符串语音内容,并对一段验证字符串语音内容进行切分,分别对每个字符提取的特征,并将提取的特征依次串起来获取验证特征向量v,v=[v1,v2,...,vn],vi为所述一段验证字符串的第i个字符的特征,v1为所述一段验证字符串的第1个字符的特征,v2为所述一段验证字符串的第2个字符的特征,vn为所述一段验证字符串的第n个字符的特征,其中i、n均为正整数,n≥2,1≤i≤n;
所述改良模块5,用于对验证特征向量v进行加权获取改良验证特征向量v’,v’=[c1v1,c2v2,...,cnvn],ci为所述一段验证字符串的第i个字符的特征对应的权值,c1为所述一段验证字符串的第1个字符的特征对应的权值,c2为所述一段验证字符串的第2个字符串的特征对应的权值,cn为所述一段验证字符串的第n个字符的特征对应的权值。
所述注册特征模块3用于根据所述验证模块2产生的所述一段验证字符串对应的字符获取注册用户在注册过程中对应的特征,并依次即将所述一段验证字符串对应的特征串起来获得注册特征向量u,u=[u1,u2,..,un],其中,ui为所述一段验证字符串的第i个字符对应的注册特征,u1为所述一段验证字符串的第1个字符对应的注册特征,u2为所述一段验证字符串的第2个字符对应的注册特征,un为所述一段验证字符串的第n个字符对应的注册特征;
所述判断模块6用于计算改良后的验证特征向量v’和注册特征向量u的相似度llr,,并根据所述相似度llr值的大小判断验证用户与注册用户是否一致。
在本发明实施例中,优选地,所述字符串为数字串;
所述注册模块1提供几段不同的数字串供注册用户读取,所述几段不同的数字串的语音为几段不同的数字串的语音,所述切分是将语音内容的每个数字切成一语音段;
所述验证模块2随机产生一段验证数字串,所述一段验证数字串包含n个数字;
所述验证特征模块4获取待验证用户读的一段验证数字串语音内容,并对一段验证数
字串语音内容进行切分,分别对每个数字提取的特征,并将提取的特征依次串起来获
取验证特征向量v,v=[v1,v2,...,vn],vi为所述一段验证数字串的第i个数字的特征;
改良模块5,用于对验证特征向量v进行加权获取改良验证特征向量v’,v’=[c1v1,c2v2,...,cnvn],ci为所述一段验证数字串的第i个数字的特征对应的权值;
注册特征模块,用于根据所述验证模块产生的所述一段验证数字串对应的数字获取注册用户在注册过程中对应的特征,并依次即将所述一段验证数字串对应的特征串起来获得注册特征向量u,u=[u1,u2,..,un],其中,ui为所述一段验证数字串的第i个数字对应的注册特征,u1为所述一段验证数字串的第1个数字对应的注册特征,u2为所述一段验证数字串的第2个数字对应的注册特征,un为所述一段验证数字串的第n个数字对应的注册特征。
改良模块5中的ci为所述一段验证数字串的第i个数字的特征对应的权值;误识率为f的情况下,所述一段验证数字串的第i个数字单独用于声纹识别的识别率r作为所述一段验证数字串的第i个数字的验证特征对应的权值,所述一段验证数字串的第i个数字为数字“x”,改良模块中的获取识别率r包括:
获取m个人的数字“x”的语音段,每个人至少包含两段语音,分别提取各语音段的特征向量;
构建一定数量的正负对,两个特征为同一人即正对,两个特征为不同人为负对;
正对是指注册过程输出的特征与验证过程输出的特征一致,负对是指注册过程输出的特征与验证过程输出的特征不一致,特征是从语音中提取的,如果配对的两段语音不是同一人的即为负对,为同一人的即为正对;
分别对一定数量的正负对的特征向量进行打分,其中,正对的特征向量打分大于t的数量为tg,正对的特征向量打分小于t的数量为tl;负对的特征向量打分大于t的数量为fg,负对的特征向量小于t的数量为fl,计算误识率为f=fl/(fg+fl);
所述打分是注册特征向量、验证特征向量进行相似度进行计算,当前相似值算法以cosine为例,则相似值越小两者越可能是同一人,反之则越不是一个人,t值实际应用中可根据精度需求设置阈值。
识别率为r=tl/(tg+tl),其中,所述一段验证数字串的第i个数字为数字“x”的ci值即为确定f值时的识别率r值。
进一步的,构建一定数量的正负对,总数量越多结果越稳定可靠,其中一定数量为不低10000。
另外,误识率f值由整体声纹识别的需求决定,即误识率的f值可根据场景需求行设定。
需要说明的是,本发明字符串不限定于数字串,以可以为字符串可以为数字、字母、特殊符号、汉字等。
以上各实施例仅用以说明本发明的技术方案,但应当理解本发明并非局限于上述实施例,通过本发明的启示,本领域技术人员结合公知或现有技术、知识所进行的修改,或者对其中部分或者全部技术特征进行等同替换也应视为在本发明的保护范围内。