基于语音转换的声纹重构模型构建方法、装置和存储介质

文档序号:33520075发布日期:2023-03-22 06:28阅读:34来源:国知局
基于语音转换的声纹重构模型构建方法、装置和存储介质

1.本文件涉及人工智能与计算机安全领域,尤其涉及一种基于语音转换的声纹重构模型构建方法、装置和存储介质。


背景技术:

2.有部分用户利用语音转换技术,通过模仿他人的声音伪装成相应的身份,这会给个人安全带来隐患。
3.现有的语音转换检测技术通常基于人工智能,辨认一段音频是真实采样的还是虚假生成的。
4.然而,上述方案并不能识别伪装者的原声,因此很难识别伪装者的身份信息。对于个人安全而言,上述方法只能治标,不能治本,无法彻底消除存在的安全隐患。


技术实现要素:

5.鉴于上述的分析,本技术旨在提出了一种基于语音转换的声纹重构模型构建方法、装置和存储介质,能够识别模仿声音的伪装者的原声,以便于识别伪装者的身份信息。
6.第一方面,本说明书一个或多个实施例提供了一种基于语音转换的声纹重构模型构建方法,包括:基于语音转换构建第一训练集和第二训练集,所述第一训练集用于指示伪装者的原声,所述第二训练集用于指示伪装者通过语音转化得到的声音;根据所述第一训练集,构建第一语音向量;根据所述第二训练集,构建第二语音向量;根据所述第一语音向量和所述第二语音向量,通过向量分解法,确定伪装者原声的特征向量。
7.进一步地,所述基于语音转换构建第一训练集和第二训练集,包括:采集多个原声数据和多个语音转换模型;利用所述多个原声数据构建所述第一训练集;利用任一所述语音转换模型将任一所述原声数据对应的声纹转换成另一个所述原声语音数据对应的声纹,得到所述第二训练集的一个训练样本。
8.进一步地,根据所述第一训练集,构建第一语音向量,包括:确定所述第一训练集中的各训练样本对应的语音向量;确定各所述训练样本对应的语音向量的平均向量为所述第一语音向量。
9.进一步地,根据所述第二训练集,构建第二语音向量,包括:确定所述第二训练集中的各训练样本对应的语音向量;确定各所述训练样本对应的语音向量的平均向量为所述第二语音向量。
10.进一步地,所述根据所述第一语音向量和所述第二语音向量,通过向量分解法,确定伪装者原声的特征向量,包括:
以所述第二语音向量的方向为坐标轴,创建坐标系;在所述坐标系下,分解所述第一语音向量为正交分量和平行分量;根据所述平行分量和所述第一语音向量,确定所述伪装者原声的特征向量。
11.第二方面,本说明书一个或多个实施例提供了一种基于语音转换的声纹重构模型构建装置,包括:训练集构建模块、向量构建模块和数据处理模块;所述训练集构建模块用于基于语音转换构建第一训练集和第二训练集,所述第一训练集用于指示伪装者的原声,所述第二训练集用于指示伪装者通过语音转化得到的声音;所述向量构建模块用于根据所述第一训练集,构建第一语音向量;根据所述第二训练集,构建第二语音向量;所述数据处理模块用于根据所述第一语音向量和所述第二语音向量,通过向量分解法,确定伪装者原声的特征向量。
12.进一步地,所述训练集构建模块用于采集多个原声数据和多个语音转换模型;利用所述多个原声数据构建所述第一训练集;利用任一所述语音转换模型将任一所述原声数据对应的声纹转换成另一个所述原声语音数据对应的声纹,得到所述第二训练集的一个训练样本。
13.进一步地,所述向量构建模块用于确定所述第一训练集中的各训练样本对应的语音向量;确定各所述训练样本对应的语音向量的平均向量为所述第一语音向量。
14.进一步地,所述数据处理模块用于以所述第二语音向量的方向为坐标轴,创建坐标系;在所述坐标系下,分解所述第一语音向量为正交分量和平行分量;根据所述平行分量和所述第一语音向量,确定所述伪装者原声的特征向量。
15.第三方面,本说明书一个或多个实施例提供了一种存储介质,包括:用于存储计算机可执行指令,所述计算机可执行指令在被执行时实现第一方面所述的方法。
16.与现有技术相比,本技术至少能实现以下技术效果:1、基于伪装者的原声和伪装者通过语音转化得到的声音构建训练集,为得到伪装者的原声提供数据基础。
17.2、通过向量分解法有效地分离伪装者原声和被伪装的声音,使得声纹重构模型能识别出伪装者的原声。
18.3、该方案计算过程简单,适用性较强,可以适用于音频语种未包含于训练集、模仿电话录音的物理域等场景下。
附图说明
19.为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1为本说明书一个或多个实施例提供的一种基于语音转换的声纹重构模型构建方法流程图。
具体实施方式
21.为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
22.基于机器学习的语音转换技术能够在保持说话内容不变的情况下,让原始说话人的声音听起来像是目标说话人,目前已在电影配音、言语障碍帮扶、声音模仿等领域得到了广泛的应用。因此,伪装者基于上述技术,将自己的声音转化成其他人的声音,上述行为会损害个人安全。而如果只是单纯识别声音是否被模仿,伪装者可以换一种方法继续模仿其他人的声音。显然,现有技术不能很好震慑这些伪装者,因此很难起到标本兼治的效果。
23.为了解决上述技术问题,本技术实施例提供了一种基于语音转换的声纹重构模型构建方法,如图1所示,包括以下步骤:步骤1、基于语音转换构建第一训练集和第二训练集。
24.在本技术实施例中,第一训练集用于指示伪装者的原声,第二训练集用于指示伪装者通过语音转化得到的声音。步骤1具体包括:(1.1)搜集说话人语音数据集:搜集若干开源的说话人语音数据集,构成总人数为n的训练数据集说话人集合,每个说话人包含若干条长度不一的音频数据,保证训练人数与训练数据的充足性。集合s即为第一训练集,s1,s2…
,sn即为原声数据。
25.(1.2)预处理说话人语音数据集:将所有说话人语音数据集的命名格式调整为统一规范,并使用ffmpeg工具将音频数据重采样为所需采样率下的wav格式,便于后续语音转换模型的训练。
26.(1.3)训练语音转换模型:调研多种现有的主流语音转换方法,采用开源的预训练模型或自行训练以复现预期效果,得到多种语音转换模型。
27.(1.4)生成语音转换数据集:将语音数据集中的说话人依次作为原始说话人s
source
和目标说话人s
target
,对于t个训练完毕的语音转换模型各自生成语音转换数据集。语音转换数据集即为第二训练集。
28.其中,针对第二训练集的样本难于获取的问题,步骤1.1、步骤1.3和1.4是为了保证第二训练集的样本数量。
29.具体地,利用任一语音转换模型将任一原声数据对应的声纹转换成另一个原声语音数据对应的声纹,得到第二训练集的一个训练样本。例如,第一训练样本存在3个原声数据a、b、c,采集了2个语音转换模型a、b,则利用模型a将a(原始说话人s
source
)的声纹转换成b(目标说话人s
target
)的声纹,即可得到第二训练集的一个样本。依次类推可以得到3*2*3个训练样本,通过上述方式可以极大的增加第二训练集的样本数。
30.步骤2、根据第一训练集,构建第一语音向量。
31.在本技术实施例中,构建第一语音向量时,需要先获得声纹的初步表征,具体地,(2.1.1)构建特征频谱:输入目标说话人证据音频,mel滤波器组将二者的时域信息分别
转换成维度为的特征频谱;(2.1.2)提取时域特征:构建一个模块和三个-模块,前者用于提取时域特征,后者用于建立全局通道的相关性;(2.1.3)构建特征图:将三个-模块的输出连接成通道数为的特征图,目标说话人证据音频的特征向量;之后,根据初步特征,确定第一训练集中的各训练样本对应的语音向量;确定各训练样本对应的语音向量的平均向量为第一语音向量。
32.步骤3、根据第二训练集,构建第二语音向量。
33.在本技术实施例中,构建第二语音向量时,需要先获得声纹的初步表征,具体地,(3.1.1)构建特征频谱:输入语音转换音频,mel滤波器组将二者的时域信息分别转换成维度为的特征频谱;(3.1.2)提取时域特征:构建一个模块和三个-模块,前者用于提取时域特征,后者用于建立全局通道的相关性;(3.1.3)构建特征图:将三个-模块的输出连接成通道数为的特征图,输出语音转换音频特征向量为;之后,根据初步特征,确定第二训练集中的各训练样本对应的语音向量;确定各训练样本对应的语音向量的平均向量为第二语音向量。
34.步骤4、根据第一语音向量和第二语音向量,通过向量分解法,确定伪装者原声的特征向量。
35.在本技术实施例中,向量分解法的过程为:以第二语音向量的方向为坐标轴,创建坐标系;在坐标系下,分解第一语音向量为正交分量和平行分量;根据平行分量和第一语音向量,确定伪装者原声的特征向量。
36.具体地,计算目标说话人音频特征向量的平均向量:记为的第帧信息,在时轴上求平均;(2.2.2)计算归一化方向向量:,长度为,其中常数用于防止错误;(2.2.3)分解语音转换音频的特征向量:平行分量,正交分量,其中是大小为的单位矩阵;在本技术实施例中,从m中分解出的m

部分,可以削弱目标说话人声纹特征(n)的影响,增强原始说话人声纹特征的比重,从而驱使恢复出来的声纹特征往靠近原始说话人声纹特征的方向优化。
37.(2.2.4)通过残差结构连接,利用函数tdnn计算语音转换音频长度特征向量,其中与的维度大小相同,均为;需要说明的是,实际中的优化方向不可能完全垂直。因此如果只将m

部分作为输出,可能会丢失相当一部分的有效信息,导致恢复结果不理想。因此通过步骤2.2.4强化伪
装者的原声声纹。
38.针对得到的伪装者原声的特征向量,通过维度归一化、数据池化和固定声纹长度,进行优化。
39.优选地,使用aam-softmax损失函数作为输出层,使得恢复出来的原始说话人声纹信息与其他嫌疑人之间有足够的区分度。
40.综上所述,利用本技术构建的模型可以识别伪装者的原声。
41.为了说明本技术上述实施例的可行性,下面以构建并训练revelio声纹重构模型(其任务为通过输入的语音转换音频提取特征并重构原始说话人的声纹)为例,具体阐述语音转换的原始说话人声纹重构方法,包括如下步骤:(1)数据集构建,该步骤包括以下子步骤:(1.1)搜集说话人语音数据集:搜集包含librispeech、、在内的开源说话人语音数据集,构成总人数为的训练数据集说话人集合,每个说话人包含若干条长度不一的音频数据,保证训练人数与训练数据的充足性;(1.2)预处理说话人语音数据集:将所有说话人语音数据集的命名格式调整为统一规范,并使用工具将音频数据重采样为或等所需采样率下的格式,便于后续语音转换模型的训练;(1.3)训练语音转换模型:调研多种现有的主流语音转换方法,采用开源的预训练模型或自行训练以复现预期效果,共得到种语音转换模型;其中,vqvc:基于矢量量化(vector quantization,vq)的语音转换;vqvc+:基于矢量量化和u-net结构的语音转换;again:基于激活函数引导(activation guidance)和自适应in(adaptive instance normalization)的语音转换;bne:基于瓶颈特征提取器(bottle-neck feature extractor,bne)和位置相关混合逻辑(mixture of logistic,mol)注意力机制的序列到序列(sequence to sequence,seq2seq)语音转换。
42.(1.4)生成语音转换数据集:将语音数据集中的说话人依次作为原始说话人和目标说话人,对于个训练完毕的语音转换模型各自生成语音转换数据集。
43.(2)模型构建,该步骤包括以下子步骤:(2.1)特征提取模块构建:从语音转换音频中获得声纹的初步表征,具体包括以下子步骤:(2.1.1)构建特征频谱:输入语音转换音频和目标说话人证据音频,mel滤波器组将二者的时域信息分别转换成维度为和的特征频谱;(2.1.2)提取时域特征:构建一个模块(包含层、层和
层)和三个-模块(包含层、
‑‑
层、另一层和层),前者用于提取时域特征,后者用于建立全局通道的相关性;(2.1.3)构建特征图:将三个-模块的输出相连接,它们的维度大小均为,最终输出的语音转换音频和目标说话人证据音频的特征向量为和,它们的维度大小分别为和;(2.2)差分校正模块构建:驱使声纹往正交于目标说话人声纹的方向调整以减小目标说话人信息的影响,具体包括以下子步骤:(2.2.1)计算目标说话人音频特征向量的平均向量:记为的第帧信息,在时轴上求平均;(2.2.2)计算归一化方向向量:,其中常数用于防止错误,例如取1e-6;(2.2.3)分解语音转换音频的特征向量:平行分量,正交分量,其中是大小为的单位矩阵;(2.2.4)通过残差结构连接,计算,其中与的维度大小相同,均为;(2.3)维度归一化模块构建:将不同时间长度的输入统一为固定维度大小的输出,具体包括以下子步骤:(2.3.1)数据池化:首先将通过一个包含层、层和层的模块,再将输出通过注意力机制层进行池化,对所有与通道数和帧内容相关的数据进行综合表征,表征结果的维数为;(2.3.2)固定声纹长度:将上述结果进一步通过一个包含层和层的模块,最终使得原本与语音转换音频长度相关的标准化为固定长度的声纹特征向量;(2.4)声纹增强模块构建:使用-损失函数作为输出层,使得恢复出来的原始说话人声纹信息与其他嫌疑人之间有足够的区分度,输出结果维数为。
44.(3)模型训练,该步骤包括以下子步骤:(3.1)初始化模型:预训练-模型,并将其特征提取器中的参数作为本模型中特征提取器部分的初始化参数;(3.2)训练模型:定义训练过程中包含的所有可能的原始说话人身份标签集合为,将语音转换音频以及对应的目标说话人证据音频作为模型输入,模型的输出,由此训练模型对原始说话人身份标签进行正确分类的能力;(3.3)迭代收敛:根据模型输出的分类结果计算损失值,回传梯度并更新参数,反
复迭代直至损失值收敛到一定阈值以完成训练。
45.本技术实施例提供了一种基于语音转换的声纹重构模型构建装置,其特在于,包括:训练集构建模块、向量构建模块和数据处理模块;所述训练集构建模块用于基于语音转换构建第一训练集和第二训练集,所述第一训练集用于指示伪装者的原声,所述第二训练集用于指示伪装者通过语音转化得到的声音;所述向量构建模块用于根据所述第一训练集,构建第一语音向量;根据所述第二训练集,构建第二语音向量;所述数据处理模块用于根据所述第一语音向量和所述第二语音向量,通过向量分解法,确定伪装者原声的特征向量。
46.在本技术实施例中,所述训练集构建模块用于采集多个原声数据和多个语音转换模型;利用所述多个原声数据构建所述第一训练集;利用任一所述语音转换模型将任一所述原声数据对应的声纹转换成另一个所述原声语音数据对应的声纹,得到所述第二训练集的一个训练样本。
47.在本技术实施例中,所述向量构建模块用于确定所述第一训练集中的各训练样本对应的语音向量;确定各所述训练样本对应的语音向量的平均向量为所述第一语音向量。
48.在本技术实施例中,所述数据处理模块用于以所述第二语音向量的方向为坐标轴,创建坐标系;在所述坐标系下,分解所述第一语音向量为正交分量和平行分量;根据所述平行分量和所述第一语音向量,确定所述伪装者原声的特征向量。
49.本技术实施例提供了一种存储介质,包括:用于存储计算机可执行指令,所述计算机可执行指令在被执行时实现上述实施例中所述的方法。
50.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
51.在20世纪30年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel
(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
52.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20 以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
53.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
54.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
55.本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
56.本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
57.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
58.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
59.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
60.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
61.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
62.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
63.本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书的一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
64.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
65.以上所述仅为本文件的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本文件可以有各种更改和变化。凡在本文件的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1