1.本发明涉及人工智能技术领域,尤其涉及一种基于神经网络的
语音转换方法、系统、设备及存储介质。
背景技术:
2.语音转换技术是一种保持语义
内容不变的情况下,将源语音转换为目标语音的技术,其中,源语音为第一人声发出的语音,目标语音为第二人声发出的语音。换言之,将第一人声发出的源语音通过语音转换技术,转换为语义相同的第二人声发出的目标语音。
3.随着深度神经网络技术的快速发展,基于深度学习的语音转换方法转换的语音相似度高且语音质量好、流畅度好。目前基于深度学习的语音转换方法主要包括两个步骤,首先用大量的语音数据训练转换模型,再用训练好的模型来进行语音转换。但是训练需要用到平行训练数据集,平行训练数据集是指第一人和第二人说同样话的语音,但是这样的样本比较难以采集,费时费力。
技术实现要素:
4.本发明提供一种基于神经网络的语音转换方法、系统、设备及存储介质,其主要目的在于降低训练数据集的制作成本,并合成自然度和相似度高的目标语音。
5.第一方面,本发明实施例提供一种基于神经网络的语音转换方法,该方法包括:
6.获取源语音和目标说话人音;
7.将
所述源语音输入到内容编码器中,提取出所述源语音的语义内容,得到语义内容编码;
8.将所述语义内容编码和所述目标说话人音输入到生成器中,对所述语义内容编码和所述目标说话人音进行合成,获取目标语音,其中,语音转换模型包括所述内容编码器和所述生成器,所述语音转换模型以样本语音、样本音进行训练得到。
9.优选地,所述语音转换模型还包括辨别器,所述语音转换模型以样本语音、样本音进行训练得到,通过如下方式实现:
10.将所述样本语音输入到所述内容编码器中,获取所述样本语音对应的语义内容编码;
11.将所述样本语音对应的语义内容编码和所述样本音输入到所述生成器中,获取转换后语音;
12.将所述转换后语音输入到所述辨别器中,判断所述转换后语音是否为合成,若所述辨别器判断所述转换后语音是合成的,则调整所述编码器和所述生成器的参数,并利用调整后的编码器和调整后的生成器重新进行训练,直到所述辨别器判断所述转换后语音不是合成的。
13.优选地,所述将所述转换后语音输入到所述辨别器中,判断所述转换后语音是否为合成,包括:
14.根据所述辨别器对应的预设辨别器损失函数计算出样本实际损失,若所述样本实际损失在预设损失阈值之内,则判断所述转换后语音不是合成语音,否则,判断所述转换后语音是合成语音;
15.其中,所述预设辨别器损失函数通过如下公式计算得到:
[0016][0017][0018]
其中,l
adv
(d)表示辨别器的训练损失函数,x表示所述样本语音,表示所述转换后语音,c表示所述样本语音对应的语义内容,表示所述样本音,d表示所述辨别器,g表示所述生成器,d(x)表示输入为所述样本语音时所述辨别器的输出,表示输入为所述转换后语音时所述辨别器的输出。
[0019]
优选地,所述语音转换模型在训练过程中的损失函数通过如下公式计算得到:
[0020]
l(g,ec)=l
adv
(g,ec)+l
fm
(g,ec)+l
con
(g,ec),
[0021][0022][0023][0024]
x=g(c,z),
[0025]
其中,l
adv
(g,ec)为内容编码器和生成器的训练损失函数,l
fm
(g,ec)为重构损失函数,l
con
(g,ec)为语言内容损失函数,ec表示所述内容编码器,ec(x)表示输入所述样本语音时所述内容编码器的输出,表示输入所述样本语音对应的内容编码器和所述转换后语音的音时所述生成器的输出。
[0026]
优选地,所述内容编码器由若干内容编码
单元依次首尾连接组成,所述内容编码单元包括第一残差网络和下采样单元。
[0027]
优选地,所述生成器由若干生成单元依次首尾连接组成,所述生成单元包括上采样单元和第二残差网络。
[0028]
优选地,所述第二残差网络包括第一卷积单元、第二卷积单元、第三卷积单元、第一求和单元、第二求和单元、反正切计算单元、正弦计算单元和乘积单元,其中,所述第一卷积单元的输入为上采样的目标说话人音,所述第一卷积单元的输出和所述语义内容编码均与所述第一求和单元的输入连接,所述第一求和单元的输出分别与所述反正切计算单元、所述正弦计算单元的输入连接,所述反正切计算单元的输出、所述正弦计算单元的输出均与所述乘积单元的输入连接,所述乘积单元的输出与所述第二卷积单元的输入连接,所述语义内容编码与所述第三卷积单元的输入连接,所述第二卷积单元的输出和所述第三卷积单元的输出均与所述第二求和单元的输入连接。
[0029]
第二方面,本发明实施例提供一种基于神经网络的语音转换系统,包括:
[0030]
数据获取模块,用于获取源语音和目标说话人音;
[0031]
语义编码模块,用于将所述源语音输入到内容编码器中,提取出所述源语音的语义内容,得到语义内容编码;
[0032]
语义合成模块,用于将所述语义内容编码和所述目标说话人音输入到生成器中,对所述语义内容编码和所述目标说话人音进行合成,获取目标语音,其中,语音转换模型包括所述内容编码器和所述生成器,所述语音转换模型以样本语音、样本音进行训练得到。
[0033]
第三方面,本发明实施例提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于神经网络的语音转换方法的步骤。
[0034]
第四方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于神经网络的语音转换方法的步骤。
[0035]
本发明实施例提出的一种基于神经网络的语音转换方法、系统、设备及存储介质,首先采集源语音和目标说话人音,将源语音输入到内容编码器中,通过内容编码器可以将语义内容和源语音的音分离开来,并对提取出的语义内容进行编码,得到语义内容编码,最后通过将语义内容编码和目标说话人音输入到生成器中,合成出目标语音。本发明实施例中用到的语音转换模型为神经网络模型,是经过样本语音和样本音进行训练得到的,本发明实施例中在制作训练样本时,只需要采集样本语音和样本音,通过将第二人音信息从第二人语音中分离出来即可得到,由于不需要第二人的语义内容,可以对第二人的说话内容不做限定,避免了现有技术中第一人和第二人必须说相同内容的限制,节省了大量数据制作成本和时间,提高了效率。
附图说明
[0036]
图1为本发明实施例提供的一种基于神经网络的语音转换方法的流程图;
[0037]
图2为本发明实施例提供的一种基于神经网络的语音转换方法的流程图;
[0038]
图3为本发明实施例中提供的一种语音转换模型的训练方法流程图;
[0039]
图4为本发明实施例中语音转换模型在应用时的结构示意图;
[0040]
图5为本发明实施例中语音转换模型在训练时的结构示意图;
[0041]
图6为本发明实施例中内容编码器的结构示意图;
[0042]
图7为本发明实施例中生成器的结构示意图;
[0043]
图8为本发明实施例提供的第二残差网络的结构示意图;
[0044]
图9为本发明实施例提供的一种基于神经网络的语音转换系统的结构示意图;
[0045]
图10为本发明实施例中提供的一种计算机设备的结构示意图。
[0046]
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0047]
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0048]
图1为本发明实施例提供的一种基于神经网络的语音转换方法的流程图,如图1所示,用户在客户端输入源语音和目标说话人音,客户端采集到源语音和目标说话人音,将源语音和目标说话人音发送给服务端,服务端接收到源语音和目标说话人音后,执行该一种基于神经网络的语音转换方法,最后得到目标语音。
[0049]
本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获取最佳结果的理论、方法、技术及应用系统。
[0050]
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习、深度学习等几大方向。
[0051]
需要说明的是,服务端可以用独立的服务器或者是多个服务器组成的服务器集来实现。客户端可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。客户端和服务端可以通过蓝牙、usb(universal serial bus,通用串行总线)或者其他通讯连接方式进行连接,本发明实施例在此不做限制。
[0052]
语音转换是人工智能的一个重要方面。它是研究如何在不改变语音内容的情况下,将一个人的声音转换成另一个人的声音。语音转换属于语音合成的一个通用技术领域,语音合成是将文本转换为语音或改变语音的属性,如语音身份、情感、口音等。
[0053]
常见的语音合成方法有基于统计建模的语音转换方法和基于深度学习的语音转换方法,而基于深度学习的语音转换方法应用比较广泛,而深度学习技术通常是数据驱动的,依赖于大数据,但是训练数据需要第一人和第二人说同样的话,导致平行语料训练集又十分难以获取。
[0054]
针对上述问题,图2为本发明实施例提供的一种基于神经网络的语音转换方法的流程图,如图2所示,该方法包括:
[0055]
s210,获取源语音和目标说话人音;
[0056]
首先获取源语音和目标说话人音,源语音可以为现场采集第一人的一段语音,也可以为通过某种方法合成的第一人的一段语音,还可以是影视剧中的录音片段等等,具体采集方法可以根据实际情况进行确定,本发明实施例在此不再赘述。
[0057]
本发明实施例中以源语音的语义内容为“你今天吃饭了吗”为例进行说明,语义内容是与第一人无关的语音内容,除去语义内容外,该源语音还包括音,音是指与第一人有关的语音内容,如共振峰、基频、语调、强度和持续时间,语音转换方法只修改与第一人相关的特征,如共振峰、基频(f0)、语调、强度和持续时间,并将第一人相关的特征替换成第二人相关的特征,第二人相关特征和第一人相关特征具体包含指标是相同的,而保留与说话人无关的语音内容,这样就完成了语音的转换过程,此处,第二人即为目标说话人,目标说话人音即为第二人音。
[0058]
此处,本发明实施例中只提取目标说话人音,而不用提取目标说话人语音,作为一种可选的实施例,具体提取目标说话人音的方法如下:获取音频采样数据,从中提取出人声发音部分相对应的梅尔频谱信息;调用预训练至收敛状态的音提取模型从梅尔频谱信息中提取出表征该音频采样数据的音源对象的音的向量矩阵集,该向量矩阵集包括时域上的多个向量矩阵;求取向量矩阵集中多个向量矩阵之间的均值向量矩阵作为该音源对象的声纹特征信息;生成目标说话人相对应的音,音包括目标说话人的命名标识及由该命名标识所指向的声纹特征信息。本发明实施例中使用该方法提取出目标说话人的音
,但并不限制目标说话人音的提取方法,具体可以根据实际情况进行分析。
[0059]
s220,将所述源语音输入到内容编码器中,提取出所述源语音的语义内容,得到语义内容编码;
[0060]
接着将源语音输入到内容编码器中,从源语音中提取出语义内容,也就是将“你今天吃饭了吗”从源语音中提取出来。本发明实施例中,内容编码器可以是现有的语音文字内容提取软件,如百度智能云语音识别、科大讯飞录音品台、迅捷录音转为文字等等,直接将语音转换为文字。
[0061]
然后对提取出来的语义内容进行编码,得到语义内容编码,本发明实施例中具体编码方法为:根据文本数据生成词向量矩阵,将词向量矩阵输入双向循环神经网络进行预处理操作,获得用于表示词语上下文语义关系的输出向量,对输出向量进行卷积操作,获得卷积处理结果,对卷积处理结果进行池化操作,以获得固定长度的向量作为文本数据的语义编码。编码方法可以根据实际情况具体限定,并不限定为本实施例中给出的唯一方法。
[0062]
s230,将所述语义内容编码和所述目标说话人音输入到生成器中,对所述语义内容编码和所述目标说话人音进行合成,获取目标语音,其中,语音转换模型包括所述内容编码器和所述生成器,所述语音转换模型以样本语音、样本音进行训练得到。
[0063]
接着将语义内容编码和目标说话人音输入到生成器中,通过生成器对语义内容编码和目标说话人音进行合成,即可得到目标语音,该目标语音为以目标说话人音说的“你今天吃饭了吗”。
[0064]
本发明实施例中,内容编码器和生成器均是语音转换模型的一个模块,语音转换模型为神经网络模型,在应用该语音转换模型之前,需要先对语音转换模型进行训练,即调整内容编码器和生成器的模型参数,使之符合预设要求,训练完成后,利用调整完参数的内容编码器和调整完参数的生成器,得到目标语音。
[0065]
此处,还需要进行说明的是,语音转换模型在进行训练时,是以样本语音和样本音进行训练得到的,样本语音类比源语音,可以为现场采集某人的一段语音,也可以为通过某种方法合成的某人的一段语音,还可以是影视剧中的录音片段等等,具体采集方法可以根据实际情况进行确定,本发明实施例在此不再赘述。
[0066]
样本音类比目标音,具体提取样本音的方法如下:获取音频采样数据,从中提取出人声发音部分相对应的梅尔频谱信息;调用预训练至收敛状态的音提取模型从梅尔频谱信息中提取出表征该音频采样数据的音源对象的音的向量矩阵集,该向量矩阵集包括时域上的多个向量矩阵;求取向量矩阵集中多个向量矩阵之间的均值向量矩阵作为该音源对象的声纹特征信息;生成样本对象相对应的音,即样本音,音包括样本对象的命名标识及由该命名标识所指向的声纹特征信息。本发明实施例中使用该方法提取出样本对象的音,但并不限制样本音的提取方法,具体可以根据实际情况进行分析。
[0067]
由上可知,本发明实施例中在制作训练样本时,只需要采集样本语音和样本音,通过将第二人音信息从第二人语音中分离出来即可得到,由于不需要第二人的语义内容,可以对第二人的说话内容不做限定,避免了现有技术中第一人和第二人必须说相同内容的限制,节省了大量数据制作成本和时间,提高了效率。
[0068]
本发明实施例提出的一种基于神经网络的语音转换方法,首先采集源语音和目标说话人音,将源语音输入到内容编码器中,通过内容编码器可以将语义内容和源语音的
音分离开来,并对提取出的语义内容进行编码,得到语义内容编码,最后通过将语义内容编码和目标说话人音输入到生成器中,合成出目标语音。本发明实施例中用到的语音转换模型为神经网络模型,是经过样本语音和样本音进行训练得到的,本发明实施例中在制作训练样本时,只需要采集样本语音和样本音,通过将第二人音信息从第二人语音中分离出来即可得到,由于不需要第二人的语义内容,可以对第二人的说话内容不做限定,避免了现有技术中第一人和第二人必须说相同内容的限制,节省了大量数据制作成本和时间,提高了效率。
[0069]
另外,测试实验证明,相较于现有技术中基于variational auto-encoder和gans的语音转换框架,本发明实施例避免了过平滑问题,合成自然度和相似度更高。同时,本发明实施例不需要声学特征,如梅尔谱,能够直接生成高质量语音。
[0070]
最后,本发明实施例中是输入语音到输出语音,传统的是语音到梅尔图谱,然后再根据梅尔图谱得到语音,需要两步转换的过程,本发明实施例只需要一个转换的过程,避免了传统语音转换仅转换声学特征,需要利用声码器再将声学特征恢复为语音这一中间过程。
[0071]
在上述实施例的基础上,优选地,图3为本发明实施例中提供的一种语音转换模型的训练方法流程图,如图3所示,所述语音转换模型还包括辨别器,所述语音转换模型以样本语音、样本音进行训练得到,通过如下方式实现:
[0072]
s310,将所述样本语音输入到所述内容编码器中,获取所述样本语音对应的语义内容编码;
[0073]
s320,将所述样本语音对应的语义内容编码和所述样本音输入到所述生成器中,获取转换后语音;
[0074]
s330,将所述转换后语音输入到所述辨别器中,判断所述转换后语音是否为合成,若所述辨别器判断所述转换后语音是合成的,则调整所述编码器和所述生成器的参数,并利用调整后的编码器和调整后的生成器重新进行训练,直到所述辨别器判断所述转换后语音不是合成的。
[0075]
图4为本发明实施例中语音转换模型在应用时的结构示意图,包括内容编码器410和生成器420,图5为本发明实施例中语音转换模型在训练时的结构示意图,还包括辨别器510,结合图4和图5,可以知道,具体地在利用样本语音和样本音对语音转换模型进行训练时,该语音转换模型除了内容编码器和生成器外,还包括辨别器,以其中一个训练过程为例进行说明,首先将该样本语音输入到内容编码器中,获取样本语音对应的语义内容编码,然后将样本语音对应的语义编码内容和样本音输入到生成器中,即可得到转换后语音,最后将转换后语音输入到辨别器中,通过辨别器判断该转换后语音是否是合成的,如果该辨别器能够分辨出转换后语音是合成的,说明该合成语音不够真实自然,需要重新调整编码器和生成器的模型参数,并利用调整模型参数后的编码器和调整模型参数后的生成器重新进行训练,直到该辨别器不能分辨出该转换后语音是合成的,此时结束训练,将最后得到的内容编码器和生成器模型参数作为训练后的内容编码器和训练后的生成器。
[0076]
本发明实施例中的语音转换模型属于神经网络中的一种,该语音转换模型的训练过程可以分为三个步骤:定义语音转换模型的结构和前向传播的输出结果;定义损失函数以及反向传播优化的算法;最后生成会话并在训练数据上反复运行反向传播优化算法。
[0077]
其中,神经元是构成神经网络的最小单位,一个神经元可以有多个输入和一个输出,每个神经元的输入既可以是其它神经元的输出,也可以是整个神经网络的输入。该神经网络的输出即是所有神经元的输入加权和,不同输入的权重就是神经元参数,神经网络的优化过程就是优化神经元参数取值的过程。
[0078]
神经网络的效果及优化的目标是通过损失函数来定义的,监督学习为神经网络训练的一种方式,该神经网络给出的结果要尽量接近真实的答案。通过调整神经网络中的参数对训练数据进行拟合,使得神经网络对未知的样本提供预测能力。
[0079]
反向传播算法实现了一个迭代的过程,每次迭代开始的时候,先取一部分训练数据,通过前向传播算法得到神经网络的预测结果。因为训练数据都有正确的答案,所以可以计算出预测结果和正确答案之间的差距。基于这个差距,反向传播算法会相应的更新神经网络参数的取值,使得和真实答案更加接近。
[0080]
通过上述方法完成训练过程后,即可利用完成训练后的目标排序模型进行应用。
[0081]
在上述实施例的基础上,优选地,所述将所述转换后语音输入到所述辨别器中,判断所述转换后语音是否为合成,包括:
[0082]
根据所述辨别器对应的预设辨别器损失函数计算出样本实际损失,若所述样本实际损失在预设损失阈值之内,则判断所述转换后语音不是合成语音,否则,判断所述转换后语音是合成语音;
[0083]
其中,所述预设辨别器损失函数通过如下公式计算得到:
[0084][0085][0086]
其中,l
adv
(d)表示辨别器的训练损失函数,x表示所述样本语音,表示所述转换后语音,c表示所述样本语音对应的语义内容,z~表示所述样本音,d表示所述辨别器,g表示所述生成器,d(x)表示输入为所述样本语音时所述辨别器的输出,表示输入为所述转换后语音时所述辨别器的输出。
[0087]
本发明实施例中辨别器是根据预设辨别器损失函数来计算出实际损失,具体地,如果实际损失小于预设损失阈值,说明该次训练得到的转换语音符合要求,可以将该次训练作为最后一次训练,此时得到的内容编码器和生成器即可组成训练后的语音转换模型。如果实际损失大于预设损失阈值,则说明该次训练得到的转换语音不符合要求,需要重新再进行训练,即调整内容编码器和生成器两者的模型参数,再重新对输入样本语音和样本音进行处理,直到再次处理后得到的实际损失小于预设损失阈值即可。
[0088]
其中,预设辨别器损失函数可以根据以上公式计算得出。
[0089]
在上述实施例的基础上,优选地,所述语音转换模型在训练过程中的损失函数通过如下公式计算得到:
[0090]
l(g,ec)=l
adv
(g,ec)+l
fm
(g,ec)+l
con
(g,ec),
[0091][0092]
[0093][0094]
x=g(c,z),
[0095]
其中,l
adv
(g,ec)为内容编码器和生成器的训练损失函数,l
fm
(g,ec)为重构损失函数,l
con
(g,ec)为语言内容损失函数,ec表示所述内容编码器,ec(x)表示输入所述样本语音时所述内容编码器的输出,表示输入所述样本语音对应的内容编码器和所述转换后语音的音时所述生成器的输出。
[0096]
具体地,假设样本语音x由语义内容c和样本音z构成,即x=g(c,z),语言内容c描述不同说话人之间不变的信息即音,如音素和韵律等。为了转换样本对象y的语音x得到目标对象的转换后语音通过内容编码器映射得到语言内容c=ec(x),同时替换样本音则
[0097]
本文的目标是训练内容编码器ec、生成器g和辨别器d,直接利用one-hot编码用以提取样本音z。
[0098]
训练内容编码器ec、生成器g生成合成语音来欺骗辨别器d,同时对于特定说话人,辨别器d辨别转换后语音是否为合成语音,为了使转换后语音和真实语音之间难以区分,生成器g和辨别器d的对抗性损失函数定义为:
[0099][0100]
为了让生成器g利用说话人音信息,增加重构损失函数,其定义为:
[0101][0102]
为了使转换后的语音保持原有语言内容,提出语言内容损失函数,其定义为:
[0103][0104]
故辨别器d训练损失函数为l
adv
(d)、内容编码器ec、生成器g训练损失函数为:
[0105]
l(g,ec)=l
adv
(g,ec)+l
fm
(g,ec)+l
con
(g,ec)。
[0106]
其中,l
adv
(g,ec)为内容编码器和生成器的训练损失函数,l
fm
(g,ec)为重构损失函数,l
con
(g,ec)为语言内容损失函数,ec表示所述内容编码器,ec(x)表示输入所述样本语音时所述内容编码器的输出,表示输入所述样本语音对应的内容编码器和所述转换后语音的音时所述生成器的输出。
[0107]
在上述实施例的基础上,优选地,所述内容编码器由若干内容编码单元依次首尾连接组成,所述内容编码单元包括第一残差网络和下采样单元。
[0108]
内容编码器由若干个内容编码单元组成,具体地,本发明实施例中内容编码器由4个内容编码单元依次首尾连接组成,图6为本发明实施例中内容编码器的结构示意图,如图6所示,包括第一残差网络610和下采样单元620,其中,第一残差网络对源语音进行语义内容提取并编码,并将编码后的语义内容编码输入下采样单元中,得到语义内容编码。
[0109]
在上述实施例的基础上,优选地,所述生成器由若干生成单元依次首尾连接组成,所述生成单元包括上采样单元和第二残差网络。
[0110]
生成器由若干个生成单元组成,具体地,本发明实施例中生成器由4个生成单元依次首尾连接组成,图7为本发明实施例中生成器的结构示意图,如图7所示,生成器单元包括
上采样单元710和第二残差网络720,上采样单元用于对目标音进行上采样,第二残差网络用于根据上采样结果和语义内容编码,得到语音。
[0111]
在上述实施例的基础上,优选地,所述第二残差网络包括第一卷积单元、第二卷积单元、第三卷积单元、第一求和单元、第二求和单元、反正切计算单元、正弦计算单元和乘积单元,其中,所述第一卷积单元的输入为上采样的目标说话人音,所述第一卷积单元的输出和所述语义内容编码均与所述第一求和单元的输入连接,所述第一求和单元的输出分别与所述反正切计算单元、所述正弦计算单元的输入连接,所述反正切计算单元的输出、所述正弦计算单元的输出均与所述乘积单元的输入连接,所述乘积单元的输出与所述第二卷积单元的输入连接,所述语义内容编码与所述第三卷积单元的输入连接,所述第二卷积单元的输出和所述第三卷积单元的输出均与所述第二求和单元的输入连接。
[0112]
图8为本发明实施例提供的第二残差网络的结构示意图,如图8所示,该第二残差网络包括第一卷积单元810、第二卷积单元820、第三卷积单元830、第一求和单元840、第二求和单元850、反正切计算单元860、正弦计算单元870和乘积单元880,其中,所述第一卷积单元的输入为上采样的目标说话人音,所述第一卷积单元的输出和所述语义内容编码均与所述第一求和单元的输入连接,所述第一求和单元的输出分别与所述反正切计算单元、所述正弦计算单元的输入连接,所述反正切计算单元的输出、所述正弦计算单元的输出均与所述乘积单元的输入连接,所述乘积单元的输出与所述第二卷积单元的输入连接,所述语义内容编码与所述第三卷积单元的输入连接,所述第二卷积单元的输出和所述第三卷积单元的输出均与所述第二求和单元的输入连接。
[0113]
本发明实施例中的第二残差网络容易优化,通过叠加多个生成单元,能够通过增加相当的深度来提高准确率。
[0114]
图9为本发明实施例提供的一种基于神经网络的语音转换系统的结构示意图,如图9所示,该系统包括数据获取模块910、语义编码模块920和语义合成模块930,其中:
[0115]
数据获取模块910用于获取源语音和目标说话人音;
[0116]
语义编码模块920用于将所述源语音输入到内容编码器中,提取出所述源语音的语义内容,得到语义内容编码;
[0117]
语义合成模块930用于将所述语义内容编码和所述目标说话人音输入到生成器中,对所述语义内容编码和所述目标说话人音进行合成,获取目标语音,其中,语音转换模型包括所述内容编码器和所述生成器,所述语音转换模型以样本语音、样本音进行训练得到。
[0118]
本实施例为与上述方法相对应的系统实施例,详情请参考上述方法实施例,本系统实施例在此不再赘述。
[0119]
在上述实施例的基础上,优选地,所述语音转换模型还包括辨别器,所述语义合成模块包括第一合成单元、第二合成单元和第三合成单元,其中:
[0120]
所述第一合成单元用于将所述样本语音输入到所述内容编码器中,获取所述样本语音对应的语义内容编码;
[0121]
所述第二合成单元用于将所述样本语音对应的语义内容编码和所述样本音输入到所述生成器中,获取转换后语音;
[0122]
所述第三合成单元用于将所述转换后语音输入到所述辨别器中,判断所述转换后
语音是否为合成,若所述辨别器判断所述转换后语音是合成的,则调整所述编码器和所述生成器的参数,并利用调整后的编码器和调整后的生成器重新进行训练,直到所述辨别器判断所述转换后语音不是合成的。
[0123]
在上述实施例的基础上,优选地,所述第三合成单元包括判断单元,其中:
[0124]
所述判断单元用于根据所述辨别器对应的预设辨别器损失函数计算出样本实际损失,若所述样本实际损失在预设损失阈值之内,则判断所述转换后语音不是合成语音,否则,判断所述转换后语音是合成语音;
[0125]
其中,所述预设辨别器损失函数通过如下公式计算得到:
[0126][0127][0128]
其中,l
adv
(d)表示辨别器的训练损失函数,x表示所述样本语音,表示所述转换后语音,c表示所述样本语音对应的语义内容,表示所述样本音,d表示所述辨别器,g表示所述生成器,d(x)表示输入为所述样本语音时所述辨别器的输出,表示输入为所述转换后语音时所述辨别器的输出。
[0129]
在上述实施例的基础上,优选地,所述语音转换模型在训练过程中的损失函数通过如下公式计算得到:
[0130]
l(g,ec)=l
adv
(g,ec)+l
fm
(g,ec)+l
con
(g,ec),
[0131][0132][0133][0134]
x=g(c,z),
[0135]
其中,l
adv
(g,ec)为内容编码器和生成器的训练损失函数,l
fm
(g,ec)为重构损失函数,l
con
(g,ec)为语言内容损失函数,ec表示所述内容编码器,ec(x)表示输入所述样本语音时所述内容编码器的输出,表示输入所述样本语音对应的内容编码器和所述转换后语音的音时所述生成器的输出。
[0136]
在上述实施例的基础上,优选地,所述内容编码器由若干内容编码单元依次首尾连接组成,所述内容编码单元包括第一残差网络和下采样单元。
[0137]
在上述实施例的基础上,优选地,所述生成器由若干生成单元依次首尾连接组成,所述生成单元包括上采样单元和第二残差网络。
[0138]
在上述实施例的基础上,优选地,所述第二残差网络包括第一卷积单元、第二卷积单元、第三卷积单元、第一求和单元、第二求和单元、反正切计算单元、正弦计算单元和乘积单元,其中,所述第一卷积单元的输入为上采样的目标说话人音,所述第一卷积单元的输出和所述语义内容编码均与所述第一求和单元的输入连接,所述第一求和单元的输出分别与所述反正切计算单元、所述正弦计算单元的输入连接,所述反正切计算单元的输出、所述正弦计算单元的输出均与所述乘积单元的输入连接,所述乘积单元的输出与所述第二卷积单元的输入连接,所述语义内容编码与所述第三卷积单元的输入连接,所述第二卷积单元
的输出和所述第三卷积单元的输出均与所述第二求和单元的输入连接。
[0139]
上述基于神经网络的语音转换系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0140]
图10为本发明实施例中提供的一种计算机设备的结构示意图,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括计算机存储介质、内存储器。该计算机存储介质存储有操作系统、计算机程序和数据库。该内存储器为计算机存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行基于神经网络的语音转换方法过程中生成或获取的数据,如源语音、目标说话人音。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于神经网络的语音转换方法。
[0141]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的基于神经网络的语音转换方法的步骤。或者,处理器执行计算机程序时实现基于神经网络的语音转换系统这一实施例中的各模块/单元的功能。
[0142]
在一实施例中,提供一计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中基于神经网络的语音转换方法的步骤。或者,该计算机程序被处理器执行时实现上述基于神经网络的语音转换系统这一实施例中的各模块/单元的功能。
[0143]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0144]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0145]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应
包含在本发明的保护范围之内。
技术特征:
1.一种基于神经网络的语音转换方法,其特征在于,包括:获取源语音和目标说话人音;将所述源语音输入到内容编码器中,提取出所述源语音的语义内容,得到语义内容编码;将所述语义内容编码和所述目标说话人音输入到生成器中,对所述语义内容编码和所述目标说话人音进行合成,获取目标语音,其中,语音转换模型包括所述内容编码器和所述生成器,所述语音转换模型以样本语音、样本音进行训练得到。2.根据权利要求1所述的基于神经网络的语音转换方法,其特征在于,所述语音转换模型还包括辨别器,所述语音转换模型以样本语音、样本音进行训练得到,通过如下方式实现:将所述样本语音输入到所述内容编码器中,获取所述样本语音对应的语义内容编码;将所述样本语音对应的语义内容编码和所述样本音输入到所述生成器中,获取转换后语音;将所述转换后语音输入到所述辨别器中,判断所述转换后语音是否为合成,若所述辨别器判断所述转换后语音是合成的,则调整所述编码器和所述生成器的参数,并利用调整后的编码器和调整后的生成器重新进行训练,直到所述辨别器判断所述转换后语音不是合成的。3.根据权利要求2所述的基于神经网络的语音转换方法,其特征在于,所述将所述转换后语音输入到所述辨别器中,判断所述转换后语音是否为合成,包括:根据所述辨别器对应的预设辨别器损失函数计算出样本实际损失,若所述样本实际损失在预设损失阈值之内,则判断所述转换后语音不是合成语音,否则,判断所述转换后语音是合成语音;其中,所述预设辨别器损失函数通过如下公式计算得到:其中,所述预设辨别器损失函数通过如下公式计算得到:其中,l
adv
(d)表示辨别器的训练损失函数,x表示所述样本语音,表示所述转换后语音,c表示所述样本语音对应的语义内容,表示所述样本音,d表示所述辨别器,g表示所述生成器,d(x)表示输入为所述样本语音时所述辨别器的输出,表示输入为所述转换后语音时所述辨别器的输出。4.根据权利要求3所述的基于神经网络的语音转换方法,其特征在于,所述语音转换模型在训练过程中的损失函数通过如下公式计算得到:l(g,e
c
)=l
adv
(g,e
c
)+l
fm
(g,e
c
)+l
con
(g,e
c
),),),x=g(c,z),
其中,l
adv
(g,e
c
)为内容编码器和生成器的训练损失函数,l
fm
(g,e
c
)为重构损失函数,l
con
(g,e
c
)为语言内容损失函数,e
c
表示所述内容编码器,e
c
(x)表示输入所述样本语音时所述内容编码器的输出,表示输入所述样本语音对应的内容编码器和所述转换后语音的音时所述生成器的输出。5.根据权利要求1至4任一所述的基于神经网络的语音转换方法,其特征在于,所述内容编码器由若干内容编码单元依次首尾连接组成,所述内容编码单元包括第一残差网络和下采样单元。6.根据权利要求1至4任一所述的基于神经网络的语音转换方法,其特征在于,所述生成器由若干生成单元依次首尾连接组成,所述生成单元包括上采样单元和第二残差网络。7.根据权利要求6所述的基于神经网络的语音转换方法,其特征在于,所述第二残差网络包括第一卷积单元、第二卷积单元、第三卷积单元、第一求和单元、第二求和单元、反正切计算单元、正弦计算单元和乘积单元,其中,所述第一卷积单元的输入为上采样的目标说话人音,所述第一卷积单元的输出和所述语义内容编码均与所述第一求和单元的输入连接,所述第一求和单元的输出分别与所述反正切计算单元、所述正弦计算单元的输入连接,所述反正切计算单元的输出、所述正弦计算单元的输出均与所述乘积单元的输入连接,所述乘积单元的输出与所述第二卷积单元的输入连接,所述语义内容编码与所述第三卷积单元的输入连接,所述第二卷积单元的输出和所述第三卷积单元的输出均与所述第二求和单元的输入连接。8.一种基于神经网络的语音转换系统,其特征在于,包括:数据获取模块,用于获取源语音和目标说话人音;语义编码模块,用于将所述源语音输入到内容编码器中,提取出所述源语音的语义内容,得到语义内容编码;语义合成模块,用于将所述语义内容编码和所述目标说话人音输入到生成器中,对所述语义内容编码和所述目标说话人音进行合成,获取目标语音,其中,语音转换模型包括所述内容编码器和所述生成器,所述语音转换模型以样本语音、样本音进行训练得到。9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述基于神经网络的语音转换方法的步骤。10.一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述基于神经网络的语音转换方法的步骤。
技术总结
本发明属于人工智能技术领域,提出一种基于神经网络的语音转换方法、系统、设备及存储介质,该方法包括:获取源语音和目标说话人音;将源语音输入到内容编码器中,提取出源语音的语义内容,得到语义内容编码;将语义内容编码和目标说话人音输入到生成器中,获取目标语音,其中,所述语音转换模型以样本语音、样本音进行训练得到。本发明实施例中在制作训练样本时,只需要采集样本语音和样本音,通过将第二人音信息从第二人语音中分离出来即可得到,由于不需要第二人的语义内容,可以对第二人的说话内容不做限定,避免了现有技术中第一人和第二人必须说相同内容的限制,节省了大量数据制作成本和时间,提高了效率。提高了效率。提高了效率。
技术研发人员:
郭洋 王健宗 程宁
受保护的技术使用者:
平安科技(深圳)有限公司
技术研发日:
2022.05.13
技术公布日:
2022/7/8