1.本发明涉及人工智能技术领域,尤其是一种多语言语音合成方法、系统、设备和存储介质。
背景技术:2.端到端语音合成已经能够实时产生听感自然的似人语音。当扩展这些端到端的语音合成模型以应用于多种语言时,扩展后的语音合成模型无法较好地进行多种语言语音合成,例如在多种语言之间的训练不平衡时,语音合成模型无法将训练量较少的语言转换成语音。相关技术中,多语言语音合成主要采取迁移学习、知识共享和语音克隆三个思路。迁移学习是通过迁移高质量的数据语言训练得到的合成模型以训练低质量数据资源对应的语音合成模型。知识共享考虑使用多语言数据联合训练单一的共享合成模型。语音克隆需要同一说话人录制多种语言的语音,即跨语言语音克隆。而上述三种多语言语音合成方式只同时支持2
‑
3种语言,或需要大量训练数据。
技术实现要素:3.本发明的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
4.为此,本发明实施例提供了一种多语言语音合成方法、系统、设备和存储介质,无需大量训练数据,即能提高多语言语音转换结果的准确率。
5.一方面,本发明实施例提供了一种多语言语音合成方法,包括以下步骤:
6.获取多种类型的语言文本和语言编号,每种所述语言文本对应一种所述语言编号;
7.将多种类型的所述语言编号输入语言编码模型,以生成与所述语言文本对应的参数向量;
8.将多种类型的所述语言文本输入文本编码模型,以提取所述语言文本对应的所述参数向量,其中,所述文本编码模型包括多个文本编码组;
9.每个所述文本编码组根据所述参数向量对所述语言文本进行编码,得到所述语言文本的输出向量;
10.将预先获取的语音合成参数信息和所述输出向量进行拼接,得到目标语言向量;
11.对所述目标语言向量进行梅尔谱解码,得到梅尔谱图;
12.将所述梅尔谱图转换成目标语音。
13.另一方面,本发明实施例提供了一种多语言语音合成系统,包括:
14.获取模块,用于获取多种类型的语言文本和语言编号,每种所述语言文本对应一种所述语言编号;
15.第一输入模块,用于将多种类型的所述语言编号输入语言编码模型,以生成与所述语言文本对应的参数向量;
16.第二输入模块,用于将多种类型的所述语言文本输入文本编码模型,以提取所述
语言文本对应的所述参数向量,其中,所述文本编码模型包括多个文本编码组;
17.编码模块,用于每个所述文本编码组根据所述参数向量对所述语言文本进行编码,得到所述语言文本的输出向量;
18.拼接模块,用于将预先获取的语音合成参数信息和所述输出向量进行拼接,得到目标语言向量;
19.解码模块,用于对所述目标语言向量进行梅尔谱解码,得到梅尔谱图;
20.转换模块,用于将所述梅尔谱图转换成目标语音。
21.另一方面,本发明实施例提供了一种多语言语音合成设备,包括:
22.至少一个存储器,用于存储程序;
23.至少一个处理器,用于加载所述程序以执行前面实施例的多语言语音合成方法。
24.另一方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行前面实施例的多语言语音合成方法。
25.本发明实施例的有益效果包括:本实施例通过获取具有对应关系的语言文本和语言编号,将语言编号输入语言编码模型,并控制语言编码模型生成语言编号对应的所述语言文本的参数向量,接着将多种类型的语言文本输入文本编码模型,控制文本编码模型内的多个文本编码组从语言编码模型提取语言文本对应的参数向量,并控制每个文本编码组根据参数向量对语言文本进行编码,得到语言文本对应的输出向量,然后将预先获取的语音合成参数信息和输出向量进行拼接后得到目标语言向量,对目标语言向量进行梅尔谱解码后得到梅尔谱图,将梅尔谱图转换成目标语音,本实施例通过多个文本编码组分别对不同的语言文本进行处理,从而无需依赖一个人多种语言的能力,也无需大量的训练数据,即能提高多语言语音转换结果的准确率。
26.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易将,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
27.附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
28.图1为本发明实施例的一种多语言语音合成方法的流程图;
29.图2为本发明实施例的一种多语言语音合成模型的结构示意图;
30.图3为本发明实施例的一种多语言语音合成系统的模块示意图;
31.图4为本发明实施例的一种多语言语音合成设备的模块示意图;
32.图5为本发明实施例的一种多语言语音合成设备的结构示意图。
具体实施方式
33.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
34.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻
辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
35.语音合成又称为文语转换(text to speech)技术,指将任意文字信息实时转化为标准流畅的语音朗读出来。在语音合成的过程中,需要先对语言合成模型进行训练。目前,对于多语音合成模型的训练过程,主要依赖于说话人具有多种类型的语言说话能力,例如,对于多语言合成模型a,当需要训练中文语音合成、英文语音合成、法语语音合成时,需要说话人能够同时具备录制中文语音、英文语音和法语语音的能力。具体地,模型在训练过程中,将中文文本、英文文本和法语文本分与该说话人的语音建立联系,并训练学习这种关联联系,比如学习中文文本转换成中文语音的联系、中文文本转换成英语语音的联系、英文文本转换成英文语音的联系、英文文本转换成中文的联系,这种联系依赖于这些语音来自于同一个说话人的语音,从而使得多语言模型过于依赖说话人的语言能力。
36.基于此,本发明实施例提供了一种多语言语音合成方法、系统、设备和存储介质。本实施例的方法通过在文本编码模型内设置多个文本编码组,以通过多个文本编码组分别对不同的语言文本进行处理,从而无需依赖一个人多种语言的能力,也无需大量的训练数据,即能提高多语言语音转换结果的准确率。
37.具体地,如图1所示,本发明实施例提供了一种多语言语音合成方法,该方法可基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
38.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
39.在一些可选的实施例中,图1所示方法可应用于服务器。其中,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
40.具体地,图1所示方法包括以下步骤:
41.s11、获取多种类型的语言文本和语言编号,其中,每种语言文本对应一种语言编号。
42.在本技术实施例中,多种类型的语言文本可以是从服务网页中自动调取的,也可以是从用户终端获取的。以从用户终端获取为例,多个类型的语言文本可以包括中文文本“我喜欢唱歌”、英语文本“i like singing”、俄语文本“ялюблюпеть”,每一个语言文本对应一个语言编号,该语言编号对应有语言文本的隐藏参数,例如语言文本中每个字的音调。
43.s12、将多种类型的语言编号输入语言编码模型,以生成与所述语言文本对应的参数向量。
44.在本技术实施例中,语言编码模型包括嵌入层、全连接层和激活层。其中,本实施
例的激活层作为第二激活层。具体地,当语言编号输入到语言编码模型内时,语言编码模型内的嵌入层将该语言编号转化为全连接层能够调用的形式,例如转化为嵌入向量。然后通过全连接层对嵌入向量进行分类,例如将嵌入向量分类为中文文本的向量、英文文本的向量等。在本实施例中,为了解决语言编码模型内输出处理过程中梯度消失的问题,在全连接层后增加激活层。例如,增加softsign函数作为激活层,以通过softsign函数增加嵌入向量的非线性特征,从而解决全连接层对嵌入向量分类过程中的梯度消失问题,并增加全连接层的学习能力,使得整个语言编码模型的输出向量能够实现不同类型的语言参数之间的共享。
45.s13、将多种类型的语言文本输入文本编码模型,以提取语言文本对应的所述参数向量,根据参数向量对语言文本进行编码,得到语言文本的输出向量,其中,文本编码模型包括多个文本编码组。
46.在本技术实施例中,每个文本编码组均包括分组卷积层和双向门控循环层,其中,分组卷积层用于提取语言文本的局部信息,双向门控循环层用于提取语言文本的上下文信息。具体地,分组卷积层相对于正常卷积,其参数更少,因此对于服务器的容量要求更低。此外,由于分组卷积的参数少,相对于训练过程所需的训练样本量就更少。双向门控循环层包括双向gru,双向gru是循环神经网络(rnn,recurrent neural network)的改进模型,双向gru能够解决rnn网络中梯度消失的问题。在双向gru中,使用了更新门(update gate)和重置门(reset gate),这两个门控向量决定了那些信息能够作为双向gru的输出。具体地,更新门用于控制如何将新的输入信息与前面的记忆相结合;更新门用于控制前面记忆保存到当前时间步的量。因此,更新门和重置门的共同作用能够保存长期序列中的信息,且不会随时间而清除或因为与预测不相关而删除。
47.在本实施例中,在分组卷积和双向门控循环层之间还设有批归一化层、第一激活层和筛选层。其中,批归一化层的输入端连接分组卷积层的输出层,批归一化层的输出端连接第一激活层的输入端,第一激活层的输出端连接筛选层的输入端,筛选层的输出端连接双向门控循环层的输入端。在数据处理过程中,批归一化层用于将分组卷积层输出的局部信息输入到第一激活层的敏感区,第一激活层用于在局部信息增加非线性特征,筛选层用于确定当前工作的神经元。具体地,批归一化层可以采用batchnorm层,batchnorm层使一种特征归一化的方法,能够将分组卷积层输出的局部信息输入到第一激活层的敏感区,从而加快文本编码模型在训练过程的收敛速度。第一激活层可以采用softsign函数,以通过softsign函数增加分组卷积训练过程中的非线性特征,从而增加文本编码组的学习能力。筛选层可以采用dropout层,dropout层是指在文本编码组进行模型训练的过程中,按照一定的概率将一部分神经网络单元暂时从网络中丢弃,相当于从原始的网络中找到更瘦的网络,从而加快模型的训练过程。
48.在本实施例中,当多种类型的语言文本输入文本编码模型后,文本编码模型内对应的文本编码组即能从语言编码模型提取对应的参数向量。例如,文本编码模型内的文本编码组b接收到中文文本,则文本编码组b判断该文本为中文文本后,从语言编码模型内提取中文文本对应的参数向量。又比如,文本编码模型内的文本编码组c接收到英文文本,则文本编码组c判断该文本为英文文本后,从语言编码模型内提取英文文本对应的参数向量。当文本编码组得到语言文本和对应的参数向量后,根据参数向量内的隐藏信息对语言文本
进行编码,例如根据参数向量内的音调信息对语言文本进行编码,从而使文本编码组的输出向量能携带该文本信息的音调信息,使得后续转换成语音时,能够得到正确的发音。
49.s14、将预先获取的语音合成参数信息和输出向量进行拼接,得到目标语言向量。
50.在本技术实施例中,语音合成参数信息中携带了说话人的发音特征信息,例如,说话的语速、语调、音色等特征信息,这些语音合成参数信息预先存储在语音数据库内。在本实施例中,当需要使用该语音合成参数信息时,从语音数据内调用,即能有效执行后续步骤。本实施例通过将语音合成参数信息在输出向量的末端进行拼接,即在输出向量的末端设置语音合成参数信息,使得目标语言向量上携带有该输出向量的文本信息和语音合成参数信息对应的语速、语调和音色等信息。在本实施例中,为了提高后续识别过程的准确度,可将语音合成参数信息拼接在输出向量的后面,从而使得目标语言向量的接收方,能够根据末端的语音合成参数信息确定该输出向量对应语音的音色、语速和语调等内容。此外,语音合成参数信息也可以拼接在输出向量的前面,具体位置可以根据实际的设计需求进行调整。
51.s15、对目标语言向量进行梅尔谱解码后得到梅尔谱图,并将梅尔谱图转换成目标语音。
52.在本技术实施例中,由于目标语言向量对应的音素序列与频谱序列的时间长度是不对应的,而在语音播放过程中,需要根据频谱序列的长度进行指定语速的播放过程,因此,本实施例在进对目标语言向量进行梅尔谱解码之前,需要预测目标语言向量中每一个音素的发音时长,然后根据每一个音素的发音时长来对目标语言向量进行解码,从而使得解码得到的梅尔谱图在频谱序列上按序分布,从而使得播放出的语音接近人的实际发音效果。
53.在一些实施例中,将上述方法实施例应用于图2所示的多语言语音合成模型。其中,图2所示的多语言语音合成模型包括语言编码模型、文本编码模型、拼接器、差异适配模型和梅尔谱解码模型。语言编码模型包括嵌入层、两个全连接层和激活层;文本编码模型包括若干个文本编码组,每个文本编码组均包括分组卷积层、batchnorm层、softsign函数、dropout层和双向gru;拼接器采用
“⊕”
表示。
54.具体地,在图2所示模型中,对于为每个类型的语言使用一个具有fft(fast fourier transform,快速傅里叶变换)的独立文本编码模型是不现实的,因为这涉及到通过多个文本编码模块顺序进行分批训练的过程,相当于多个语言之前的平衡。因此,本实施例的文本编码模型采用分组卷积层。其中,分组卷积相对于通用卷积,其计算量更小,同时还能提取到语言文本上更为丰富的局部信息。本实施例的分组卷积和采为3*1,分组卷积的数量与语言文本的类型数相等。每个分组卷积层后面均设有batchnorm层、激活层、dropout层和双向gru层。batchnorm层用于将分组卷积处理后的信息输入到激活层的敏感区,使激活层能通过敏感区对收到的信息增加非线性特征,从而提高模型对语言文本编码的学习能力。dropout层用于选择分组卷积的当前工作的神经元,从而加快模型的学习速度。在得到语言文本的局部特征信息后,通过双向gru层提取语言文本的上下文信息,从而使得编码后的向量更能表达语言文本的实质内容。
55.图2的模型所示的语言编码模型用于为文本编码模型提供额外的语言相关信息,例如语言文本内每个字的发音音符。语言编号可以采用one
‑
hot编码表示,例如采用“0,0,
0,0,0,0,0,0,0,1”表示中文语言文本的编号,采用“0,0,0,0,0,0,0,0,1,0”表示英文语言文本的编号。采用嵌入层embeding将语言标号转换为嵌入向量,该嵌入向量的维度可设置为10,嵌入层的维度可设置为16维。然后通过两个16维的全连接层根据该嵌入向量生成语言文本对应的参数,即语言相关信息。最后通过激活层内的softsign激活函数增加全连接层上处理信息的非线性特征。
56.在得到文本编码模型的输出向量后,在拼接器上将输出向量与语音合成参数信息进行拼接,以在梅尔谱解码模型进行解码过程中,提供说话人的信息,例如说话人的声音音色、语速以及说话人的语言类型等信息。当语言编码模型内设置有多个文本编码组时,多个文本编码组分别得到各种处理文本类型对应输出向量时,拼接器即能分别在每个输出向量上拼接一个语音合成参数信息,从而使得梅尔谱解码模型在进行解码时,可以解码得到多个语言类型的梅尔谱图。在一些实施例中,文本编码模型的输出向量可以与不同类型的语音合成参数信息进行拼接,从而使得梅尔谱解码器可以得到与语言文本的类型不相同的梅尔谱图。例如,语言文本为中文语言文本,则在拼接器进行拼接时,可以拼接中文说话人的向量,也可以拼接英文说话人的向量。当拼接的是中文语音合成参数信息,则梅尔谱解码器解码得到的是中文语音对应的梅尔谱图;当拼接的是英文语音合成参数信息,则梅尔谱解码器解码得到的是英文语音对应的梅尔谱图,即本实施例的多语言合成模型,在进行多语言文本同步处理的同时,还能实现跨语言语音的处理。
57.在图2所示模型的梅尔谱解码模型进行解码之前,拼接器拼接后的向量会输入到差异适配器上,以通过差异适配器提供该向量的时长差异信息,即该向量对应音素序列与梅尔谱图上频谱序列之间的时间差异,并将该时间差异发送到梅尔谱解码模型上。梅尔谱解码模型根据该时间差异对拼接器拼接后的向量进行解码,从而得到语言文本对应的梅尔谱图。梅尔谱图是一种对数谱,用于表示人类听觉的灵敏度与声音频谱之间的关系。当得到语言文本对应语音的梅尔谱图后,即能将该语言文本的内容以声音的方式表达出。
58.在一些实施例中,以实际应用过程对图1所述的方法进行阐述:
59.获取需要进行语音合成的语言文本和该语言文本对应的语言编号,例如“我的家乡很漂亮”,对应的语言编号为“0,0,0,0,0,0,0,0,0,1”。将语音编号输入语言编码模型。语言编码模型对该语言编号进行编码,并输出与该语言编号相关联的编码向量,其中,该编码向量携带有语言文本的隐藏信息,例如语言文本对应语言类型的读音信息。将该语言文本输送到文本编码模型。文本编码模型根据该语言文本从语言编码模型内获取对应的编码向量,并根据该编码向量对语言文本进行编码,比如根据语言文本的局部特征信息和上下文信息进行编码,然后输出该语言文本对应的输出向量,并在该输出向量的末端拼接一个语音合成参数信息,该语音合成参数信息用于指向该语言文本对应的目标语音类型。当输出向量和语音合成参数信息完成拼接后,梅尔谱解码模型即能对该拼接后的向量进行解码得到梅尔谱图,根据该梅尔谱图,即能将该语言文本的内容以声音的方式表达出。
60.参照图3,本发明实施例提供了一种多语言语音合成系统,包括:
61.获取模块310,用于获取多种类型的语言文本和语言编号,每种语言文本对应一种所述语言编号;
62.第一输入模块320,用于将多种类型的语言编号输入语言编码模型,以生成与语言文本对应的参数向量;
multiple access,码分多址)、wcdma(wideband code division multiple access,宽带码分多址)、lte(long term evolution,长期演进)、电子邮件、sms(short messaging service,短消息服务)等。
78.存储器520可用于存储软件程序以及模块。处理器580通过运行存储在存储器520的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音录制功能、图像查看功能等)等;存储数据区可存储根据设备的使用所创建的数据(比如音频数据、文本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器520还可以包括存储器控制器,以提供处理器580和输入单元530对存储器520的访问。
79.输入单元530可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元530可包括触敏表面531以及其他输入设备532。触敏表面531,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面531上或在触敏表面531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面531。除了触敏表面531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
80.显示单元540可用于显示由用户输入的信息或提供给用户的信息以及控制的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元540可包括显示面板541,可选的,可以采用lcd(liquid crystal display,液晶显示器)、oled(organic light
‑
emitting diode,有机发光二极管)等形式来配置显示面板541。进一步的,触敏表面531可覆盖在显示面板541之上,当触敏表面531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。
81.以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
82.本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行图1所示的多语言语音合成方法。例如,执行上述实施例中的信息处理方法,例如,执行以上描述的图1中的方法步骤s11至s15。
83.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或
者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd
‑
rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
84.以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。