一种语音校验方法和装置转让专利

申请号 : CN201910838255.8

文献号 : CN110675881B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王愈李健张连毅武卫东

申请人 : 北京捷通华声科技股份有限公司

摘要 :

本发明提供了一种语音校验方法和装置,所述方法包括:获取待校验的语音数据;对所述语音数据进行处理,获得所述语音数据的谱参数;根据所述谱参数及预先训练的目标声纹校验模型,确定所述谱参数对应的分值,其中,所述预先训练的目标声纹校验模型通过语音合成模型和声纹校验模型联合训练获得;在所述分值大于预设值的情况下,确定所述待校验的语音数据来自用户的真实语音。通过语音合成模型和声纹校验模型的联合训练得到目标声纹校验模型,对获取的语音数据进行校验,提高了对语音校验的准确性。

权利要求 :

1.一种语音校验方法,其特征在于,所述方法包括:获取待校验的语音数据;

对所述语音数据进行处理,获得所述语音数据的谱参数;

根据所述谱参数及预先训练的目标声纹校验模型,确定所述谱参数对应的分值,其中,所述预先训练的目标声纹校验模型通过语音合成模型和声纹校验模型联合训练获得;

在所述分值大于预设值的情况下,确定所述待校验的语音数据来自用户的真实语音;

所述预先训练的目标声纹校验模型通过语音合成模型和声纹校验模型联合训练获得,包括:获取训练样本中至少两个用户的用户编号、与所述用户编号相对应的文本数据及与所述文本数据相对应的真实语音数据;

根据所述用户编号和所述文本数据,利用预先训练的目标语音合成模型生成所述文本数据对应的仿真语音数据的谱参数;

根据所述真实语音数据的谱参数、所述仿真语音数据的谱参数及复合损失函数,对所述声纹校验模型训练,获得所述预先训练的目标声纹校验模型。

2.根据权利要求1所述的方法,其特征在于,所述对所述语音数据进行处理,获得所述语音数据的谱参数,具体包括:对所述语音数据进行特征提取,获得所述语音数据的梅尔谱参数。

3.根据权利要求1所述的方法,其特征在于,所述预先训练的目标语音合成模型采用如下步骤获得:对至少两个用户的所述文本数据进行处理,获得文本语境信息;

根据所述用户编号、所述文本语境信息与所述文本数据相对应的真实语音数据,对语音合成模型进行训练,获得一个预先训练的目标语音合成模型。

4.根据权利要求1所述的方法,其特征在于,所述根据所述真实语音数据的谱参数、所述仿真语音数据的谱参数及复合损失函数,对所述声纹校验模型训练,获得所述目标声纹校验模型,包括:根据所述仿真语音数据的谱参数获取第一特征向量,所述第一特征向量为第一声纹;

计算所述第一声纹的分值;

根据所述真实语音数据的谱参数获取第二特征向量,所述第二特征向量为第二声纹;

计算所述第二声纹的分值;

根据所述第一声纹的分值、所述第二声纹的分值及所述复合损失函数,计算所述声纹校验模型的损失值;

通过不断迭代,当所述损失值最小时,确定所述声纹校验模型为所述目标声纹校验模型。

5.一种语音校验装置,其特征在于,所述装置包括:获取模块,用于获取待校验的语音数据;

处理模块,用于对所述语音数据进行处理,获得所述语音数据的谱参数;

确定模块,用于根据所述谱参数及预先训练的目标声纹校验模型,确定所述谱参数对应的分值,其中,所述预先训练的目标声纹校验模型通过语音合成模型和声纹校验模型联合训练获得;

判断模块,用于在所述分值大于预设值的情况下,确定所述待校验的语音数据来自用户的真实声音;

所述确定模块,还用于:

获取训练样本中至少两个用户的用户编号、与所述用户编号相对应的文本数据及与所述文本数据相对应的真实语音数据;

根据所述用户编号和所述文本数据,利用预先训练的目标语音合成模型生成所述文本数据对应的仿真语音数据的谱参数;

根据所述真实语音数据的谱参数、所述仿真语音数据的谱参数及复合损失函数,对所述声纹校验模型训练,获得所述目标声纹校验模型。

6.根据权利要求5所述的装置,其特征在于,所述处理模块用于:对所述语音数据进行特征提取,获得所述语音数据的梅尔谱参数。

7.根据权利要求5所述的装置,其特征在于,所述确定模块,还用于:对至少两个用户的所述文本数据进行处理,获得文本语境信息;

根据所述用户编号、所述文本语境信息与所述文本数据相对应的真实语音数据,对语音合成模型进行训练,获得一个目标语音合成模型。

8.根据权利要求5所述的装置,其特征在于,所述确定模块,还用于:根据所述仿真语音数据的谱参数获取第一特征向量,所述第一特征向量为第一声纹;

计算所述第一声纹的分值;

根据所述真实语音数据的谱参数获取第二特征向量,所述第二特征向量为第二声纹;

计算所述第二声纹的分值;

根据所述第一声纹的分值、所述第二声纹的分值及所述复合损失函数,计算所述声纹校验模型的损失值;

通过不断迭代,当所述损失值最小时,确定所述声纹校验模型为所述目标声纹校验模型。

说明书 :

一种语音校验方法和装置

技术领域

[0001] 本发明涉及信息处理技术领域,特别是涉及一种语音校验方法和装置。

背景技术

[0002] 目前,随着科学技术的不断发展,语音合成技术也得到的很大的提高,通过语音合成技术可以合成与用户的真实声音很相似的语音,会对一些需要语音识别的场合产生影响,例如一些移动终端的语音安全登陆。
[0003] 现有技术中,通常采用的校验方式是:将采集的语音数据与数据库中预存标准语音数据按照一定的语音算法进行相似度比对,得到用户的语音数据与标准语音数据的相似度,通过判断相似度的大小来判断采集的语音数据是来自用户的真实声音还是来自其他的语音数据,例如仿真数据或者他人模仿。
[0004] 但是利用上述的方式,仍然对一些语音数据无法进行准确校验。

发明内容

[0005] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种语音校验方法和装置。
[0006] 依据本发明的第一方面,提供了一种语音校验方法,该方法包括:
[0007] 获取待校验的语音数据;
[0008] 对所述语音数据进行处理,获得所述语音数据的谱参数;
[0009] 根据所述谱参数及预先训练的目标声纹校验模型,确定所述谱参数对应的分值,其中,所述预先训练的目标声纹校验模型通过语音合成模型和声纹校验模型联合训练获得;
[0010] 在所述分值大于预设值的情况下,确定所述待校验的语音数据来自用户的真实语音。
[0011] 可选的,所述对所述语音数据进行处理,获得所述语音数据的谱参数,具体包括:
[0012] 对所述语音数据进行特征提取,获得所述语音数据的梅尔谱参数。
[0013] 可选的,所述预先训练的目标声纹校验模型通过语音合成模型和声纹校验模型联合训练获得,具体包括:
[0014] 获取训练样本中至少两个用户的用户编号、与所述用户编号相对应的文本数据及与所述文本数据相对应的真实语音数据;
[0015] 根据所述用户编号和所述文本数据,利用预先训练的目标语音合成模型生成所述文本数据对应的仿真语音数据的谱参数;
[0016] 根据所述真实语音数据的谱参数、所述仿真语音数据的谱参数及复合损失函数,对所述声纹校验模型训练,获得所述目标声纹校验模型。
[0017] 可选的,所述预先训练的目标语音合成模型采用如下步骤获得:
[0018] 对至少两个用户的所述文本数据进行处理,获得文本语境信息;
[0019] 根据所述用户编号、所述文本语境信息与所述文本数据相对应的真实语音数据,对语音合成模型进行训练,获得一个目标语音合成模型。
[0020] 可选的,所述根据所述真实语音数据的谱参数、所述仿真语音数据的谱参数及复合损失函数,对所述声纹校验模型训练,获得所述目标声纹校验模型,包括:
[0021] 根据所述仿真语音数据的谱参数获取第一特征向量,所述第一特征向量为第一声纹;
[0022] 计算所述第一声纹的分值;
[0023] 根据所述真实语音数据的谱参数获取第二特征向量,所述第二特征向量为第二声纹;
[0024] 计算所述第二声纹的分值;
[0025] 根据所述第一声纹的分值、所述第二声纹的分值及所述复合损失函数,计算所述声纹校验模型的损失值;
[0026] 通过不断迭代,当所述损失值最小时,确定所述声纹校验模型为所述目标声纹校验模型。
[0027] 依据本发明的第二方面,提供了一种语音校验装置,该装置包括:
[0028] 获取模块,用于获取待校验的语音数据;
[0029] 处理模块,用于对所述语音数据进行处理,获得所述语音数据的谱参数;
[0030] 确定模块,用于根据所述谱参数及预先训练的目标声纹校验模型,确定所述谱参数对应的分值,其中,所述预先训练的目标声纹校验模型通过语音合成模型和声纹校验模型联合训练获得;
[0031] 判断模块,用于在所述分值大于预设值的情况下,确定所述待校验的语音数据来自用户的真实声音。
[0032] 可选的,所述处理模块用于:
[0033] 对所述语音数据进行特征提取,获得所述语音数据的梅尔谱参数。
[0034] 可选的,所述确定模块,还用于:
[0035] 获取训练样本中至少两个用户的用户编号、与所述用户编号相对应的文本数据及与所述文本数据相对应的真实语音数据;
[0036] 根据所述用户编号和所述文本数据,利用预先训练的目标语音合成模型生成所述文本数据对应的仿真语音数据的谱参数;
[0037] 根据所述真实语音数据的谱参数、所述仿真语音数据的谱参数及复合损失函数,对所述声纹校验模型训练,获得所述目标声纹校验模型。
[0038] 可选的,所述确定模块,还用于:
[0039] 对至少两个用户的所述文本数据进行处理,获得文本语境信息;
[0040] 根据所述用户编号、所述文本语境信息与所述文本数据相对应的真实语音数据,对语音合成模型进行训练,获得一个目标语音合成模型。
[0041] 可选的,所述确定模块,还用于:
[0042] 根据所述仿真语音数据的谱参数获取第一特征向量,所述第一特征向量为第一声纹;
[0043] 计算所述第一声纹的分值;
[0044] 根据所述真实语音数据的谱参数获取第二特征向量,所述第二特征向量为第二声纹;
[0045] 计算所述第二声纹的分值;
[0046] 根据所述第一声纹的分值、所述第二声纹的分值及所述复合损失函数,计算所述声纹校验模型的损失值;
[0047] 通过不断迭代,当所述损失值最小时,确定所述声纹校验模型为所述目标声纹校验模型。
[0048] 依据本发明的第三方面,提供了一种电子设备,包括:至少一个处理器和存储器;
[0049] 所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的方法。
[0050] 依据本发明的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的方法。
[0051] 本发明实施例提供的一种语音校验方法和装置,采用预先训练的目标声纹校验模型对获取的语音数据进行打分,并对分值进行判断,若分值大于预设值,则确定获取的语音数据是来自用户的真实语音并不是合成的语音数据,其中,目标声纹校验模型是通过语音合成模型和声纹校验模型联合训练获得的,通过语音合成模型和声纹校验模型的联合训练得到目标声纹校验模型,对获取的语音数据进行校验,提高了对语音校验的准确性。
[0052] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

[0053] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0054] 图1为本发明实施例提供的一种语音校验方法的步骤流程图;
[0055] 图2为生成对抗网络模型的概念图;
[0056] 图3为本发明实施例提供的语音合成系统与声纹校验系统联合训练生成对抗网络模型的框架示意图;
[0057] 图4为本发明实施例提供的多说话人语音合成系统原理示意图;
[0058] 图5为本发明实施例提供的端到端声纹校验系统原理示意图;
[0059] 图6是本发明实施例提供的语音校验装置的结构示意图;
[0060] 图7为本发明实施例提供的电子设备的结构示意图。

具体实施方式

[0061] 下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
[0062] 对本发明所涉及的名词进行解释:
[0063] 声纹校验系统:用于身份确认,辨别一段语音是否真的由用户本人说出,对于各种试图以假乱真的攻击如他人模仿、仿真语音生成等,应有足够的辨别力。提高辨别力的前提是接触到尽可能多的攻击样例,通过与用户本人的真实语音对比分析,找到最本质的差异。更准确的说,就是要找到足够多的反例样本,加入到核心统计模型的训练数据中。但在系统研发阶段,并不容易搜集到足够多的真实反例,因此仿真生成反例就成为最便捷高效的方法。
[0064] 语音合成系统:用于从文本生成语音,核心原理是从一个人的一批(录音、相应文稿)样本对中,学习一个语音合成模型,以数学方法描述发音系统的原理和个人特色,发出的语音不但能够表达文本内容,音色本身还能够模拟用户本人的声带特性、口腔特性、口音习惯、音韵习惯等个人特色,达到一定程度的模拟本人。语音合成模型训练的最优化目标是,对于每组样本对,文稿输入语音合成模型生成的语音尽量接近相应原始录音。训练完成后,得益于模型自身一定的集外泛化能力,对于训练集之外任何内容的文稿都能够正常合成,但只能保证听懂,音色仿真度会有折扣。这是因为模型训练的最优化目标只是尽量拟合训练集中的原始录音,发音准确度与音色仿真度混在一体优化,并没有专门的、泛化的追求音色仿真度的最优化目标。
[0065] 文本语境信息:也就是文本语境向量,对一句话中的每个基元,从微观尺度到宏观尺度层次化地汇总其前后相邻的基元、其所在字其相邻字的信息、其所在词其相邻词的信息、其所在短语其相邻短语的信息、以及其在词中、在短语中的位置信息,等等,总共达几十维之多,它们以“且”的逻辑关系联合起来,共同描述一种特定的语境。
[0066] 词嵌入:是自然语言处理(NaturalLanguage Processing,NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。词嵌入的方法包括人工神经网络、对词语同现矩阵降维、概率模型以及单词所在上下文的显式表示等。
[0067] 在底层输入中,使用词嵌入来表示词组的方法极大提升了NLP中语法分析器和文本情感分析等的效果。
[0068] d-vector:DNN(深度神经网络,Deep Neural Networks)训练好后,提取每一帧语音的特征作为DNN输入,从上一个隐藏层提取特征向量,并正则化,然后将其累加起来,得到的向量就被称为d-vector。如果一个人有多条语音,那么所有这些d-vectors做平均,就是这个人的身份特征。
[0069] 此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
[0070] 下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
[0071] 本发明实施例提供一种生成对抗网络(Generative Adversarial Networks, GANs),本质上是一个生成模型(Generative model)和判别模型 (Discriminative mode)互相对抗演练的联合训练框架,如图2所示,其中,在本发明实施例中生成模型也就是语音合成模型,判别模型也就是声纹校验模型。生成模型产出仿真语音数据样本,交给判别模型评判真伪;判别模型接收真实样本或仿真样本两种输入,对每个输入判别真伪。生成模型努力产出尽可能以假乱真的仿真语音数据样本,希望能够骗过判别模型,误判为真;而判别模型努力提高自己去伪存真的能力,将真实样本判别为真,将仿真样本判别为假。
[0072] 具体地:通过对生成模型(G)和判别模型(D)交替训练优化,追求如下最优化目标:
[0073]
[0074] 其中,x为输入判别模型的真实语音数据样本;D(x)为判别模型的输出;
[0075] z为生成模型的输入;G(z)为生成模型的输出;
[0076] p为某种分布函数;
[0077] 公式右侧求和的第一项表征真实语音数据样本的似然度;
[0078] 公式右侧求和的第二项表征仿真语音数据样本的似然度;
[0079] 在训练过程中,不断优化生成模型(G),尽可能地使公式右侧最小化;不断优化判别模型(D),尽可能地使公式右侧最大化。最终,生成模型的仿真能力和判别模型的判别能力都达到最优。
[0080] 从上述语音合成系统(生成模型)和声纹校验系统(判别模型)的原理来看,二者之间就是天然的“矛与盾”的关系,效果优异的语音合成系统能够通过学习本人录音最终生成任意内容的、听上去以假乱真的合成语音,去混淆声纹校验系统的真听;效果优异的声纹校验系统能够明辨合成语音与本人真实发音的丝毫差异,将以假乱真者拒之门外。
[0081] 而生成对抗网络正好能够将这对“矛与盾”放在一起联合优化:将声纹校验系统当做判别模型,联合优化解决了其固有的仿真语音数据的来源问题;将语音合成系统作为生成模型,联合优化解决了其固有的缺少泛化的、专门刻画音色仿真度的优化目标的问题。联合优化最终可以将语音合成系统和声纹校验系统同时训练到最优,即得到本发明实施例中所提供的目标声纹校验模型,通过该目标声纹校验模型对语音数据进行校验,优于各自单独校验的效果,提高了声纹校验模型的准确度。
[0082] 本发明一实施例提供一种语音校验方法,用于对语音数据进行校验,判断语音数据是来自用户的真实语音还是合成语音。本实施例的执行主体为语音校验装置,该装置可以设置在电子设备上,其中,所述电子设备可以是计算机、平板或手机终端等。
[0083] 图1为本发明实施例提供的语音校验方法的流程示意图,如图1所示,该方法包括:
[0084] S101、获取待校验的语音数据;
[0085] 其中,待校验的语音数据可以是来自用户的真实语音数据,也可以是仿真语音数据;
[0086] S102、对所述语音数据进行处理,获得所述语音数据的谱参数;
[0087] 将语音数据进行处理,转换成机器学习模型可以识别的数据,例如,获得语音数据的谱参数。
[0088] S103、根据所述谱参数及预先训练的目标声纹校验模型,确定所述谱参数对应的分值,其中,所述预先训练的目标声纹校验模型通过语音合成模型和声纹校验模型联合训练获得;
[0089] 其中,语音合成模型和声纹校验模型都采用机器学习例如深度学习等算法对样本集中的文本和与文本相对应的语音数据进行训练学习得到的。
[0090] 在本发明实施例中,将处理后的谱参数输入到目标声纹校验模型中,目标声纹校验模型就会给出一个分值,并对该分值进行判断。
[0091] S104、在所述分值大于预设值的情况下,确定所述待校验的语音数据来自用户的真实语音。
[0092] 若分值小于预设值,则判断待校验的语音数据可能是仿真语音数据。
[0093] 本发明实施例提供的语音校验方法,通过采用预先训练的目标声纹校验模型对获取的语音数据进行打分,并对分值进行判断,若分值大于预设值,则确定获取的语音数据是来自用户的真实语音,并不是合成的语音数据,其中,目标声纹校验模型是通过语音合成模型和声纹校验模型联合训练获得的,通过语音合成模型和声纹校验模型的联合训练得到目标声纹校验模型,对获取的语音数据进行校验,提高了对语音校验的准确性。
[0094] 本发明又一实施例对上述实施例提供的方法做进一步补充说明。
[0095] 在上述实施例的基础上,可选地,所述对所述语音数据进行处理,获得所述语音数据的谱参数,具体包括:
[0096] 对所述语音数据进行特征提取,获得所述语音数据的梅尔谱参数。
[0097] 具体地,在对语音数据进行信号处理,得到的语音数据的幅度谱,也可以采用信号处理,得到梅尔Mel谱,本发明实施例中优选的,采用的是梅尔谱参数,具体步骤如下:
[0098] 1、对语音数据进行预加重、分帧和加窗处理;
[0099] 2、对分帧后的每帧信号进行短时傅立叶变换(short-time Fourier transform,STFT),得到短时幅度谱;
[0100] 3、短时幅度谱通过梅尔Mel滤波器组得到梅尔Mel频谱。
[0101] 可选地,所述预先训练的目标声纹校验模型通过语音合成模型和声纹校验模型联合训练获得,具体包括:
[0102] 获取训练样本中至少两个用户的用户编号、与所述用户编号相对应的文本数据及与所述文本数据相对应的真实语音数据;
[0103] 利用预先训练的目标语音合成模型生成所述文本数据对应的仿真语音数据的谱参数;
[0104] 根据所述真实语音数据的谱参数、所述仿真语音数据的谱参数及复合损失函数,对所述声纹校验模型训练,获得所述目标声纹校验模型。
[0105] 在上述实施例的基础上,图3为本发明实施例提供的语音合成系统与声纹校验系统联合训练生成对抗网络模型的框架示意图,如图3所示,其中的语音合成系统,泛指各类内部结构各异的“多说话人”神经网络模型。所谓“多说话人”是指训练时将多位说话人的(录音,文稿)数据集放在一起混合训练,得到单个模型。
[0106] 另外,基于本发明实施例采用的生成对抗网络模型,则还需要加入随机噪声,一是若无其他与具体情境相关的、有意义的输入信号时,则必须要输入一个随机噪声,二是保证输入数据的随机性,并不一定满足某个规律,因此,在这里需要增加一个随机噪声的输入。
[0107] 因此,在语音合成系统中,将说话人编号、从文本数据中解析出文本语境向量及随机噪声输入到目标语音合成模型中,生成文本数据对应的语音数据的谱参数,也就是仿真语音数据的谱参数;
[0108] 将生成的仿真语音数据的谱参数与真实录音的语音数据的谱参数输入对声纹校验系统中,也就是声纹校验模型中,通过增加的复合损失函数,不断对声纹校验模型和语音合成模型中的神经网络进行训练,直到上述所介绍的生成对抗网络得到最优解,即所得到的目标声纹校验模型。
[0109] 可选地,所述预先训练的目标语音合成模型采用如下步骤获得:
[0110] 对至少两个用户的所述文本数据进行处理,获得文本语境信息;
[0111] 根据所述用户编号、所述文本语境信息与所述文本数据相对应的真实语音数据,对语音合成模型进行训练,获得一个目标语音合成模型。
[0112] 图4为本发明实施例提供的多说话人语音合成系统的原理示意图,如图 4所示,在语音合成系统中,给不同的说话人指定不同说话人的编号,在进行语音合成的过程中就能根据说话人不同的编号相应地发出说话人的声音。有别于传统的为每个人单独训练一个模型的方式,一方面大幅降低了对每个人的数据总量的需求,另一方面合成效果博采众长、更加稳定。
[0113] 能够实现“多说话人”功能,主要是通过在语音合成模型的输入层,额外引入一套说话人嵌入(Speaker Embedding)结构。
[0114] 所谓说话人嵌入结构与常见的词嵌入本质相同,就是一组按编号存储的可训练的向量,每次根据输入编号调出相应向量,参与整个网络的传递计算,例如前向推理与后向梯度回传等计算。
[0115] 在这种情况下,语音合成模型的输入,不仅包括文本语境向量(linguistic context),还包括说话人的编号,其中,所有说话人的编号事先约定好,全局保持不变。编号送入说话人嵌入结构,调取相应编号的向量,与文本语境向量、随机噪声拼接在一起,输入到语音合成模型的神经网络进行下一层计算,直到输出层输出文本数据所对应的语音数据的谱函数。
[0116] 示例性地,若采用10个说话人的样本,提供十句话的文本数据,这10 个人根据文本数据,采集10个人的语音数据,并给每个人提供一个编号,与采集的语音数据相对应,将说话人编号、文本语境向量及随机噪声输入到神经网络中,结合与文本数据相对应的采集的10个人的真实语音数据,对语音合成模型进行训练,得到一个目标语音合成模型。
[0117] 需要说明的是,在本发明实施例中,将多个说话人的文本数据与语音数据经过语音合成模型的训练,得到一个目标语音合成模型,其中多个说话人为包括两个及两个以上。
[0118] 本发明实施例提供训练多个说话人的一个目标语音合成模型,可以适应于在多个说话人中检验是不是某个说话人的语音,也可以适用于检索这个语音是某个说话人的,具体地,判断某个语音数据是不是张三的,或者是检索这个语音数据是谁的。例如,可以应用于公司的打卡器,先采集员工的语音数据,并经过训练,得到目标声纹校验模型,在使用的时候,只要某个员工例如张三说一句话,打卡器就可以识别出是该语音是不是公司的员工,或者可以判断出该语音是张三说的。
[0119] 需要说明的是,在语音合成与声纹校验过程中对各类语音数据例如音频处理时,对音频的计算与机器学习都是在频域上进行,本发明实施例中语音合成与声纹校验两套系统的对接也即语音合成系统的输出对接到声纹校验系统的输入,直接使用语音数据经信号处理得到的幅度谱或梅尔谱,而不再各自经逆信号变换返回语音数据。
[0120] 可选地,所述根据所述真实语音数据的谱参数、所述仿真语音数据的谱参数及复合损失函数,对所述声纹校验模型训练,获得所述目标声纹校验模型,包括:
[0121] 根据所述仿真语音数据的谱参数获取第一特征向量,所述第一特征向量为第一声纹;
[0122] 计算所述第一声纹的分值;
[0123] 根据所述真实语音数据的谱参数获取第二特征向量,所述第二特征向量为第二声纹;
[0124] 计算所述第二声纹的分值;
[0125] 根据所述第一声纹的分值、所述第二声纹的分值及所述复合损失函数,计算所述声纹校验模型的损失值;
[0126] 通过不断迭代,当所述损失值最小时,确定所述声纹校验模型为所述目标声纹校验模型。
[0127] 具体地,图5为本发明实施例提供的端到端声纹校验系统原理示意图,如图5所示,可以训练处目标声纹校验模型,具体地,
[0128] 1、获取语音合成系统生成的多发音人的仿真语音数据和采集的真实录音中的随机的语音数据;声纹校验模型中的输入包括两个部分,一部分是仿真语音数据的谱参数,另一部分是真实语音数据,可以从真实的语音数据中随机挑选。
[0129] 2、声纹校验模型的第一层是声纹提取层,两部分输入数据都经过声纹提取层,该声纹提取层用于从获得的仿真语音数据中提取d-vector特征向量,即第一特征向量,作为仿真语音数据的第一声纹。
[0130] 声纹提取层从真实录音数据中的多句音频提取多个声纹信息,求平均值,即第二特征向量,作为真实语音数据的第二声纹,作为该说话人的身份模型。
[0131] 3、然后计算第一声纹与第二声纹之间的向量余弦距离,即为声纹校验模型的输出。
[0132] 具体地训练方案如下所示:
[0133] 以类C语法的伪代码说明训练逻辑,其中train_set是大量(录音,文稿) 对组成的训练数据集,(batch_x,batch_y)是从中随机选取的一小部分。
[0134] D泛指判别模型,在本发明实施例中特指声纹校验模型;
[0135] G泛指生成模型,在本发明实施例中特指语音合成模型;
[0136] D(x)表示将x输入D网络得到结果;
[0137] G(x)表示将x输入G网络得到结果。
[0138] 下文中提到的损失函数及梯度回传,涉及到了tensorflow、pyTorch等主流深度学习平台共性的数据结构思想,如将神经网络当做图结构,图中的每个节点都有参数值、梯度值等变量,并且相邻节点间的梯度有链接关系,在梯度回传时沿着这些链接遍历图中的每个节点,为每个节点计算梯度值。
[0139] Until总轮数到预设值
[0140] {
[0141] //优化判别模型D
[0142] For(batch_x,batch_y)in train_set//batch_x和batch_y为一组输入和输出[0143] {
[0144] 1、eval_real=D(batch_y);
[0145] 2、eval_synthesis=D(value(G(batch_x)))//其中value表示只取数值,不链接梯度回传图;
[0146] 3、计算D输出层的损失值,其中符合损失函数loss=-log(eval_real)  -torch.log(1-eval_synthesis);
[0147] 4、从D的输出层梯度回传,涉及整个D网络;
[0148] 5、将D网络中每个可训练参数,用回传得到的梯度值更新;
[0149] }
[0150] //优化生成模型G
[0151] For(batch_x,batch_y)in train_set
[0152] {
[0153] 6、G_Residual=SSE(G(batch_x),batch_y);
[0154] 7、eval_synthesis=D(G(batch))//这里要链接G的输出层的梯度到D的输入;
[0155] 8、计算D输出层的损失值,其中loss=torch.log(1-eval_synthesis);
[0156] 9、计算复合eval_compound_loss=G_Residual*α+eval_synthesis// α为权重系数;
[0157] 10、从eval_compound_loss回传梯度。在经过第一层回传后,下一步分两路回传:eval_synthesis从D的输出层梯度回传,涉及整个D网络,并进一步回传到G网络;G_Residual直接从G的输出层梯度回传,涉及整个G 网络。因此,G网络中每个可训练参数的梯度缓存中累加了两次梯度回传值。
[0158] 11、将G网络中每个可训练参数,用回传得到的梯度值更新。
[0159] 本发明实施例提供的复合损失函数,在传统的判别模型评价仿真语音数据的基础上,增加了仿真语音数据与真实语音数据间的误差,提高训练过程中模型收敛的稳定性。
[0160] 需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
[0161] 本发明实施例提供的语音校验方法,通过采用预先训练的目标声纹校验模型对获取的语音数据进行打分,并对分值进行判断,若分值大于预设值,则确定获取的语音数据是来自用户的真实语音,并不是合成的语音数据,其中,目标声纹校验模型是通过语音合成模型和声纹校验模型联合训练获得的,通过语音合成模型和声纹校验模型的联合训练得到目标声纹校验模型,对获取的语音数据进行校验,提高了对语音校验的准确性。
[0162] 本发明另一实施例提供一种语音校验装置,用于执行上述实施例提供的方法。
[0163] 图6为本发明实施例提供的语音校验装置的结构示意图,如图6所示,该装置包括:获取模块601、处理模块602、确定模块603和判断模块604,其中,
[0164] 获取模块601用于获取待校验的语音数据;
[0165] 处理模块602用于对所述语音数据进行处理,获得所述语音数据的谱参数;
[0166] 确定模块603用于根据所述谱参数及预先训练的目标声纹校验模型,确定所述谱参数对应的分值,其中,所述预先训练的目标声纹校验模型通过语音合成模型和声纹校验模型联合训练获得;
[0167] 判断模块604用于在所述分值大于预设值的情况下,确定所述待校验的语音数据来自用户的真实声音。
[0168] 关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0169] 本发明实施例提供的语音校验装置,通过采用预先训练的目标声纹校验模型对获取的语音数据进行打分,并对分值进行判断,若分值大于预设值,则确定获取的语音数据是来自用户的真实语音,并不是合成的语音数据,其中,目标声纹校验模型是通过语音合成模型和声纹校验模型联合训练获得的,通过语音合成模型和声纹校验模型的联合训练得到目标声纹校验模型,对获取的语音数据进行校验,提高了对语音校验的准确性。
[0170] 本发明又一实施例对上述实施例提供的装置做进一步补充说明。
[0171] 在上述实施例的基础上,可选地,所述处理模块用于:
[0172] 对所述语音数据进行特征提取,获得所述语音数据的梅尔谱参数。
[0173] 在上述实施例的基础上,可选地,所述确定模块,还用于:
[0174] 获取训练样本中至少两个用户的用户编号、与所述用户编号相对应的文本数据及与所述文本数据相对应的真实语音数据;
[0175] 利用预先训练的目标语音合成模型生成所述文本数据对应的仿真语音数据的谱参数;
[0176] 根据所述真实语音数据的谱参数、所述仿真语音数据的谱参数及复合损失函数,对所述声纹校验模型训练,获得所述目标声纹校验模型。
[0177] 可选地,所述确定模块,还用于:
[0178] 对至少两个用户的所述文本数据进行处理,获得文本语境信息;
[0179] 根据所述用户编号、所述文本语境信息与随机噪声,对语音合成模型进行训练,获得一个目标语音合成模型。
[0180] 可选地,所述确定模块,还用于:
[0181] 根据所述仿真语音数据的谱参数获取第一特征向量,所述第一特征向量为第一声纹;
[0182] 计算所述第一声纹的分值;
[0183] 根据所述真实语音数据的谱参数获取第二特征向量,所述第二特征向量为第二声纹;
[0184] 计算所述第二声纹的分值;
[0185] 根据所述第一声纹的分值、所述第二声纹的分值及所述复合损失函数,计算所述声纹校验模型的损失值;
[0186] 通过不断迭代,当所述损失值最小时,确定所述声纹校验模型为所述目标声纹校验模型。
[0187] 关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0188] 需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
[0189] 本发明实施例提供的语音校验装置,通过采用预先训练的目标声纹校验模型对获取的语音数据进行打分,并对分值进行判断,若分值大于预设值,则确定获取的语音数据是来自用户的真实语音,并不是合成的语音数据,其中,目标声纹校验模型是通过语音合成模型和声纹校验模型联合训练获得的,通过语音合成模型和声纹校验模型的联合训练得到目标声纹校验模型,对获取的语音数据进行校验,提高了对语音校验的准确性。
[0190] 本发明再一实施例提供一种电子设备,用于执行上述实施例提供的方法。
[0191] 图7为本发明实施例提供的电子设备的结构示意图,如图7所示,该电子设备包括:至少一个处理器701和存储器702;
[0192] 所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现上述实施例提供的方法。
[0193] 本发明实施例提供的电子设备,通过采用预先训练的目标声纹校验模型对获取的语音数据进行打分,并对分值进行判断,若分值大于预设值,则确定获取的语音数据是来自用户的真实语音并不是合成的语音数据,其中,目标声纹校验模型是通过语音合成模型和声纹校验模型联合训练获得的,通过语音合成模型和声纹校验模型的联合训练得到目标声纹校验模型,对获取的语音数据进行校验,提高了对语音校验的准确性。
[0194] 本发明又一实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述任一实施例提供的方法。
[0195] 本发明实施例提供的可读存储介质,通过采用预先训练的目标声纹校验模型对获取的语音数据进行打分,并对分值进行判断,若分值大于预设值,则确定获取的语音数据是来自用户的真实语音,并不是合成的语音数据,其中,目标声纹校验模型是通过语音合成模型和声纹校验模型联合训练获得的,通过语音合成模型和声纹校验模型的联合训练得到目标声纹校验模型,对获取的语音数据进行校验,提高了对语音校验的准确性。
[0196] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0197] 本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
[0198] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0199] 类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0200] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0201] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0202] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。