CN116741182B - 声纹识别方法和装置 - Google Patents
声纹识别方法和装置 Download PDFInfo
- Publication number
- CN116741182B CN116741182B CN202311025269.0A CN202311025269A CN116741182B CN 116741182 B CN116741182 B CN 116741182B CN 202311025269 A CN202311025269 A CN 202311025269A CN 116741182 B CN116741182 B CN 116741182B
- Authority
- CN
- China
- Prior art keywords
- voice
- voiceprint
- sample
- network layer
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 239000013598 vector Substances 0.000 claims abstract description 205
- 239000012634 fragment Substances 0.000 claims description 65
- 238000000605 extraction Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 17
- 230000002596 correlated effect Effects 0.000 claims description 8
- 230000000875 corresponding effect Effects 0.000 claims description 7
- 230000002123 temporal effect Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 abstract description 21
- 238000011176 pooling Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 13
- 230000009286 beneficial effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000012014 frustrated Lewis pair Substances 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- NGVDGCNFYWLIFO-UHFFFAOYSA-N pyridoxal 5'-phosphate Chemical compound CC1=NC=C(COP(O)(O)=O)C(C=O)=C1O NGVDGCNFYWLIFO-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/06—Decision making techniques; Pattern matching strategies
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/18—Artificial neural networks; Connectionist approaches
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Game Theory and Decision Science (AREA)
- Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Telephonic Communication Services (AREA)
Abstract
本公开提供了一种声纹识别方法和装置,涉及声纹识别技术领域,所述方法包括:将目标语音的声音特征输入预先训练的第一声纹识别网络中的第一网络层;在第一网络层的运行时长小于预设时长,且第一网络层的输出满足预设要求时,通过第一网络层的输出确定目标语音的声纹向量;在运行时长大于或等于预设时长,且第一网络层的输出不满足预设要求时,将第一网络层的输出输入第一声纹识别网络中的第二网络层,并通过第二网络层的输出确定目标语音的声纹向量,其中,第二网络层的复杂度高于第一网络层;根据目标语音的声纹向量识别目标语音的发声者的身份。上述方式在提高响应速度的同时保证了识别结果准确性。
Description
技术领域
本公开涉及声纹识别技术领域,尤其涉及一种声纹识别方法和装置。
背景技术
声纹识别是一种根据语音识别发声者身份的生物识别技术,该技术主要应用于身份核验、权限确定等。例如,公安或者银行需要确认身份证或者银行卡的使用者身份、智能家居根据使用者语音指令对数据进行处理等。
发明内容
相关技术中,一方面,声纹识别网络通常需要获取持续时间较长的语音用于声纹识别,增加了响应时间;另一方面,为了保证识别结果的准确性,声纹识别网络通常复杂度较高,而持续时间较长的语音识别所需时间更长,这进一步降低了响应速度,难以同时满足响应快速和准确率高的要求。
为了解决上述问题,本公开实施例提供了如下技术方案。
根据本公开实施例的一方面,提供一种声纹识别方法,包括:将目标语音的声音特征输入预先训练的第一声纹识别网络中的第一网络层;在所述第一网络层的运行时长小于预设时长,且所述第一网络层的输出满足预设要求时,通过所述第一网络层的输出确定所述目标语音的声纹向量,其中,所述运行时长自所述目标语音的声音特征输入所述第一网络层开始;在所述运行时长大于或等于所述预设时长,且所述第一网络层的输出不满足所述预设要求时,将所述第一网络层的输出输入所述第一声纹识别网络中的第二网络层,并通过所述第二网络层的输出确定所述目标语音的声纹向量,其中,所述第二网络层的复杂度高于所述第一网络层;根据所述目标语音的声纹向量识别所述目标语音的发声者的身份。
在一些实施例中,所述复杂度包括时间复杂度和空间复杂度中的至少一个。
在一些实施例中,所述将目标语音的声音特征输入预先训练的第一声纹识别网络中的第一网络层包括:将所述目标语音的第一语音片段的声音特征输入所述第一网络层,所述第一语音片段的长度小于所述目标语音的总长度。
在一些实施例中,所述将目标语音的声音特征输入预先训练的第一声纹识别网络中的第一网络层还包括:在所述运行时长小于预设时长,且所述第一网络层的输出不满足预设要求时,将所述目标语音的第二语音片段的声音特征输入所述第一网络层,所述第二语音片段包括所述第一语音片段,所述第二语音片段的长度大于所述第一语音片段的长度。
在一些实施例中,所述第二语音片段中除所述第一语音片段外的部分从所述第一语音片段结束后的第1帧开始。
在一些实施例中,所述第二语音片段比所述第一语音片段长1帧。
在一些实施例中,所述第一语音片段从所述目标语音的第1帧开始。
在一些实施例中,所述方法还包括:以所述第一网络层的输出为输入,基于所述第一声纹识别网络中的预测层预测相似度参数,所述预设要求包括所述相似度参数大于预设相似度参数。
在一些实施例中,所述第一声纹识别网络是通过如下步骤训练得到的:获取第一数据集,其中,所述第一数据集包括第一样本语音的至少一个第一样本语音片段、每个第一样本语音片段的相似度参数以及所述第一样本语音的发声者的身份标识,每个第一样本语音片段的相似度参数表示该第一样本语音片段与所述第一样本语音的发声者的声纹的相似度;以所述第一样本语音的每个第一样本语音片段的声音特征作为输入、以所述第一样本语音的发声者的身份标识作为所述身份识别层的输出、以每个第一样本语音片段的相似度参数作为所述预测层的输出,训练所述第一声纹识别网络。
在一些实施例中,所述第一样本语音的总长度为N帧,所述至少一个第一样本语音片段包括所述第一样本语音的前n帧,n为大于或等于1且小于或等于N的多个整数。
在一些实施例中,n为大于或等于1且小于或等于N的每一个整数。
在一些实施例中,所述第一样本语音的前n帧的相似度参数随n的增大而增大。
在一些实施例中,所述第一样本语音的每个第一样本语音片段的相似度参数的获取步骤如下:利用预先训练的至少一个第二声纹识别网络获取每个第一样本语音片段的第一声纹子向量;基于每个第一样本语音片段的第一声纹子向量确定每个第一样本语音片段的相似度参数,包括:若某个第一样本语音片段的发声者与第一声纹库中的第一声纹向量的发声者相同,则该第一样本语音片段的相似度参数与所述第一声纹子向量和所述第一声纹向量的相似度正相关,若某个第一样本语音片段的发声者与所述第一声纹库中的任意一个声纹向量的发声者均不相同,则该第一样本语音片段的相似度参数与所述第一样本声纹向量和第二声纹向量的相似度负相关,其中,所述第二声纹向量是所述第一声纹库中与所述第一声纹子向量相似度最高的声纹向量。
在一些实施例中,若某个第一样本语音片段的发声者与所述第一声纹库中的第一声纹向量的发声者相同,则该第一样本语音片段的相似度参数等于所述第一声纹子向量与所述第一声纹向量的相似度经归一化处理得到的相似度得分;若某个第一样本语音片段的发声者与所述第一声纹库中的任意一个声纹向量的发声者均不相同,则该第一样本语音片段的相似度参数等于1和所述第一声纹子向量与所述第二声纹向量的相似度经归一化处理得到的相似度得分之差。
在一些实施例中,所述方法还包括:利用预先训练的第三声纹识别网络和第二数据集,确定所述第二数据集中的每个发声者的声纹向量,其中,所述第二数据集包括多条第二样本语音和所述多条第二样本语音中每条第二样本语音的发声者的身份标识;其中,所述第一声纹库包括所述第二数据集中的每个发声者的声纹向量。
在一些实施例中,所述第二数据集和所述第一数据集中的部分样本语音的发声者相同且部分样本语音的发声者不同。
在一些实施例中,若所述第二数据集中有某个发声者的至少两条第二样本语音,则该发声者的声纹向量为所述至少两条第二样本语音通过所述第三声纹识别网络输出的声纹向量的平均声纹向量。
在一些实施例中,所述预设相似度参数是通过下述步骤确定的:获取第三数据集,其中,所述第三数据集包括多条第三样本语音中每条第三样本语音的多个第三样本语音片段和每条第三样本语音的发声者的身份标识,所述多条第三样本语音来自多个发声者,所述多条第三样本语音中任意一条第三样本语音的总长度为N帧,所述任意一条第三样本语音的所述多个第三样本语音片段包括所述任意一条第三样本语音的前n帧,n为大于或等于1且小于或等于N的多个整数;利用预先训练的第三声纹识别网络获取每条第三样本语音的每个第三样本语音片段的第三声纹子向量;基于所述第三声纹子向量确定每条第三样本语音的每个第三样本语音片段的相似度参数,其中,所述相似度参数随n的增大而增大,若某个第三样本语音片段的发声者与第二声纹库中的第三声纹向量的发声者相同,则该第三样本语音片段的相似度参数与所述第三声纹子向量和所述第三声纹向量的相似度正相关,若某个第三样本语音片段的发声者与所述第二声纹库中的任意一个声纹向量的发声者均不相同,则该第三样本语音片段的相似度参数与所述第三声纹子向量和第四声纹向量的相似度负相关,其中,所述第四声纹向量是所述第二声纹库中与该第三样本语音片段的所述第三声纹子向量相似度最高的声纹向量;确定所述预设相似度参数,以使得根据每条第三样本语音的第三语音片段的第三声纹子向量通过所述第三声纹识别网络输出的发声者的身份的识别结果的准确率大于或等于预设准确率,且与所述预设准确率最接近,其中,任意一条第三样本语音的第三语音片段是所述任意一条第三样本语音的相似度参数大于或等于所述预设相似度参数且与所述预设相似度参数最接近的第三样本语音片段。
在一些实施例中,所述预设时长根据如下的步骤确定:获取第四数据集,其中,所述第四数据集包括多条第四样本语音中每条第四样本语音的多个第四样本语音片段和每条第四样本语音的发声者的身份标识,所述多条第四样本语音中任意一条第四样本语音的总长度为N帧,所述任意一条第四样本语音的所述多个第四样本语音片段包括所述任意一条第四样本语音的前n帧,n为大于或等于1且小于或等于N的多个整数;利用预先训练的至少一个第二声纹识别网络获取每条第四样本语音的每个第四样本语音片段的第四声纹子向量;利用所述第四声纹子向量识别每条第四样本语音的发声者的身份;确定所述第四数据集中每条第四样本语音能够准确识别发声者的身份所需要的最短的第四样本语音片段对应的截止帧长;根据所述多条第四样本语音的平均截止帧长确定所述预设时长。
在一些实施例中,所述预设时长是所述平均截止帧长的一半。
根据本公开实施例的另一方面,提供一种声纹识别装置,包括:输入层,被配置为将目标语音的声音特征输入第一网络层;所述第一网络层,被配置为在所述第一网络层后的运行时长小于预设时长,且所述第一网络层的输出满足所述预设要求时,将所述第一网络层的输出输入声纹提取层,其中,所述运行时长自所述目标语音的声音特征输入所述第一网络层开始;以及在所述运行时长大于或等于所述预设时长,且所述第一网络层的输出不满足预设要求时,将所述第一网络层的输出输入第二网络层,其中,所述第二网络层的复杂度高于所述第一网络层;所述第二网络层,被配置为根据所述第一网络层的输出确定所述第二网络层的输出,并将所述第二网络层的输出输入所述声纹提取层;所述声纹提取层,被配置为在接收到所述第一网络层的输出时,通过所述第一网络层的输出提取所述目标语音的声纹向量;以及在接收到所述第二网络层的输出时,通过所述第二网络层的输出提取所述目标语音的声纹向量;身份识别层,被配置为根据所述目标语音的声纹向量识别所述目标语音的发声者的身份。
在一些实施例中,所述装置还包括:预测层,被配置为根据所述第一网络层的输出预测相似度参数,所述预设要求包括所述相似度参数大于预设相似度参数。
根据本公开实施例的再一方面,提供一种声纹识别装置,包括用于执行上述任意一个实施例所述的方法的模块。
根据本公开实施例的又一方面,提供一种声纹识别装置,包括:存储器;以及耦接至所述存储器的处理器,被配置为基于存储在所述存储器中的指令,执行时实现上述任意一个实施例所述的方法。
根据本公开实施例的还一方面,提供一种计算机可读存储介质,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述任意一个实施例所述的方法。
根据本公开实施例的还一方面,提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现上述任意一个实施例所述的方法。
本公开实施例中,通过在第一声纹识别网络中设置复杂度不同的网络层,在运行时长小于预设时长,且第一网络层的输出满足预设要求时,利用复杂度较低的第一网络层确定目标语音的声纹向量并根据该声纹向量确定目标语音的发声者身份,可以节省声纹识别的响应时间,提高响应速度。而当第一网络层提取的声纹向量不满足识别结果的准确性要求时,利用复杂度较高、识别结果较准确的第二网络层确定目标语音的声纹向量并根据该声纹向量确定目标语音的发声者身份。上述方式在提高响应速度的同时保证了识别结果准确性,有助于提高用户体验。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开一些实施例的声纹识别方法的流程示意图。
图2是根据本公开一些实施例的第一声纹识别网络的训练步骤的流程示意图。
图3是根据本公开一些实施例的第一声纹识别网络的结构示意图。
图4是根据本公开一些实施例的相似度参数的获取步骤的流程示意图。
图5是根据本公开又一些实施例的声纹识别方法的流程示意图。
图6是根据本公开一些实施例的预设相似度参数的确定步骤的流程示意图。
图7是根据本公开一些实施例的预设时长的确定步骤的流程示意图。
图8是根据本公开一些实施例的第二声纹识别网络的训练步骤的流程示意图。
图9是根据本公开一些实施例的声纹识别装置的结构示意图。
图10是根据本公开又一些实施例的声纹识别装置的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是根据本公开一些实施例的声纹识别方法的流程示意图。
如图1所示,声纹识别方法包括步骤102至步骤108。
在步骤102中,将目标语音的声音特征输入预先训练的第一声纹识别网络中的第一网络层。
第一声纹识别网络中的第一网络层基于目标语音的声音特征提取目标语音的声纹向量。提取得到的目标语音的声纹向量中包括用于进行声纹识别的声纹信息。每个发声者的声纹都有其特有的特征,因此,通过将声纹向量和预先建立的声纹库进行比对即可获知目标语音的发声者是否与预先建立的声纹库中的某一个发声者一致,进而获知该发声者的身份。
在一些实施例中,目标语音的声音特征为预先计算得到的声音特征向量,例如,梅尔倒谱系数(Mel-scale Frequency Cepstral Coefficients MFCC)、感知线性预测(Perceptual Linear Prediction,PLP)等。
目标语音的声音特征可以是目标语音的部分语音片段的声音特征或目标语音的整体的声音特征。
在步骤104中,在第一网络层的运行时长小于预设时长,且第一网络层的输出满足预设要求时,通过第一网络层的输出确定目标语音的声纹向量。第一网络层的运行时长自目标语音的声音特征输入第一网络层开始。
在一些实施例中,第一声纹识别网络中仅有第一网络层被启动用于目标语音的声纹向量的提取,暂不启动其他网络层。如此,可以节省计算资源,提高声纹识别速度。
在一些实施例中,第一声纹识别网络通过语音主动探测(Voice ActivityDetection,VAD)来探测是否有语音输入,当探测到有语音输入时,开始计算运行时间。
在步骤106中,在运行时长大于或等于预设时长,且第一网络层的输出不满足预设要求时,将第一网络层的输出输入第一声纹识别网络中的第二网络层,并通过第二网络层的输出确定目标语音的声纹向量。第二网络层的复杂度高于第一网络层。
在该情况下,已经运行一定时长,但第一网络层的输出仍然不满足预设要求,证明第一网络层的输出无法满足准确识别目标语音的发声者身份的需求,此时利用第二网络层可以保证声纹识别结果的准确性。
在一些实施例中,在运行时长大于或等于预设时长,且第一网络层的输出不满足预设要求时,才启动第二网络层。如此,可以在节省计算资源提高声纹识别速度的同时保证声纹识别结果的准确率。
在一些实施例中,复杂度包括时间复杂度和空间复杂度中的至少一个。
在一些实现方式中,时间复杂度包括网络层的运算次数。在一些实施例中,运算次数包括浮点运算次数(FLOPs,floating point operations)和乘加运算次数(MACs,multiply-accumulate operations)中的一个或多个。每一次加、减、乘或除操作都记为1FLOPs,即1次浮点运算,浮点运算次数越多,则时间复杂度越高。一次乘法操作和一次加法操作记为1 MACs,即1次乘加运算,乘加运算次数越多,则时间复杂度越高。
在另一些实现方式中,空间复杂度包括网络层的层数、网络层中待优化参数的个数中的一个或多个。例如,待优化参数包括权重参数和偏置参数中的至少一种。
在一些实现方式中,第二网络层的层数比第一网络层多。在另一些实现方式中,第二网络层的待优化参数的个数大于第一网络层的待优化参数的个数。在又一些实现方式中,第二网络层的运算次数大于第一网络层的运算次数。在再一些实现方式中,第二网络层的层数比第一网络层多且第二网络层的待优化参数的个数大于第一网络层的待优化参数的个数。在再一些实现方式中,第二网络层的层数比第一网络层多、第二网络层的待优化参数的个数大于第一网络层的待优化参数的个数且第二网络层的运算次数大于第一网络层的运算次数。
在步骤108中,根据目标语音的声纹向量识别目标语音的发声者的身份。
上述实施例中,在第一声纹识别网络中设置复杂度不同的网络层。在运行时长小于预设时长,且第一网络层的输出满足预设要求时,利用复杂度较低的第一网络层确定目标语音的声纹向量并根据该声纹向量确定目标语音的发声者身份,可以节省声纹识别的响应时间,提高响应速度。而在第一网络层提取的声纹向量不满足识别结果的准确性要求时,利用复杂度更高、识别结果更准确的第二网络层确定目标语音的声纹向量并根据该声纹向量确定目标语音的发声者身份。上述方式在提高响应速度的同时保证了识别结果准确性,有助于提高用户体验。
在一些实施例中,声纹识别方法应用于边缘端侧的声纹识别场景。
在一些实施例中,第一声纹识别网络还包括更多网络层,且每个网络层按照复杂度从低到高依次排列。当运行一定时长后前一个网络层的输出不满足预设要求时,则将该网络层的输出输入至下一个网络层,以此类推,直至其中一个网络层确定的声纹向量的声纹识别结果的准确率达到要求。上述方式可以进一步提高声纹识别的准确性。
在一些实施例中,步骤102包括将目标语音的第一语音片段的声音特征输入第一网络层,第一语音片段的长度小于目标语音的总长度。换言之,输入第一网络层的声音特征不是完整的目标语音的声音特征,而是目标语音的一个片段的声音特征。例如,假设目标语音的总长度为60帧,将目标语音的前多帧语音片段(例如前10帧)作为第一语音片段。再例如,将目标语音第3帧至第15帧的语音片段作为第一语音片段。上述方式相比较将完整的目标语音输入可以降低计算量,在未输入完整语音时即可开始声纹识别,节省等待语音输入的时间,有助于进一步降低响应时间,提高响应速度。
在一些实施例中,步骤102还包括在运行时长小于预设时长,且第一网络层的输出不满足预设要求时,将目标语音的第二语音片段的声音特征输入第一网络层,第二语音片段包括第一语音片段,第二语音片段的长度大于第一语音片段的长度。换言之,在利用长度较短的语音片段不能准确识别的情况下,利用长度更长的语音片段进行识别。上述方式有助于在提高响应速度的同时保证识别结果的准确性。
在一些实施例中,第二语音片段中除第一语音片段外的部分从第一语音片段结束后的第1帧开始。换言之,第二语音片段中除第一语音片段外的部分在第一语音片段结束后,且与第一语音片段连续。例如,目标语音的总帧长为60帧,第一语音片段为目标语音的第1帧至第10帧,第二语音片段为目标语音的第1帧至第15帧。第二语音片段除第一语音片段的第1帧到第10帧外还包括第一语音片段之后的第11帧到第15帧。输入的语音片段越长,第一声纹识别网络可以从中提取的声纹特征越多,识别结果越准确。上述方式可以进一步提高声纹识别结果的准确性。
在一些实施例中,第二语音片段比第一语音片段长1帧。换言之,第二语音片段中除第一语音片段外的部分从第一语音片段结束后的第1帧开始,在第1帧结束。例如,目标语音的总帧长为60帧,语音片段1为1至10帧,语音片段2为1至11帧,语音片段3为第1至第12帧。在运行时长小于预设时长时,如果将语音片段1作为第一语音片段,基于语音片段1确定的声纹向量不满足预设要求,但此时的累计运行时长还没有超过预设时长,则将语音片段2的声音特征输入第一网络层,此时语音片段2为第二语音片段。若基于语音片段2确定的声纹向量还不满足要求,且运行时长未达到预设时长,则将语音片段3的声音特征输入第一网络层,此时第一语音片段变为语音片段2,第二语音片段变为语音片段3。以此类推,直至运行时长大于或等于预设时长或者第一网络层的输出满足预设要求。上述方式可以在保证识别结果的准确性的情况下,尽量降低等待语音输入的时间和第一声纹识别网络计算所需的时间,从而有助于提高声纹识别速度。
在一些实施例中,第一语音片段从目标语音的第1帧开始。例如,第一语音片段是目标语音的第1帧至第15帧。上述方式有助于进一步提高声纹识别的速度和准确率。
在一些实施例中,声纹识别方法还包括以第一网络层的输出为输入,基于第一声纹识别网络中的预测层预测相似度参数。预设要求包括相似度参数大于预设相似度参数。相似度参数反映了利用第一网络层确定的声纹向量获取的声纹识别结果的预测的准确率。相似度参数越高,声纹识别结果准确的概率越大。当相似度参数大于预设相似度参数时,认为此时的识别结果是可靠的。上述方式可以在进行声纹识别之前预测识别结果的准确率,有助于同时提高声纹识别的准确率和效率。
为便于理解,下面将结合图2介绍第一声纹识别网络是如何训练的。
图2是根据本公开一些实施例的第一声纹识别网络的训练步骤的流程示意图。
如图2所示,第一声纹识别网络是通过步骤202至步骤204训练得到的。
在一些实施例中,预测层连接第一网络层,利用第一网络层的输出预测当前输入第一网络层的声音特征所对应的目标语音或者目标语音的语音片段的相似度参数。相似度参数是利用第一声纹识别网络提取的目标语音的语音片段的声纹向量与该目标语音的发声者的声纹向量的相似程度,用于表征利用目标语音的语音片段对目标语音进行声纹识别时的预测的准确率。相似度参数越高,表明预测将该语音片段用于声纹识别时声纹识别结果准确的概率越高。
在步骤202中,获取第一数据集。第一数据集包括第一样本语音的至少一个第一样本语音片段、每个第一样本语音片段的相似度参数以及第一样本语音的发声者的身份标识。每个第一样本语音片段的相似度参数表示该第一样本语音片段与第一样本语音的发声者的声纹的相似度。也即,第一数据集中每条第一语音的发声者已知,每条第一样本语音的第一样本语音片段的相似度参数已知,每条第一样本语音的发声者的声纹已知。
在步骤204中,以第一样本语音的每个第一样本语音片段的声音特征作为输入、以第一样本语音的发声者的身份标识作为身份识别层的输出、以每个第一样本语音片段的相似度参数作为预测层的输出,训练第一声纹识别网络。
上述方式下,通过对发声者的身份标识和至少一个语音片段的相似度参数进行联合训练得到的第一声纹识别网络,既可以利用预测层预测目标语音的语音片段的相似度参数,还可以对目标语音进行声纹识别。如此,可以提高声纹识别的效率,使声纹识别结果更准确。
在一些实施例中,将第一数据集中的部分数据作为训练集,部分数据作为验证集以训练第一声纹识别网络。
在一些实施例中,在第一数据集中,第一样本语音的总长度为N帧,至少一个第一样本语音片段包括第一样本语音的前n帧,n为大于或等于1且小于或等于N的多个整数。例如,第一样本语音的总长度为60帧,第一样本语音片段有两个,分别为第一样本语音的前15帧和前16帧。一般情况下,输入第一网络层的语音片段从第1帧开始,通过前n帧语音片段训练第一声纹识别网络可以减少训练数据,提高训练效率。
在一些实施例中,n为大于或等于1且小于或等于N每一个整数。例如,第一样本语音总长度为5帧,则n=1、2、3、4和5。第一样本语音的至少一个语音片段包括第一样本语音的前1帧(即第1帧)、前2帧(即1到2帧)、前3帧、前4帧和前5帧第一样本语音片段。在训练时,使n取遍1至N的每一个整数可以提高训练得到的第一声纹识别网络的声纹识别结果的准确性。
在一些实施例中,第一样本语音的前n帧的相似度参数随n的增大而增大。例如,第一样本语音的前4帧的相似度参数为0.3,前5帧的相似度参数为0.5。第一样本语音的长度越大,包含的发声者的声纹相关的信息越多,则第一样本语音的第一样本语音片段的声纹向量与第一样本语音的发声者的声纹就越吻合。上述方式提高了第一声纹识别网路的输出结果的准确性。
为便于理解,下面结合图3介绍第一声纹识别网络的结构以及基于第一声纹识别网络实现的声纹识别方法的实施例。
图3是根据本公开一些实施例的第一声纹识别网络的结构示意图。
在一些实施例中,如图3所示,第一声纹识别网络包括第一网络层301、第二网络层302、预测层303和身份识别层306。第一网络层301和第二网络层302用于目标语音的声纹向量的计算,预测层303用于预测第一网络层301的输出是否满足预设要求,身份识别层306基于第一网络层301或者第二网络层302的输出识别目标语音的发声者的身份。
在一些实施例中,第一声纹识别网络还包括统计池化层304,统计池化层304用于统计第一网络层301或者第二网络层302基于目标语音的至少一个语音片段输出的声纹向量的平均值和方差。在该情况下,声纹提取层305通过统计池化层304的输出提取目标语音的声纹向量。此时,目标语音的声纹向量是经统计池化层304输出的目标语音的至少一个语音片段输出的声纹向量的平均值和方差构成的声纹向量,通过上述方式可以使第一声纹识别网络的识别结果更准确。
在输入第一语音片段的声音特征后第一网络层301的运行时长小于预设时长时,第一网络层301与统计池化层304相连。当第一网络层301的运行时长大于或等于预设时长时,统计池化层304断开与第一网络层301的连接,并与第二网络层302相连。统计池化层304与哪一个网络层相连,就通过哪一个网络层的输出确定目标语音的语音片段输出的声纹向量的平均值和方差。
在一些实施例中,统计池化层304将统计得到的平均值与方差的向量进行拼接之后输入下一层。
在另一些实施例中,统计池化层304将统计得到的平均值与方差的向量进行加权后相加得到新的统计向量,然后输入下一层。
在一些实施例中,第一声纹识别网络还包括声纹提取层305,声纹提取层305用于提取第一网络层301或者第二网络层302输出的声纹向量。声纹提取层305与统计池化层304相连。在一些实施例中,声纹提取层305可以包括多层。在一些实施例中,声纹提取层305可以是第一声纹识别网络中统计池化层304之后的任意一层神经网络层。声纹提取层305不对统计池化层304输出的统计向量做任何计算处理。
下面根据图3所示的第一声纹识别网络提供一个声纹识别过程的具体实施例。假设目标语音的总长度为5帧。目标语音的语音片段包括第1帧、1至2帧、1至3帧、1至4帧和1至5帧共计5个语音片段。
首先将目标语音的第1帧语音片段(作为第一语音片段)的声音特征输入第一网络层301。
输入后,可能会存在以下三种不同的状态,分别对应三种不同的处理方式。
状态1:在输入后第一网络层301的运行时长小于预设时长,且将第一网络层301的输出输入预测层303后得到的预测相似度参数大于预设相似度参数。此时第一网络层301还与统计池化层304相连,直接将第一网络层301的输出输入统计池化层304进行统计,然后将统计池化层304的输出输入声纹提取层305提取第1帧语音片段的声纹向量作为目标语音的声纹向量,并将声纹提取层305输出的声纹向量输入至身份识别层306以识别目标语音的发声者的身份。
状态2:在输入后第一网络层301的运行时长小于预设时长,但将第一网络层301的输出输入预测层303后得到的预测相似度参数小于或等于预设相似度参数时,则继续将目标语音的1至2帧语音片段(作为第二语音片段)的声音特征输入第一网络层301。第二语音片段包括第一语音片段,且比第一语音片段的长度更长。第二语音片段包含的与发声者的身份相关的信息更多,更可能通过第二语音片段准确识别发声者的身份,此时第一网络层的运行时长还未到达预设时长,无需启动复杂度较高的第二网络层302。上述方式可以降低第一声纹识别网络的计算复杂度,提高响应速度。
在状态2的情况下,目标语音的1至2帧语音片段作为新的第一语音片段重复进行状态判断。直至某一个第一语音片段的满足状态1或者将目标语音的1至5帧完整输入第一声纹识别网络进行识别为止,目标语音的声纹识别结束。
状态3:在输入后第一网络层301的运行时长大于或等于预设时长。说明第一网络层301的计算能力不足以提取目标语音的当前的第一语音片段的声纹特征,需要启动复杂度更高的第二网络层302以保证识别结果的准确性。此时统计池化层304断开与第一网络层301的连接,而与第二网络层302连接。将第一网络层301的输出输入第二网络层302,并通过第二网络层302输入统计池化层304、声纹提取层305和身份识别层306,最后得到当前的第一语音片段利用第二网络层302确定的声纹向量的识别结果。上述方式可以保证识别结果的准确性,且无需直接输入完整的目标语音进行声纹识别,有助于提高识别速度。
为进一步提高第一声纹识别网络的响应速度,无需接收完整的目标语音,即可开始计算,例如,在接收到目标语音3的第1帧时,就开始将第1帧语音作为第一语音片段输入第一声纹识别网络。
为便于理解,下面将结合图4介绍第一数据集中每条第一样本语音的每个第一样本语音片段的相似度参数是如何得到的。
图4是根据本公开一些实施例的相似度参数的获取步骤的流程示意图。
如图4所示,第一样本语音的每个第一样本语音片段的相似度参数的获取步骤包括步骤402和步骤404。
在步骤402中,利用预先训练的至少一个第二声纹识别网络获取每个第一样本语音片段的第一声纹子向量。
在步骤404中,基于每个第一样本语音片段的第一声纹子向量确定每个第一样本语音片段的相似度参数。
若某个第一样本语音片段的发声者与第一声纹库中的第一声纹向量的发声者相同,则该第一样本语音片段的相似度参数与该第一样本语音片段的第一声纹子向量和第一声纹向量的相似度正相关。
在该情况下,发声者相同的两个声纹向量的相似度越高,用于声纹识别时,识别结果相同的概率就越大。根据上述方式设置的相似度参数可以使第一样本语音片段的声纹识别结果和第一声纹库中同一个发声者的声纹向量的识别结果尽量相吻合,从而使训练得到的第一声纹识别网络的识别结果更准确。
若某个第一样本语音片段的发声者与第一声纹库中的任意一个声纹向量的发声者均不相同,则该第一样本语音片段的相似度参数与该第一样本语音片段的第一声纹子向量和第二声纹向量的相似度负相关。第二声纹向量是第一声纹库中与该第一样本语音片段的第一声纹子向量相似度最高的声纹向量。
在该情况下,第一样本语音片段的第一声纹子向量和第二声纹向量的相似度越高,证明越不容易将二者区分开,即越容易将二者识别为由同一发声者发出。根据上述方式设置的相似度参数可以使第一样本语音片段的第一声纹子向量和第一声纹库中其他发声者的声纹向量相区分,从而使训练得到的第一声纹识别网络的识别结果更准确。
在一些实施例中,第二声纹识别网络包括第一网络层、第二网络层、统计池化层和声纹提取层。第一网络层与第二网络层相连接,以第一网络层的输出作为第二网络层的输入,第一网络层和第二网络层用于提取每个第一样本语音片段的第一声纹子向量。统计池化层与第二网络层相连接,以第二网络层的输出作为输入。统计池化层用于统计第一样本语音的多个第一样本语音片段的第一声纹子向量的平均值和方差。声纹提取层用于输出声纹第二样本语音的声纹向量。第二声纹识别网络不包括预测层。
在一些实施例中,若某个第一样本语音片段的发声者与第一声纹库中的第一声纹向量的发声者相同,则该第一样本语音片段的相似度参数等于该第一样本语音片段的第一声纹子向量与第一声纹向量的相似度经归一化处理得到的相似度得分。相似度得分的取值范围为[0,1],例如,相似度得分为0.3。
若某个第一样本语音片段的发声者与第一声纹库中的任意一个声纹向量的发声者均不相同,则该第一样本语音片段的相似度参数等于1和该第一样本语音片段的第一声纹子向量与第二声纹向量的相似度经归一化处理得到的相似度得分之差。例如,相似度得分为0.6,则至少一个语音片段的相似度参数为1-0.6=0.4。
在一些实施例中,第一数据集中第一样本语音的第一样本语音片段包括第一样本语音的前n帧,n为大于或等于1且小于或等于N的多个整数。如图4所示的第一样本语音的每个第一样本语音片段的相似度参数的获取步骤还包括对第一样本语音的第一样本语音片段的相似度参数进行平滑处理,使相似度参数随n的增大而增大。
例如,第一样本语音总长度为6帧,n的取值为1、2、3、4、5和6。第一样本语音的至少一个第一样本语音片段包括第一样本语音的前1帧、前2帧、前3帧、前4帧、前5帧和前6帧(即完整的目标语音)。对上述各个第一样本语音片段的相似度参数进行平滑处理,使得第一样本语音的前1帧的相似度参数最小,前2帧语音片段的相似度参数次小,以此类推,直至使得前6帧的相似度参数最大。
上述方式可以排除特殊数据的影响,提高训练得到的第一声纹识别网络预测的相似度参数的准确性,从而提高声纹识别网络声纹识别结果的准确性。
为便于理解,下面结合图5介绍第一声纹库是如何建立的。
图5是根据本公开又一些实施例的声纹识别方法的流程示意图。
在一些实施例中,如图5所示,声纹识别方法还包括步骤502。步骤502主要用于建立第一声纹库。
在步骤502中,利用预先训练的第三声纹识别网络和第二数据集确定第二数据集中的每个发声者的声纹向量。第二数据集包括多条第二样本语音和多条第二样本语音中每条第二样本语音的发声者的身份标识。第一声纹库包括第二数据集中的每个发声者的声纹向量。在该情况下,基于第一声纹库确定的相似度参数参与第一声纹识别网络的训练,可以使训练得到的第一声纹识别网络的预测层预测的相似度参数更准确,从而减少因相似度参数预测不准确导致的识别效率降低、准确率降低等情况。
在一些实施例中,第二数据集和第一数据集中的部分样本语音的发声者相同且部分样本语音的发声者不同。即用于建立的第一声纹库的第二数据集和用于训练第一声纹识别网络的第一数据集中部分样本语音的发声者相同且部分样本语音的发声者不同。在该情况下,训练得到的第一声纹识别网络中的预测层可以适用于各种情况下的相似度参数预测,即使在第一声纹库中没有目标语音的发声者的声纹向量的情况下也可以准确预测目标语音的语音片段的相似度参数。上述方式可以进一步提高第一声纹识别网络预测的相似度参数的准确性。
在一些实施例中,第三声纹识别网络包括第一网络层、第二网络层和声纹提取层。第一网络层与第二网络层相连接,以第一网络层的输出作为第二网络层的输入,声纹提取层与第二网络层相连接并以第二网络层的输出为输入。第一网络层和第二网络层用于提取第二数据集中每条第二样本语音的声纹向量,声纹提取层用于输出声纹第二样本语音的声纹向量。
在一些实施例中,若第二数据集中有某个发声者的至少两条第二样本语音,则该发声者的声纹向量为至少两条第二样本语音通过第三声纹识别网络输出的声纹向量的平均声纹向量。
上述方式可以提高第一声纹识别网络的预测层的预测结果的准确性,进而提高第一声纹识别网络的识别效率和准确率。
在一些实施例中,第三声纹识别网络还包括统计池化层,统计池化层输入端与第二网络层相连接,以第二网络层的输出为输入,输出端与声纹提取层相连。统计池化层用于获取第二数据集中同一发声者的多条第二样本语音的声纹向量的平均声纹向量。
如上文中提及,在一些实施例中,利用第一声纹识别网络进行声纹识别时,将目标语音的声音特征输入第一网络层后,第一网络层的运行时长小于预设时长,且第一网络层的输出满足预设要求时,通过第一网络层的输出确定目标语音的声纹向量。预设要求包括相似度参数大于预设相似度参数。为便于理解,下面结合图6介绍预设相似度参数是如何确定的。
图6是根据本公开一些实施例的预设相似度参数的确定步骤的流程示意图。
在一些实施例中,如图6所示,预设相似度参数的确定包括步骤602至步骤610。
在步骤602中,获取第三数据集。第三数据集包括多条第三样本语音的中每条第三样本语音的多个第三样本语音片段和每条第三样本语音的发声者的身份标识。多条第三样本语音来自多个发声者。多条第三样本语音中任意一条第三样本语音的总长度为N帧,任意一条第三样本语音的多个第三样本语音片段包括任意一条第三样本语音的前n帧,n为大于或等于1且小于或等于N的多个整数。例如,对于一条长为60帧的第三样本语音(即N=60),第三数据集包括该第三样本语音的前3帧、前6帧和前9帧(即n=3、6或9)。
在一些实施例中,多条第三样本语音与第二数据集中的多条第二样本语音相同。用于确定相似度参数的第二数据集和用于确定预设相似度参数的第三数据集中的样本语音相同可以使确定的预设相似度参数更准确。
在步骤604中,利用预先训练的第三声纹识别网络获取每条第三样本语音的每个第三样本语音片段的第三声纹子向量。
在步骤606中,基于每条第三样本语音的每个第三样本语音片段的第三声纹子向量确定每条第三样本语音的第三样本语音片段的相似度参数。相似度参数随n的增大而增大。
若某个第三样本语音片段的发声者与第二声纹库中的第三声纹向量的发声者相同,则该第三样本语音片段的相似度参数与该第三样本语音片段的第三声纹子向量和第三声纹向量的相似度正相关。
若某个第三样本语音片段的发声者与第二声纹库中的任意一个声纹向量的发声者均不相同,则该第三样本语音片段的相似度参数与该第三样本语音片段的第三声纹子向量和第四声纹向量的相似度负相关。第四声纹向量是第二声纹库中与该第三样本语音片段的第三声纹子向量相似度最高的声纹向量。
在一些实施例中,对第三数据集中的每条第三样本语音的多个第三样本语音片段的相似度参数进行平滑处理,使得相似度参数随n的增大而增大。通过上述方式可以去除无效的相似度参数对于预设相似度参数的干扰,有助于提高确定的预设相似度参数的准确性。
在步骤608中,确定预设相似度参数,以使得根据每条第三样本语音的第三语音片段的第三声纹子向量通过第三声纹识别网络输出的发声者的身份的识别结果的准确率大于或等于预设准确率,且与预设准确率最接近。任意一条第三样本语音的第三语音片段是任意一条第三样本语音的相似度参数大于或等于预设相似度参数且与预设相似度参数最接近的第三样本语音片段。
在一些实现方式中,可以对预设相似度参数进行赋值,并基于该赋值确定每条第三样本语音的第三语音片段。对于任意一条第三样本语音,其第三语音片段是该第三样本语音的相似度参数大于或等于预设相似度参数且与预设相似度参数最接近的第三样本语音片段。然后利用每条第三样本语音的第三语音片段对应的第三声纹子向量通过第三声纹识别网络输出发声者身份的识别结果,并确定准确率。通过上述方式即可得到预设相似度参数与准确率的关系。调整赋值,从而最终可以找到一个赋值,满足如下条件:根据每条第三样本语音的第三语音片段的第三声纹子向量通过第三声纹识别网络输出的发声者的身份的识别结果的准确率大于或等于预设准确率,且与预设准确率最接近。此时的赋值即为最终确定的预设相似度参数。
在一些实现方式中,识别结果的准确率大于或等于预设准确率,且与预设准确率最接近是指识别结果的准确率刚刚到达预设准确率,此时的赋值即为预设相似度参数。例如,预设准确率为80%,预设相似度参数的赋值包括:0.3、0.4、0.5、0.55、0.58和0.6。当赋值0.3时,基于该赋值确定的第三语音片段的第三声纹子向量的识别结果的准确率为70%。当赋值0.4时,准确率为75%。当赋值0.5时,准确率为78%。当赋值0.55时,准确率为79.5%。当赋值0.58时,准确率为80%。当赋值0.6时,准确率为81%。识别结果的准确率大于或等于预设准确率80%,且与预设准确率最接时的赋值为0.58,则预设相似度参数即为0.58。
假设预设相似度参数即为0.58,若有一个第三样本语音包括3个第三样本语音片段分别为第三样本语音片段1、第三样本语音片段2和第三样本语音片段3,相似度参数分别为0.57、0.61、0.7。则该第三样本语音的第三语音片段即为相似度参数大于0.58且与0.58最接近的第三样本语音片段2。
通过上述方式确定的预设相似度参数有助于在保证第一声纹识别网络的声纹识别结果的准确性的同时提高响应速度。
在一些实施例中,第二声纹库的建立步骤包括利用预先训练的第四声纹识别网络和第五数据集,确定第五数据集中每个发声者的声纹向量,第五数据集包括多条第五样本语音和每条第五样本语音的发声者的身份标识。第二声纹库包括第五数据集中的每个发声者的声纹向量。
第二声纹库和第一声纹库的建立过程类似,均是采用预先训练的声纹识别网络对样本语音的声纹向量进行提取而得到的。区别在于第一声纹库和第二声纹库基于两个不同的数据集建立。第一声纹库用于获取第一数据集中每条语音的至少一个语音片段的相似度参数,第二声纹库用于确定预设准确率参数。
在一些实施例中,第三声纹识别网络和第四声纹识别网络是同一个。上述方式可以省去第四声纹识别网络的训练过程,提高第二声纹库的建立效率。
在利用第一声纹识别网络进行声纹识别时,将目标语音的声音特征输入第一网络层后,在运行时长大于或等于预设时长且第一网络层的输出不满足预设要求时,需要启动比第一网络层复杂度高的第二网络层。为便于理解,下面结合图7介绍预设时长是如何确定的。
图7是根据本公开一些实施例的预设时长的确定步骤的流程示意图。
在一些实施例中,如图7所示,预设时长的确定步骤包括步骤702至步骤710。
在步骤702中,获取第四数据集。第四数据集包括多条第四样本语音中每条第四样本语音的多个第四样本语音片段和每条第四样本语音的发声者的身份标识。多条第四样本语音中任意一条第四样本语音的总长度为N帧,任意一条第四样本语音的多个第四样本语音片段包括任意一条第四样本语音的前n帧,n为大于或等于1且小于或等于N的多个整数。
在步骤704中,利用预先训练的至少一个第二声纹识别网络获取每条第四样本语音的每个第四样本语音片段的第四声纹子向量。
在一些实施例中,至少一个第二声纹识别网络包括多个第二声纹识别网络。利用每个第二声纹识别网络分别输出第四样本语音的第四样本语音片段的第四声纹子向量,以得到多个第四声纹子向量。并计算多个第四声纹子向量的平均向量。在后续步骤中基于该平均向量识别每条第四样本语音的发声者的身份。
在步骤706中,利用每条第四样本语音的每个第四样本语音片段的第四声纹子向量识别每条第四样本语音的发声者的身份。
在步骤708中,确定第四数据集中每条第四样本语音能够准确识别发声者的身份标识所需要的最短的第四样本语音片段对应的截止帧长。
例如,第四数据集中有3条第四样本语音。第四样本语音1的第四样本语音片段包括第四样本语音1的1至2帧、1至4帧、1至6帧、1至8帧和1至10帧。将这些语音片段的第四声纹子向量用于发声者的身份的识别时,够准确识别发声者的身份所需要的最短的第四样本语音片段为第四样本语音1的1-6帧。则第四样本语音1的截止帧长为6帧。
第四样本语音2的第四样本语音片段包括第四样本语音2的1至8帧、1至9帧和1至10帧。第四样本语音2的截止帧长为9帧。
第四样本语音3的第四样本语音片段包括第四样本语音3的1至5帧、1至7帧和1至12帧。第四样本语音3的截止帧长为12帧。
在步骤710中,根据多条第四样本语音的平均截止帧长确定预设时长。
例如,第四样本语音1的截止帧长为6帧,第四样本语音2的截止帧长为9帧,第四样本语音3的截止帧长为12帧。多条第四样本语音的平均截止帧长为9帧。
根据上述方式确定的预设时长可以减小第一声纹识别网络的响应时长,提高响应速度,有助于提高用户体验。
在一些实施例中,n为大于或等于1且小于或等于N的每一个整数。上述方式确定的预设时长更准确,从而使第一声纹识别网络的声纹识别结果更准确。
在一些实现方式中,预设时长是平均截止帧长的一半。根据上述方式确定的预设时长更准确,可以在提高响应速度的同时保证识别结果准确性。
为便于理解,下面将结合图8介绍第二声纹识别网络是如何训练的。
图8是根据本公开一些实施例的第二声纹识别网络的训练步骤的流程示意图。
在一些实施例中,如图8所示,上文中的至少一个第二声纹识别网络包括K个第二声纹识别网络,K为大于或等于2的整数,K个第二声纹识别网络的训练步骤包括步骤802至步骤806。
在步骤802中,将第一数据集平均划分为K个第一数据子集。
在步骤804中,取K个第一数据子集中的一个第一数据子集作为验证集,其余作为训练集,以发声者的身份标识为训练目标训练得到一个第二声纹识别网络。
在步骤806中,重复步骤804的训练以获取K个第二声纹识别网络。K个第二声纹识别网络中的每个第二声纹识别网络的验证集均不相同。
在一些实现方式中,第二声纹识别网络以交叉熵作为损失函数进行训练。在一些实现方式中,K=5。
在利用如图8所示的步骤训练的K个第二声纹识别网络获取每条语音的至少一个语音片段的相似度参数时,如图4所示的步骤402利用预先训练的至少一个第二声纹识别网络获取每个第一样本语音片段的第一声纹子向量包括:针对某个第一数据子集,利用第一数据集中除该第一数据子集外的其他数据作为训练集训练得到的第二声纹识别网络获取该第一数据子集中的每条第一样本语音的至少一个第一样本语音片段的第一声纹子向量。对K个第一数据子集中的每个第一数据子集重复上述步骤,以获取第一数据中每条第一样本语音的至少一个第一样本语音片段的第一声纹子向量。
在利用如图8所示的步骤训练的K个第二声纹识别网络确定预设时长时,如图7所示的步骤704利用预先训练的至少一个第二声纹识别网络获取每条第四样本语音的第四样本语音片段的第四声纹子向量包括:利用K个第二声纹识别网络分别获取第四数据集中每个第四样本语音的第四样本语音片段的K个第四声纹子向量,并求这K个第四声纹子向量的平均向量。每条第四样本语音的每个第四样本语音片段均对应有一个平均向量。利用平均向量通过K个第二声纹识别网络进行声纹识别,可以得到K个声纹识别结果。对于每条第四样本语音的每个第四样本语音片段均可以获取K个声纹识别结果。在后续步骤706和710中根据每条第四样本语音的每个第四样本语音片段的K个声纹识别结果确定第四数据集中每条第四样本语音能够准确识别发声者的身份所需要的最短的第四语音片段对应的截止帧长,并根据截止帧长确定预设时长。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
除上述方法,本公开还提供一种声纹识别装置,包括:输入层、第一网络层、第二网络层、声纹提取层和身份识别层。
输入层被配置为将目标语音的声音特征输入第一网络层。
第一网络层被配置为在第一网络层的运行时长小于预设时长,且第一网络层的输出满足预设要求时,将第一网络层的输出输入声纹提取层,第一网络层的运行时长自目标语音的声音特征输入第一网络层开始;以及在运行时长大于或等于预设时长,且第一网络层的输出不满足预设要求时,将第一网络层的输出输入第二网络层。第二网络层的复杂度高于第一网络层。
第二网络层被配置为根据第一网络层的输出确定第二网络层的输出,并将第二网络层的输出输入声纹提取层。
声纹提取层被配置为在接收到第一网络层的输出时,通过第一网络层的输出提取目标语音的声纹向量;以及在接收到第二网络层的输出时,通过第二网络层的输出提取目标语音的声纹向量。
身份识别层被配置为根据目标语音的声纹向量识别目标语音的发声者的身份。
上述声纹识别网络在用于声纹识别时,既可以提高响应速度又可以保证识别结果的准确性。
在一些实施例中,声纹识别装置还包括预测层。预测层被配置为根据第一网络层的输出预测相似度参数。预设要求包括相似度参数大于预设相似度参数。基于预测层预测相似度参数有助于提高响应速度并保证声纹识别结果的准确性。
除上述方法和网络外,本公开还提供一种声纹识别装置,包括用于执行上述任意一个实施例的方法的模块。下面将结合图9进行介绍。
图9是根据本公开一些实施例的声纹识别装置的结构示意图。
在一些实施例中,如图9所示,声纹识别装置包括输入模块901、输出模块902、确定模块903以及识别模块904。
输入模块901被配置为将目标语音的声音特征输入预先训练的第一声纹识别网络中的第一网络层。
输出模块902被配置为在第一网络层的运行时长小于预设时长,且第一网络层的输出满足预设要求时,通过第一网络层的输出确定目标语音的声纹向量。第一网络层的运行时长自目标语音的声音特征输入第一网络层开始。
确定模块903被配置为在运行时长大于或等于预设时长,且第一网络层的输出不满足预设要求时,将第一网络层的输出输入第一声纹识别网络中的第二网络层,并通过第二网络层的输出确定目标语音的声纹向量。第二网络层的复杂度高于第一网络层。
识别模块904被配置为根据目标语音的声纹向量识别目标语音的发声者的身份。
应理解,上述声纹识别装置还可以包括其他模块以执行上述任意一个实施例的声纹识别方法。
图10是根据本公开又一些实施例的声纹识别装置的结构示意图。
如图10所示,声纹识别装置1000包括存储器1001以及耦接至该存储器1001的处理器1002,处理器1002被配置为基于存储在存储器1001中的指令,执行前述任意一个实施例的方法。
存储器1001例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如可以存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
声纹识别装置1000还可以包括输入输出接口1003、网络接口1004、存储接口1005等。输入输出接口1003、网络接口1004、存储接口1005之间、以及存储器1001与处理器1002之间例如可以通过总线1006连接。输入输出接口1003为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口1004为各种联网设备提供连接接口。存储接口1005为SD卡、U盘等外置存储设备提供连接接口。
本公开实施例还提供了一种计算机可读存储介质,包括计算机程序指令,该计算机程序指令被处理器执行时实现上述任意一个实施例的方法。
本公开实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任意一个实施例的方法。
至此,已经详细描述了本公开的各实施例。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解,可由计算机程序指令实现流程图中一个流程或多个流程和/或方框图中一个方框或多个方框中指定的功能。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。本公开的范围由所附权利要求来限定。
Claims (25)
1.一种声纹识别方法,其特征在于,包括:
将目标语音的声音特征输入预先训练的第一声纹识别网络中的第一网络层;
在所述第一网络层的运行时长小于预设时长,且所述第一网络层的输出满足预设要求时,通过所述第一网络层的输出确定所述目标语音的声纹向量,其中,所述运行时长自所述目标语音的声音特征输入所述第一网络层开始;
在所述运行时长大于或等于所述预设时长,且所述第一网络层的输出不满足所述预设要求时,将所述第一网络层的输出输入所述第一声纹识别网络中的第二网络层,并通过所述第二网络层的输出确定所述目标语音的声纹向量,其中,所述第二网络层的复杂度高于所述第一网络层;
根据所述目标语音的声纹向量识别所述目标语音的发声者的身份。
2.根据权利要求1所述的方法,其特征在于,所述复杂度包括时间复杂度和空间复杂度中的至少一个。
3.根据权利要求1所述的方法,其特征在于,所述将目标语音的声音特征输入预先训练的第一声纹识别网络中的第一网络层包括:
将所述目标语音的第一语音片段的声音特征输入所述第一网络层,所述第一语音片段的长度小于所述目标语音的总长度。
4.根据权利要求3所述的方法,其特征在于,所述将目标语音的声音特征输入预先训练的第一声纹识别网络中的第一网络层还包括:
在所述运行时长小于预设时长,且所述第一网络层的输出不满足预设要求时,将所述目标语音的第二语音片段的声音特征输入所述第一网络层,所述第二语音片段包括所述第一语音片段,所述第二语音片段的长度大于所述第一语音片段的长度。
5.根据权利要求4所述的方法,其特征在于,所述第二语音片段中除所述第一语音片段外的部分从所述第一语音片段结束后的第1帧开始。
6.根据权利要求5所述的方法,其特征在于,所述第二语音片段比所述第一语音片段长1帧。
7.根据权利要求3-6任意一项所述的方法,其特征在于,所述第一语音片段从所述目标语音的第1帧开始。
8.根据权利要求1所述的方法,其特征在于,还包括:
以所述第一网络层的输出为输入,基于所述第一声纹识别网络中的预测层预测相似度参数,所述预设要求包括所述相似度参数大于预设相似度参数。
9.根据权利要求8所述的方法,其特征在于,所述第一声纹识别网络是通过如下步骤训练得到的:
获取第一数据集,其中,所述第一数据集包括第一样本语音的至少一个第一样本语音片段、每个第一样本语音片段的相似度参数以及所述第一样本语音的发声者的身份标识,每个第一样本语音片段的相似度参数表示该第一样本语音片段与所述第一样本语音的发声者的声纹的相似度;
以所述第一样本语音的每个第一样本语音片段的声音特征作为输入、以所述第一样本语音的发声者的身份标识作为所述身份识别层的输出、以每个第一样本语音片段的相似度参数作为所述预测层的输出,训练所述第一声纹识别网络。
10.根据权利要求9所述的方法,其特征在于,所述第一样本语音的总长度为N帧,所述至少一个第一样本语音片段包括所述第一样本语音的前n帧,n为大于或等于1且小于或等于N的多个整数。
11.根据权利要求10所述的方法,其特征在于,n为大于或等于1且小于或等于N的每一个整数。
12.根据权利要求10或11所述的方法,其特征在于,所述第一样本语音的前n帧的相似度参数随n的增大而增大。
13.根据权利要求9所述的方法,其特征在于,所述第一样本语音的每个第一样本语音片段的相似度参数的获取步骤如下:
利用预先训练的至少一个第二声纹识别网络获取每个第一样本语音片段的第一声纹子向量;
基于每个第一样本语音片段的第一声纹子向量确定每个第一样本语音片段的相似度参数,包括:
若某个第一样本语音片段的发声者与第一声纹库中的第一声纹向量的发声者相同,则该第一样本语音片段的相似度参数与所述第一声纹子向量和所述第一声纹向量的相似度正相关,
若某个第一样本语音片段的发声者与所述第一声纹库中的任意一个声纹向量的发声者均不相同,则该第一样本语音片段的相似度参数与所述第一声纹子向量和第二声纹向量的相似度负相关,其中,所述第二声纹向量是所述第一声纹库中与所述第一声纹子向量相似度最高的声纹向量。
14.根据权利要求13所述的方法,其特征在于:
若某个第一样本语音片段的发声者与所述第一声纹库中的第一声纹向量的发声者相同,则该第一样本语音片段的相似度参数等于所述第一声纹子向量与所述第一声纹向量的相似度经归一化处理得到的相似度得分;
若某个第一样本语音片段的发声者与所述第一声纹库中的任意一个声纹向量的发声者均不相同,则该第一样本语音片段的相似度参数等于1和所述第一声纹子向量与所述第二声纹向量的相似度经归一化处理得到的相似度得分之差。
15.根据权利要求13所述的方法,其特征在于,还包括:
利用预先训练的第三声纹识别网络和第二数据集,确定所述第二数据集中的每个发声者的声纹向量,其中,所述第二数据集包括多条第二样本语音和所述多条第二样本语音中每条第二样本语音的发声者的身份标识;
其中,所述第一声纹库包括所述第二数据集中的每个发声者的声纹向量。
16.根据权利要求15所述的方法,其特征在于,所述第二数据集和所述第一数据集中的部分样本语音的发声者相同且部分样本语音的发声者不同。
17.根据权利要求15所述的方法,其特征在于,若所述第二数据集中有某个发声者的至少两条第二样本语音,则该发声者的声纹向量为所述至少两条第二样本语音通过所述第三声纹识别网络输出的声纹向量的平均声纹向量。
18.根据权利要求8所述的方法,其特征在于,所述预设相似度参数是通过下述步骤确定的:
获取第三数据集,其中,所述第三数据集包括多条第三样本语音中每条第三样本语音的多个第三样本语音片段和每条第三样本语音的发声者的身份标识,所述多条第三样本语音来自多个发声者,所述多条第三样本语音中任意一条第三样本语音的总长度为N帧,所述任意一条第三样本语音的多个第三样本语音片段包括所述任意一条第三样本语音的前n帧,n为大于或等于1且小于或等于N的多个整数;
利用预先训练的第三声纹识别网络获取每条第三样本语音的每个第三样本语音片段的第三声纹子向量;
基于所述第三声纹子向量确定每条第三样本语音的每个第三样本语音片段的相似度参数,其中,所述相似度参数随n的增大而增大,
若某个第三样本语音片段的发声者与第二声纹库中的第三声纹向量的发声者相同,则该第三样本语音片段的相似度参数与所述第三声纹子向量和所述第三声纹向量的相似度正相关,
若某个第三样本语音片段的发声者与所述第二声纹库中的任意一个声纹向量的发声者均不相同,则该第三样本语音片段的相似度参数与所述第三声纹子向量和第四声纹向量的相似度负相关,其中,所述第四声纹向量是所述第二声纹库中与该第三样本语音片段的所述第三声纹子向量相似度最高的声纹向量;
确定所述预设相似度参数,以使得根据每条第三样本语音的第三语音片段的第三声纹子向量通过所述第三声纹识别网络输出的发声者的身份的识别结果的准确率大于或等于预设准确率,且与所述预设准确率最接近,其中,任意一条第三样本语音的第三语音片段是所述任意一条第三样本语音的相似度参数大于或等于所述预设相似度参数且与所述预设相似度参数最接近的第三样本语音片段。
19.根据权利要求1所述的方法,其特征在于,所述预设时长根据如下的步骤确定:
获取第四数据集,其中,所述第四数据集包括多条第四样本语音中每条第四样本语音的多个第四样本语音片段和每条第四样本语音的发声者的身份标识,所述多条第四样本语音中任意一条第四样本语音的总长度为N帧,所述任意一条第四样本语音的所述多个第四样本语音片段包括所述任意一条第四样本语音的前n帧,n为大于或等于1且小于或等于N的多个整数;
利用预先训练的至少一个第二声纹识别网络获取每条第四样本语音的每个第四样本语音片段的第四声纹子向量;
利用所述第四声纹子向量识别每条第四样本语音的发声者的身份;
确定所述第四数据集中每条第四样本语音能够准确识别发声者的身份所需要的最短的第四样本语音片段对应的截止帧长;
根据所述多条第四样本语音的平均截止帧长确定所述预设时长。
20.根据权利要求19所述的方法,其特征在于,所述预设时长是所述平均截止帧长的一半。
21.一种声纹识别装置,其特征在于,包括:
输入层,被配置为将目标语音的声音特征输入第一网络层;
所述第一网络层,被配置为在所述第一网络层的运行时长小于预设时长,且所述第一网络层的输出满足预设要求时,将所述第一网络层的输出输入声纹提取层,其中,所述运行时长自所述目标语音的声音特征输入所述第一网络层开始;以及在所述运行时长大于或等于所述预设时长,且所述第一网络层的输出不满足预设要求时,将所述第一网络层的输出输入第二网络层,其中,所述第二网络层的复杂度高于所述第一网络层;
所述第二网络层,被配置为根据所述第一网络层的输出确定所述第二网络层的输出,并将所述第二网络层的输出输入所述声纹提取层;
所述声纹提取层,被配置为在接收到所述第一网络层的输出时,通过所述第一网络层的输出提取所述目标语音的声纹向量;以及在接收到所述第二网络层的输出时,通过所述第二网络层的输出提取所述目标语音的声纹向量;
身份识别层,被配置为根据所述目标语音的声纹向量识别所述目标语音的发声者的身份。
22.根据权利要求21所述的装置,其特征在于,还包括:
预测层,被配置为根据所述第一网络层的输出预测相似度参数,所述预设要求包括所述相似度参数大于预设相似度参数。
23.一种声纹识别装置,其特征在于,包括用于执行权利要求1-20任意一项所述的方法的模块。
24.一种声纹识别装置,其特征在于,包括:
存储器;以及
耦接至所述存储器的处理器,被配置为基于存储在所述存储器中的指令,执行权利要求1-20任意一项所述的方法。
25.一种计算机可读存储介质,其特征在于,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时实现权利要求1-20任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311025269.0A CN116741182B (zh) | 2023-08-15 | 2023-08-15 | 声纹识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311025269.0A CN116741182B (zh) | 2023-08-15 | 2023-08-15 | 声纹识别方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116741182A CN116741182A (zh) | 2023-09-12 |
CN116741182B true CN116741182B (zh) | 2023-10-20 |
Family
ID=87906477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311025269.0A Active CN116741182B (zh) | 2023-08-15 | 2023-08-15 | 声纹识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116741182B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020238415A1 (zh) * | 2019-05-29 | 2020-12-03 | 深圳前海微众银行股份有限公司 | 一种监控模型训练的方法及装置 |
CN112990461A (zh) * | 2019-12-16 | 2021-06-18 | 杭州海康威视数字技术股份有限公司 | 构建神经网络模型的方法、装置、计算机设备和存储介质 |
CN113223536A (zh) * | 2020-01-19 | 2021-08-06 | Tcl集团股份有限公司 | 声纹识别方法、装置及终端设备 |
CN113870862A (zh) * | 2021-09-28 | 2021-12-31 | 马上消费金融股份有限公司 | 声纹识别模型训练方法、声纹识别方法及相关设备 |
-
2023
- 2023-08-15 CN CN202311025269.0A patent/CN116741182B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020238415A1 (zh) * | 2019-05-29 | 2020-12-03 | 深圳前海微众银行股份有限公司 | 一种监控模型训练的方法及装置 |
CN112990461A (zh) * | 2019-12-16 | 2021-06-18 | 杭州海康威视数字技术股份有限公司 | 构建神经网络模型的方法、装置、计算机设备和存储介质 |
CN113223536A (zh) * | 2020-01-19 | 2021-08-06 | Tcl集团股份有限公司 | 声纹识别方法、装置及终端设备 |
CN113870862A (zh) * | 2021-09-28 | 2021-12-31 | 马上消费金融股份有限公司 | 声纹识别模型训练方法、声纹识别方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116741182A (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110718228B (zh) | 语音分离方法、装置、电子设备及计算机可读存储介质 | |
CN111785288B (zh) | 语音增强方法、装置、设备及存储介质 | |
CN105336324A (zh) | 一种语种识别方法及装置 | |
CN110648670B (zh) | 欺诈识别方法、装置、电子设备及计算机可读存储介质 | |
CN106356077B (zh) | 一种笑声检测方法及装置 | |
US11417344B2 (en) | Information processing method, information processing device, and recording medium for determining registered speakers as target speakers in speaker recognition | |
US20210074270A1 (en) | Keyword spotting apparatus, method, and computer-readable recording medium thereof | |
KR20180056281A (ko) | 키워드 인식 장치 및 방법 | |
KR20210050884A (ko) | 화자 인식을 위한 등록 방법 및 장치 | |
US11133022B2 (en) | Method and device for audio recognition using sample audio and a voting matrix | |
CN112397093B (zh) | 一种语音检测方法与装置 | |
US20210264939A1 (en) | Attribute identifying device, attribute identifying method, and program storage medium | |
CN103366737B (zh) | 在自动语音识别中应用声调特征的装置和方法 | |
CN109065026B (zh) | 一种录音控制方法及装置 | |
CN111833884A (zh) | 一种声纹特征提取方法、装置、电子设备及存储介质 | |
Liu et al. | Surrey system for dcase 2022 task 5: Few-shot bioacoustic event detection with segment-level metric learning | |
CN112802498B (zh) | 语音检测方法、装置、计算机设备和存储介质 | |
CN116741182B (zh) | 声纹识别方法和装置 | |
CN113112992B (zh) | 一种语音识别方法、装置、存储介质和服务器 | |
CN111402899A (zh) | 跨信道声纹识别方法及装置 | |
CN112189232A (zh) | 音频处理方法及装置 | |
CN114141255A (zh) | 声纹识别模型的训练方法及装置、声纹识别方法及装置 | |
CN111883109B (zh) | 语音信息处理及验证模型训练方法、装置、设备及介质 | |
KR102396136B1 (ko) | 멀티디바이스 기반 화자분할 성능 향상을 위한 방법 및 시스템 | |
CN114420136A (zh) | 一种声纹识别模型训练的方法、装置以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |