CN114446278A - 语音合成方法及装置、设备以及存储介质 - Google Patents

语音合成方法及装置、设备以及存储介质 Download PDF

Info

Publication number
CN114446278A
CN114446278A CN202210103280.3A CN202210103280A CN114446278A CN 114446278 A CN114446278 A CN 114446278A CN 202210103280 A CN202210103280 A CN 202210103280A CN 114446278 A CN114446278 A CN 114446278A
Authority
CN
China
Prior art keywords
information
language
text
speaker
encoder
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.)
Pending
Application number
CN202210103280.3A
Other languages
English (en)
Inventor
李飞腾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Liulishuo Information Technology Co ltd
Original Assignee
Shanghai Liulishuo Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Liulishuo Information Technology Co ltd filed Critical Shanghai Liulishuo Information Technology Co ltd
Priority to CN202210103280.3A priority Critical patent/CN114446278A/zh
Publication of CN114446278A publication Critical patent/CN114446278A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/027Concept to speech synthesisers; Generation of natural phrases from machine-based concepts
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Machine Translation (AREA)

Abstract

一种语音合成方法及装置、设备以及存储介质,所述语音合成方法包括:提供训练语料,所述训练语料包括说话人信息、语种信息以及文本信息;对所述说话人信息进行特征提取处理,获得说话人特征;对所述语种信息进行语种编码处理,获得语种编码结果;基于对所述说话人信息、以及对语种信息均进行解耦处理后更新的参数,对所述文本信息进行文本编码处理,获得文本编码结果;对所述文本编码结果、说话人特征以及所述语种编码结果进行解码处理,获得声学频谱;基于所述声学频谱,进行音频合成处理,生成与文本信息对应的语音音频。本发明实施例提高语音合成对多种语言进行交叉迁移的能力、节省语音合成的成本。

Description

语音合成方法及装置、设备以及存储介质
技术领域
本发明实施例涉及语音处理领域,尤其涉及一种语音合成方法及装置、设备以及存储介质。
背景技术
语音合成又称文语转换(Text to Speech,TTS)技术是语音处理领域的一个重要研究方向,旨在让机器生成自然动听的人类语音。语音合成技术既可以单独适用于不同的场景之内、也可以作为尾环节嵌入到语音交互的整体方案中。
传统的语音合成技术内部分为前端和后端。前端主要负责文本的语言解析和处理、其处理内容主要包括语种、分词、词性预测、多音字处理、韵律预测、情感等。把文本上的发音的这些信息都预测出来之后、将信息送给TTS的后端系统、后台声学系统配合这些信息之后.将内容转化为语音。后端声学系统发展历程较长,从第一代的语音拼接合成,到第二代的语音参数合成,到第三代端到端合成,后端声学系统的智能化程度逐步增加,需要标记的详细程度和难度也在逐步减弱。
但是,目前语音合成的语言迁移能力仍有待提高。
发明内容
本发明实施例解决的问题是提供一种语音合成方法及装置、设备以及存储介质,提高语音合成对多种语言进行交叉迁移的能力、节省语音合成的成本。
为解决上述问题,本发明实施例提供一种语音合成方法,包括:提供训练语料,所述训练语料包括说话人信息、语种信息以及文本信息;对所述说话人信息进行特征提取处理,获得说话人特征;对所述语种信息进行语种编码处理,获得语种编码结果;基于对所述说话人信息、以及对语种信息均进行解耦处理后更新的参数,对所述文本信息进行文本编码处理,获得文本编码结果;对所述文本编码结果、说话人特征以及所述语种编码结果进行解码处理,获得声学频谱;基于所述声学频谱,进行音频合成处理,生成与文本信息对应的语音音频。
相应的,本发明实施例还提供一种语音合成装置,包括:训练语料提供模块,用于提训练语料,所述训练语料包括说话人信息、语种信息以及文本信息;说话人特征提取器,用于对所述说话人信息进行特征提取处理,获得说话人特征;语种编码器,用于对所述语种信息进行语种编码处理,获得语种编码结果;文本编码器,用于基于与所述说话人信息以及与语种信息均进行解耦处理后更新的参数,对所述文本信息进行文本编码处理,获得文本编码结果;解码器,用于对所述编码结果、说话人特征以及所述语种编码结果进行解码处理,获得声学频谱;音频合成模块,用于基于所述声学频谱,进行音频合成处理,生成与文本信息对应的语音音频。
相应的,本发明实施例还提供一种设备,包括至少一个存储器和至少一个处理器,所述存储器存储有一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现本发明实施例提供的语音合成方法。
相应的,本发明实施例还提供一种存储介质,所述存储介质存储有一条或多条计算机指令,所述一条或多条计算机指令用于实现本发明实施例提供的语音合成方法。
与现有技术相比,本发明实施例的技术方案具有以下优点:
本发明实施例提供的语音合成方法,基于对所述说话人信息、以及对语种信息进行解耦处理后更新的参数,对所述文本信息进行文本编码处理,获得文本编码结果,从而有利于将文本编码结果与语种信息分离以及说话人信息分离,从而提高进行文本编码处理的过程与语种信息以及说话人信息之间的独立性,相应提高了进行文本编码处理的泛化能力,进而有利于提高语音合成对多种语言进行交叉迁移的能力,相应仅需单语种语料便可合成不同语种的语音音频,节省了语音合成的成本。
本发明实施例提供的语音合成装置中,文本编码器基于与所述说话人信息以及与语种信息均进行解耦处理后更新的参数,对所述文本信息进行文本编码处理,获得文本编码结果,有利于使文本编码器与所述语种信息分离、以及与所述说话人信息分离,从而提高进行文本编码器与语种信息、以及与说话人信息之间的独立性,相应提高了文本编码器的泛化能力,进而有利于提高语音合成装置对多种语言进行交叉迁移的能力,相应仅需单语种语料便可合成不同语种的语音音频,节省了语音合成的成本。
附图说明
图1是本发明语音合成方法一实施例的流程示意图;
图2是图1中步骤S4一实施例的流程示意图;
图3是本发明语音合成装置一实施例中的功能框图;
图4是本发明一实施例提供的设备的硬件结构图。
具体实施方式
由背景技术可知,目前语音合成的语言迁移能力仍有待提高。
具体地,在语音合成的过程中,通常采用音位或其他语言学特征作为输入,因此语音合成的模型受限于训练语料的语言特征。而通常来说,仅能够获得一个说话人的一种语言的数据,这导致语音合成模型缺乏相对应的训练数据,进而导致语音合成的语言迁移能力较差。
假如要合成交叉语言的文本,则需要在训练时加入交叉语言的训练数据。这样的训练数据通常需要能够熟练多种语言的专业人士进行录制,导致获取训练数据的成本和难度极高,进而增加了语音合成的成本。
为了解决所述技术问题,本发明实施例提供一种语音合成方法。参考图1,示出了本发明语音合成方法一实施例的流程示意图。
本实施例中,所述语音合成方法包括以下基本步骤:
步骤S1:提供训练语料,所述训练语料包括说话人信息、语种信息以及文本信息;
步骤S2:对所述说话人信息进行特征提取处理,获得说话人特征;
步骤S3:对所述语种信息进行语种编码处理,获得语种编码结果;
步骤S4:基于文本编码器与所述说话人信息以及与语种信息均进行解耦处理后更新的参数,对所述文本信息进行文本编码处理,获得文本编码结果;
步骤S5:对所述编码结果、说话人特征以及所述语种编码结果进行解码处理,获得声学频谱;
步骤S6:基于所述声学频谱,进行音频合成处理,生成与文本信息对应的语音音频。
本发明实施例提供的语音合成方法,基于对所述说话人信息、以及对语种信息均进行解耦处理后更新的参数,对所述文本信息进行文本编码处理,获得文本编码结果,有利于使进行文本编码处理的过程与所述语种信息分离、以及与所述说话人信息分离,从而提高进行文本编码处理的过程与语种信息、以及与说话人信息之间的独立性,相应提高了进行文本编码处理的泛化能力,进而有利于提高语音合成对多种语言进行交叉迁移的能力,相应仅需单语种语料便可合成不同语种的语音音频,节省了语音合成的成本。
为使本发明实施例的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参考图1,执行步骤S1:提供训练语料,所述训练语料包括说话人信息、语种信息以及文本信息。
所述训练语料用于作为训练数据,从而提供说话人信息、语种信息和文本信息,以便后续能够对说话人信息进行特征提取处理,对语种信息进行语种编码处理,以及对文本信息进行文本编码处理。
本实施例中,所述训练语料可以仅为单语种语料,而不需要录制交叉语言语料,进而有利于降低语音合成的成本。
所述训练语料通常是大量由一个或多个说话人录制而成的口语语音数据,包含转录文件和音频文件。其中,从所述转录文件中可以获取文本信息和对应的语种信息,从音频文件中可以获取说话人信息。
具体地,所述说话人信息用于对说话人的身份进行辨识,具体可以包括说话人的音色信息、年龄信息和性别信息中的任意一种或多种。
作为示例,说话人信息可以是包括用于表征音色信息、年龄信息和性别信息的标签信息。例如,说话人信息可以包括“青年男性”,“青年女性”,“中年男性”,“中年女性”,“老年男性”,“老年女性”,“儿童”。其中,所述音色信息可以通过声纹信息表征。
所述文本信息为需要合成的语音音频对应的输入文本。本实施例中,所述文本信息采用国际音标作为输入,并且,为了实现更好的跨语言交叉迁移,还对各个语言的音位采取了共享和统一映射。
作为一示例,中文音位原本有66个(不包含声调),在进行映射后得到38个国际音标。并且,为了支持中文,还会在文本信息中额外加入拼音对应的音调。本实施例中,文本信息中包含5个拼音音调,包含一声、二声、三声、四声以及轻声。
所述语种信息可以基于所述文本信息获取。例如:基于所述文本信息,判断对应的语种,例如:语种为中文、英文、法语、德语等。例如:基于文本输入的词形和包含的声调信息,可以判断文本信息对应的语种信息为中文。
继续参考图1,执行步骤S2:对所述说话人信息进行特征提取处理,获得说话人特征。具体地,本实施例中,将所述说话人信息输入至说话人特征提取器进行特征提取处理。
对所述说话人信息进行特征提取处理,以获得说话人特征,从而能够支持多人的语音合成。
作为一实施例,多个所述说话人信息被嵌入在对应的说话人表格中;对所述说话人信息进行特征提取处理,获得所述说话人特征包括:利用说话人的身份ID,在所述说话人表格中查找对应的说话人信息,进而获取说话人的特征。
相应的,所述说话人特征包括:说话人的音色信息、年龄信息和性别信息中的任意一种或多种。
需要说明的是,以上对所述说话人信息进行特征提取处理仅作为一种示例,对所述说话人信息进行特征提取处理的方式不仅限于此。
继续参考图1,执行步骤S3:对所述语种信息进行语种编码处理,获得语种编码结果。对所述语种信息进行语种编码处理,以便后续对语种编码结果、以及文本编码结果和说话人特征进行解码处理,获得声学频谱。
本实施例中,将所述语种信息输入至语种编码器进行语种编码处理。将语种信息输入至语种编码器进行语种编码处理,所获得的语种编码结果不会输入至文本编码器中,从而保证文本编码器独立于所述语种信息。
作为一实施例,对所述语种信息进行语种编码处理的步骤包括:将多个所述语种信息嵌入在对应的语种表格中;对所述语种信息进行处理,在所述语种表格中查找对应的语种信息,进而获取所述语种的特征。
具体地,所述语种编码结果为语种信息。
继续参考图1,执行步骤S4:基于对说话人信息、以及对语种信息均进行解耦处理后更新的参数,对文本信息进行文本编码处理,获得文本编码结果。
基于对所述说话人信息、以及对语种信息均进行解耦处理后更新的参数,对所述文本信息进行文本编码处理,获得文本编码结果,有利于使进行文本编码处理的过程与所述语种信息分离、以及与所述说话人信息分离,从而提高进行文本编码处理的过程与语种信息、以及与说话人信息之间的独立性,相应提高了进行文本编码处理的泛化能力,进而有利于提高语音合成对多种语言进行交叉迁移的能力,相应仅需单语种语料便可合成不同语种的语音音频,节省了语音合成的成本。
结合参考图2,示出了图1中的步骤S1一实施例的流程示意图。
本实施例中,基于对所述说话人信息、以及对语种信息均进行解耦处理后更新的参数,对所述文本信息进行文本编码处理的步骤S4包括:
参考图2,执行步骤S41:将文本信息输入至文本编码器进行文本编码处理。
所述文本编码器用于对文本信息进行文本编码处理,以获得文本编码结果。
在具体实施中,所述文本编码器用于对文本信息中所包含的序列信息进行提取并压缩成固定长度的向量,作为输入文本的编码表示。
具体地,本实施例中,所述文本编码器把文本信息中包含的序列信息转换成一个隐层表征,以便后续对隐层表征进行解码处理获得声学频谱。
作为一种实施例,所述文本编码器可以包含:依次连接的字符嵌入层(CharacterEmbedding)、3层卷积层以及循环神经网络(Recurrent neural network,RNN)层。
其中,所述字符嵌入层用于将输入的文本信息编码成字符向量。
卷积层用于对输入层的数据进行特征提取,即提取字符嵌入的隐含特征。
所述RNN是一类具有循环连接结构的网络,它能够记忆之前时刻输入的信息并储存在记忆单元中,在计算时将综合处理当前时刻输入序列与之前的记忆内容再输出,完成输入序列到输出序列的建模,从而能够关注长时间跨度的序列信息,进而能够考虑到上下文内容。
作为一实施例,所述RNN可以为双向LSTM(Long Short-Term Memory,长短期记忆)层。所述双向LSTM层通过引入记忆细胞单元的概念,可以解决RNN的梯度消失问题,从而使长时间跨度前的输入信息影响到当前输出结果,进而增大所捕获到的上下文内容的范围。
需要说明的是,本实施例中,以上对文本编码处理的描述仅作为一种示例,所述文本编码器的实施方式不仅限于此。
继续参考图2,执行步骤S42:对文本编码器与语种信息之间进行第一解耦处理。
对文本编码器和语种信息进行第一解耦处理,有利于提高所述文本编码器与所述语种信息之间的独立性,使更新后的文本编码器的参数较少的携带语种信息,提高了文本编码器的泛化能力,相应使得多种语种之间可以交叉迁移。
作为一实施例,对所述文本编码器与所述语种信息之间进行第一解耦处理包括:提供第一语种分类器;对所述文本编码器和第一语种分类器进行对抗训练(adversarialtraining)。在自然语言处理领域中,对抗训练作为一种正则化手段,能够提高模型的泛化能力,同时还能够提高鲁棒性。
在其他实施例中,还可以采用其他的方式,对文本编码器与所述语种信息之间进行第一解耦处理。
作为一种实施例,对所述文本编码器和第一语种分类器进行对抗训练包括:基于所述文本编码结果和语种信息,利用损失函数更新所述第一语种分类器的参数,并将反转后的梯度传递至文本编码器,对文本编码器进行参数更新处理。
也就是说,本实施例中,在所述文本编码器和第一语种分类器之间设置了梯度反转层(Gradient Reversal Layer),利用所述梯度反转层,对所述文本编码器和第一语种分类器之间进行对抗训练。
具体地,将所述文本编码结果输出至所述第一语种分类器,计算语种分类的损失(预测值和真实值的差距),并基于所述语种分类的损失(loss)来计算梯度,在对所述梯度进行反转后传递至所述文本编码器,从而更新所述文本编码器的参数,进而使得所述梯度反转层前后的第一语种分类器和所述文本编码器的训练目标相反,以实现对抗训练的效果。
本实施例中,所述损失函数为交叉熵损失函数(Cross-entropy loss function),利用公式(I)计算语种分类损失:
Llanguage(φ;ti)=crossentropy(D(ti),li) (I)
其中,li为语种标签,ti为文本编码器输出的文本编码结果,D(.)是一层全连接映射层。
所述语种标签可以通过语种信息获得,所述全连接映射层用于将文本编码结果映射到和语种标签的种类同维度,通过计算交叉熵损失函数来更新第一语种分类器的参数φ。
交叉熵损失函数为常用的损失函数,因此,本实施例中,以损失函数为交叉熵损失函数为示例进行说明。损失函数的类型不仅限于此,例如:在其他实施例中,所述损失函数还可以为最小化互信息损失函数。
本实施例中,在计算第一语种分类器的语种分类损失之后,将反转后的梯度传递至所述文本编码器,对所述文本编码器进行参数更新处理。
具体地,利用梯度反转层逆向更新文本编码器的参数,以实现对抗训练。
本实施例中,经过对第一语种分类器和文本编码器进行对抗训练后,文本编码器(text encoder)的损失更新为公式(II),以更新文本编码器的参数:
Figure BDA0003492945780000081
其中,O为进行解码处理后的输出(即声学频谱),xi为输入文本,li为语种标签,Lmel(O|xi,li,s)为声学频谱的损失,
Figure BDA0003492945780000082
为文本编码器的参数,ti为文本编码器输出的文本编码结果。
因此,本实施例中,在更新原有的文本编码器的参数
Figure BDA0003492945780000083
时,加入了第一语种分类器的反转梯度,使得文本编码器与第一语种分类器之间对抗训练,从而文本编码器可以学习到一个独立于语种的文本表示空间。
需要说明的是,对所述文本编码器和所述语种信息之间进行第一解耦处理的实施方式不仅限于此。
例如:在其他实施例中,对文本编码器与语种信息之间进行第一解耦处理还可以包括:对所述文本编码器与所述语种信息之间的互信息进行最小化处理。
互信息用于表示两个变量之间的相关性,通过对所述文本编码器与所述语种信息之间的互信息进行最小化处理,从而使所述文本编码器与所述语种信息之间的相关性最小化,进而提高所述文本编码器与所述语种信息之间的独立性,相应提高了所述文本编码器的泛化能力。
本实施例中,对所述文本编码器与所述语种信息之间的互信息进行最小化处理后,文本编码器的损失更新为公式(III),进而更新文本编码器的参数:
Figure BDA0003492945780000091
其中,O为进行解码处理后的输出(即声学频谱),xi为输入文本,li为语种标签,φ包含语种编码参数和相应的全连接结构参数,Lmel(O|xi,li,s)为声学频谱的损失,
Figure BDA0003492945780000092
为文本编码器的参数,ti为文本编码器输出的文本编码结果,ICLUBlanguage(φ;li;ti)为所述文本编码器与所述语种信息之间的互信息。作为一种示例,φ包含语种表格(language table)和相应的深度神经网络(DNN)参数。
本实施例中,所述ICLUBlanguage(φ;li;ti)通过公式(IV)计算:
ICLUBlanguage(φ;li,ti)=Ep(l,t)[logp(ti|li)]-Ep(l)Ep(t)[logp(ti|li)] (IV)
其中,ti为文本编码器输出的文本结果,li为语种标签,Ep为概率分布期望,p(.)为概率分布。
需要说明的是,以上对所述文本编码器与所述语种信息之间的互信息进行最小化处理仅作为一种示例,对所述互信息进行最小化处理的方式不仅限于此。
继续参考图2,执行步骤S43:对所述文本编码器与所述说话人信息之间进行第二解耦处理。对所述文本编码器与所述说话人信息之间进行第二解耦处理,有利于提高所述文本编码器与所述说话人信息之间的独立性,使更新后的文本编码器的参数较少的携带说话人信息,提高了文本编码器的泛化能力,相应使得多种语种之间可以交叉迁移。
作为一实施例,对所述文本编码器与说话人信息之间进行第二解耦处理包括:提供第一说话人分类器;对文本编码器和第一说话人分类器进行对抗训练。在自然语言处理领域中,对抗训练作为一种正则化手段,能够提高模型的泛化能力,同时还能够提高鲁棒性。
在其他实施例中,还可以采用其他的方式,对文本编码器与所述说话人信息之间进行第二解耦处理。
作为一种实施例,对所述文本编码器和第一说话人分类器之间进行对抗训练包括:基于所述文本编码结果和说话人信息,利用损失函数更新所述第一说话人分类器的参数,并将反转后的梯度传递至所述文本编码器,对所述文本编码器进行参数更新处理。
也就是说,本实施例中,在所述文本编码器与所述第一说话人分类器之间也设置了梯度反转层(Gradient Reversal Layer),利用所述梯度反转层,对所述文本编码器和第一说话人分类器之间进行对抗训练。
具体地,将所述文本编码结果输出至所述第一说话人分类器,计算说话人分类的损失(预测值和真实值的差距),并基于所述说话人分类的损失(loss)来计算梯度,在对所述梯度进行反转后传递至所述文本编码器,从而更新所述文本编码器的参数,进而使得所述梯度反转层前后的第一说话人分类器和所述文本编码器的训练目标相反,以实现对抗训练的效果。
本实施例中,所述损失函数为交叉熵损失函数(Cross-entropy loss function),利用公式(V)计算说话人分类损失:
Lspeaker(ω;ti)=crossentropy(D(ti),s) (V)
其中,s为说话人标签,ti为文本编码器输出的文本编码结果,D(.)是一层全连接映射层。
所述说话人标签可以通过训练语料获得,所述全连接映射层用于将文本编码结果映射到和训练标签的种类同维度,通过计算交叉熵损失函数来更新第一说话人分类器的参数ω。
在其他实施例中,所述损失函数还可以为最小化互信息损失函数。
本实施例中,在计算第一说话人分类器的说话人分类损失之后,将反转后的梯度传递至所述文本编码器,对所述文本编码器进行参数更新处理。
具体地,利用梯度反转层逆向更新文本编码器的参数,以实现对抗训练。
本实施例中,经过对第一语种分类器和文本编码器之间进行对抗训练、以及对第一说话人分类器和文本编码器之间进行对抗训练后,文本编码器(text encoder)、第一说话人分类器以及第一语种分类器的损失函数更新为公式(VI),进而更新文本编码器和第一说话人分类器以及第一语种分类器的参数:
Figure BDA0003492945780000111
其中,O为进行解码处理后的输出(即声学频谱),xi为输入文本,li为语种标签,Lmel(O|xi,li,s)为声学频谱的损失,
Figure BDA0003492945780000112
为文本编码器的参数,φ为第一语种分类器的参数,ω是第一说话人分类器的参数。
因此,本实施例中,在更新原有的文本编码器的参数
Figure BDA0003492945780000113
时,加入了第一语种分类器、以及第一说话人分类器的反转梯度,使得文本编码器与第一语种分类器之间对抗训练、以及文本编码器与所述第一说话人分类器之间对抗训练,从而文本编码器可以学习到一个独立于语种和说话人的文本表示空间。
需要说明的是,对所述文本编码器和所述说话人信息之间进行第二解耦处理的实施方式不仅限于此。例如:在其他实施例中,对所述文本编码器与所述说话人信息之间进行第二解耦处理还可以包括:对所述文本编码器与所述说话人信息之间的互信息进行最小化处理。
互信息用于表示两个变量之间的相关性,通过对所述文本编码器与所述说话人信息之间的互信息进行最小化处理,从而使所述文本编码器与所述说话人信息之间的相关性最小化,进而提高所述文本编码器与所述说话人信息之间的独立性,相应提高了所述文本编码器的泛化能力。
本实施例中,对文本编码器与所述语种信息之间的互信息进行最小化处理、以及对所述文本编码器与所述说话人信息之间的互信息进行最小化处理后,所述文本编码器、与说话人信息参数以及语种信息参数的损失更新为公式(VII):
Figure BDA0003492945780000114
其中,Lmel(O|xi,li,s)为声学频谱的损失,
Figure BDA0003492945780000115
为文本编码器的参数,φ包含语种编码参数和相应的全连接结构参数,ω包含说话人编码参数和相应的全连接结构的参数,ICLUBspeaker(ω;s,ti)为所述文本编码器与所述说话人信息之间的互信息。作为一种示例,φ包含语种表格(language table)和相应的深度神经网络(DNN)参数。作为一种示例,ω是说话人表格(speaker table)和相应的深度神经网络(DNN)的参数。
本实施例中,所述ICLUBspeaker(ω;s,ti)通过公式(VIII)计算:
ICLUBspeaker(ω;s,ti)=Ep(s,t)[logp(ti|s)]-Ep(s)Ep(t)[logp(ti|s)] (VIII)
其中,ti为文本编码器输出的文本编码结果,s为说话人标签,Ep为概率分布期望,p(.)为概率分布。
需要说明的是,以上对所述文本编码器与第一说话人信息之间的互信息进行最小化处理仅作为一种示例,对互信息进行最小化处理的方式不仅限于此。
还需要说明的是,继续参考图1,本实施例中,所述语音合成方法还包括:执行步骤S7:基于所述声学频谱,获取训练语料的语音残差信息。
获取训练语料的语音残差信息,后续能够基于所述语音残差信息,继续对所述文本结果、说话人特征以及所述语种编码结果进行解码处理,获得声学频谱,从而能够对基于声学频谱合成的语音音频的风格韵律进行控制,例如:改变语音的重读、音调、节奏感、情感等因素,使合成的语音音频的自然度更高且更具表现力,相应提高对合成的语音音频的控制能力。
本实施例中,所述语音残差信息包括:语速、音高、音调、音量、重读、节奏感和情绪中的一种或多种。
本实施例中,基于所述声学频谱,获取训练语料的语音残差信息包括:将所述声学频谱输入至残差编码模块进行残差编码处理,获取所述语音残差信息。
具体地,残差编码模块能够捕捉到一些非监督信息,作为语音残差信息。
本实施例中,所述残差编码模块包括变分自编码器(Variational Auto-Encoders,VAE)。变分自编码器是一类重要的生成模型(generative model)。与传统的自编码器通过数值的方式描述潜在空间不同,它以概率的方式描述对潜在空间的观察,在数据生成方面表现出了巨大的应用价值。在语音合成模型中,训练的优化会引导VAE捕获到一些非监督信息,如语速、音高、音量等。
在其他实施例中,所述残差编码模块还可以为其他类型的编码器,例如:确定式自编码器(Deterministic Auto-Encoders,DAE)或归一化流模块(Normalizing Flows)。
本实施例中,所述语音合成方法还包括:提供第二语种分类器;对所述残差编码模块与第二语种分类器进行第三解耦处理。
对所述残差编码模块与第二语种分类器进行第三解耦处理,有利于使残差编码模块与所述语种信息分离,进而提高所述语音残差信息与所述语种信息之间的独立性,相应有利于减小语种信息对所合成的语音音频的风格韵律的影响。
具体地,对所述残差编码模块与所述第二语种分类器进行第三解耦处理的步骤可以包括:对所述残差编码模块和所述第二语种分类器进行对抗训练;或者,对所述残差编码模块和所述第二语种分类器之间的互信息进行最小化处理。
其中,对所述残差编码模块和所述第二语种分类器进行对抗训练包括:基于所述语音残差信息和语种信息,利用损失函数更新第二语种分类器的参数,并将反转后的梯度传递至残差编码模块,对残差编码模块进行参数更新处理。
本实施例中,所述语音合成方法还包括:提供第二说话人分类器;对所述残差编码模块与所第二说话人分类器进行第四解耦处理。
对所述残差编码模块与所述第二说话人分类器进行第四解耦处理,有利于使残差编码模块与所述说话人信息分离,进而提高所述语音残差信息与所述说话人信息之间的独立性,相应有利于减小说话人信息对所合成的语音音频的风格韵律的影响。
具体地,对所述残差编码模块与所述第二说话人分类器进行第四解耦处理的步骤包括:对所述残差编码模块与所述第二说话人分类器进行对抗训练;或者,对所述残差编码模块与第二说话人分类器之间的互信息进行最小化处理。
其中,对所述残差编码模块和所述第二说话人分类器进行对抗训练可以包括:基于所述语音残差信息和说话人信息,利用损失函数更新所述第二说话人分类器的参数,并将反转后的梯度传递至所述残差编码模块,对所述残差编码模块进行参数更新处理。
关于第三解耦处理和第四解耦处理的具体细节,可结合参考前述对第一解耦处理和第二解耦处理的相关描述,本实施例在此不再赘述。
还需要说明的是,本实施例中,所述语音合成方法还包括:对所述说话人特征提取器和所述语种编码器进行第五解耦处理。通过对说话人特征提取器和语种编码器进行第五解耦处理,从而提高说话人信息和语种信息之间的独立性,进一步降低语音合成的跨语种交叉迁移的难度。
本实施例中,对所述说话人特征提取器和所述语种编码器进行第五解耦处理包括:对所述说话人特征提取器和语种编码器之间的互信息进行最小化处理。
通过对所述说话人特征提取器和语种编码器之间的互信息进行最小化处理,从而使得第五解耦处理不依赖于数据标签,进而易于使得所述说话人信息和语种信息之间独立。
在其他实施例中,进行第五解耦处理的步骤还可以包括:提供第三说话人分类器;对第三说话人分类器与所述语种编码器之间进行对抗训练;提供第三语种分类器;对所述第三语种分类器与说话人特征提取器之间进行对抗训练。
其中,对所述第三说话人分类器与所述语种编码器之间进行对抗训练可以包括:基于所述语种编码结果和说话人信息,利用损失函数更新所述第三说话人分类器的参数,并将反转后的梯度传递至所述语种编码器,对所述语种编码器进行参数更新处理。
对所述第三语种分类器与所述说话人特征提取器之间进行对抗训练包括:基于所述说话人特征和语种信息,利用损失函数更新所述第三语种分类器的参数,并将反转后的梯度传递至所述说话人特征提取器,对所述说话人特征提取器进行参数更新处理。
继续参考图1,执行步骤S5:对所述文本编码结果、说话人特征以及所述语种编码结果进行解码处理,获得声学频谱。声学频谱作为声学表示,用于作为语音音频的语音合成输入,以便后续基于声学频谱合成语音波形。
本实施例中,对所述文本编码结果、说话人特征以及所述语种编码结果进行解码处理包括:基于所述语音残差信息,对所述文本编码结果、说话人特征以及语种编码结果进行解码处理,从而能够对基于声学频谱合成的语音音频的风格韵律进行控制,使合成的语音音频的自然度更高且更具表现力,相应提高对合成的语音音频的控制能力。
具体地,本实施例中,将所述语音残差信息、文本编码结果、说话人特征以及所述语种编码结果输入至解码器进行解码处理。
解码器从编码的输入序列预测输出声学频谱,利用编码得到的上下文向量,经过一定的变换得到目标输出序列。
本实施例中,声学频谱为梅尔谱图(Mel Spectrogram)。梅尔谱图作为模型的声学表示,使用梅尔谱图可以提升语音数据中低频信息的细节,从而增强合成语音的可理解性;同时,通过频率轴经过梅尔标度的非线性变换后,可以用相对更少的维度来表征频谱内容,有利于信息的压缩;而且由于梅尔谱图具有相位不变性,相比波形表示更平滑,便于用均方误差损失(Mean Squared Error,MSE)进行训练。
继续参考图1,执行步骤S6:基于所述声学频谱,进行音频合成处理,生成与文本信息对应的语音音频。具体地,可以利用声码器(Vocoder),进行音频合成处理。其中,声码器将声学频谱转换成语音波形(即语音音频)。其中,所述声码器可以为Wavenet、WaveRNN、Parallel WaveNet和WaveGlow等。
为了解决所述问题,本发明还提供一种语音合成装置。图3是本发明语音合成装置一实施例的功能框图。以下结合附图,对本实施例的语音合成装置进行详细说明。
参考图3,所述语音合成装置包括:训练语料提供模块10,用于提供训练语料,所述训练语料包括说话人信息、语种信息以及文本信息;说话人特征提取器20,用于对所述说话人信息进行特征提取处理,获得说话人特征;语种编码器30,用于对所述语种信息进行语种编码处理,获得语种编码结果;文本编码器40,用于基于与所述说话人信息以及与语种信息均进行解耦处理后更新的参数,对所述文本信息进行文本编码处理,获得文本编码结果;解码器50,用于对所述编码结果、说话人特征以及所述语种编码结果进行解码处理,获得声学频谱;音频合成模块60,用于基于所述声学频谱,进行音频合成处理,生成与文本信息对应的语音音频。
所述语音合成装置中,文本编码器40基于与所述说话人信息以及与语种信息均进行解耦处理后更新的参数,对所述文本信息进行文本编码处理,获得文本编码结果,有利于使文本编码器40与所述语种信息分离、以及与所述说话人信息分离,从而提高进行文本编码器40与语种信息、以及与说话人信息之间的独立性,相应提高了文本编码器40的泛化能力,进而有利于提高语音合成装置对多种语言进行交叉迁移的能力,相应仅需单语种语料便可合成不同语种的语音音频,节省了语音合成的成本。
所述训练语料提供模块10,用于提供训练语料,所述训练语料包括说话人信息、语种信息以及文本信息。
所述训练语料用于作为训练数据,从而提供说话人信息、语种信息和文本信息,以便说话人特征提取器20能够对说话人信息进行特征提取处理,语种编码器30对语种信息进行语种编码处理,以及文本编码器40对文本信息进行文本编码处理。
本实施例中,所述训练语料可以仅为单语种语料,而不需要录制交叉语言语料,进而有利于降低语音合成的成本。
所述训练语料通常是大量由一个或多个说话人录制而成的口语语音数据,包含转录文件和音频文件。其中,从所述转录文件中可以获取文本信息和对应的语种信息,从音频文件中可以获取说话人信息。
具体地,所述说话人信息用于对说话人的身份进行辨识,具体可以包括说话人的音色信息、年龄信息和性别信息中的任意一种或多种。
作为示例,说话人信息可以是包括用于表征音色信息、年龄信息和性别信息的标签信息。例如,说话人信息可以包括“青年男性”,“青年女性”,“中年男性”,“中年女性”,“老年男性”,“老年女性”,“儿童”。其中,所述音色信息可以通过声纹信息表征。
所述文本信息为需要合成的语音音频对应的输入文本。
本实施例中,所述文本信息采用国际音标作为输入,并且,为了实现更好的跨语言交叉迁移,还对各个语言的音位采取了共享和统一映射。
作为一示例,中文音位原本有66个(不包含声调),在进行映射后得到38个国际音标。并且,为了支持中文,还会在文本信息中额外加入拼音对应的音调。本实施例中,文本信息中包含5个拼音音调,包含一声、二声、三声、四声以及轻声。
所述语种信息可以基于所述文本信息获取。例如:基于所述文本信息,判断对应的语种,例如:语种为中文、英文、法语、德语等。例如:基于文本输入的词形和包含的声调信息,可以判断文本信息对应的语种信息为中文。
说话人特征提取器20,用于对所述说话人信息进行特征提取处理,获得说话人特征,从而能够支持多人的语音合成。
作为一实施例,多个所述说话人信息被嵌入在对应的说话人表格中;对所述说话人信息进行特征提取处理,说话人特征提取器20获得所述说话人特征包括:利用说话人的身份ID,在所述说话人表格中查找对应的说话人信息,进而获取所述说话人的特征。相应的,所述说话人特征包括:说话人的音色信息、年龄信息和性别信息中的任意一种或多种。
需要说明的是,以上对所述说话人信息进行特征提取处理仅作为一种示例,对所述说话人信息进行特征提取处理的方式不仅限于此。
所述语种编码器30,用于对所述语种信息进行语种编码处理,获得语种编码结果,以便解码器50对语种编码结果、以及文本编码结果和说话人特征进行解码处理,获得声学频谱。
本实施例中,将语种信息输入至语种编码器30进行语种编码处理,所获得的语种编码结果不会输入至文本编码器40中,从而保证文本编码器40独立于所述语种信息。
作为一实施例,语种编码器30将多个所述语种信息嵌入在对应的语种表格中;对所述语种信息进行处理,在所述语种表格中查找对应的语种信息,进而获取所述语种的特征。具体地,所述语种编码结果包括语种信息。
文本编码器40,用于基于对所述说话人信息、以及对语种信息均进行解耦处理后更新的参数,对所述文本信息进行文本编码处理,有利于使文本编码器40与所述语种信息分离、以及与所述说话人信息分离,从而提高文本编码器40与语种信息、以及与说话人信息之间的独立性,相应提高了文本编码器40的泛化能力,进而有利于提高语音合成对多种语言进行交叉迁移的能力,相应仅需单语种语料便可合成不同语种的语音音频,节省了语音合成的成本。
文本编码器40用于对文本信息进行文本编码处理,以获得文本编码结果。
在具体实施中,所述文本编码器40用于对文本信息中所包含的序列信息进行提取并压缩成固定长度的向量,作为输入文本的编码表示。
具体地,本实施例中,所述文本编码器40把文本信息中包含的序列信息转换成一个隐层表征,以便后续对隐层表征进行解码处理获得声学频谱。
作为一种实施例,所述文本编码器40可以包含:依次连接的字符嵌入层(Character Embedding)、3层卷积层以及循环神经网络(RNN)层。
其中,所述字符嵌入层用于将输入的文本信息编码成字符向量。
卷积层用于对输入层的数据进行特征提取,即提取字符嵌入的隐含特征。
所述RNN是一类具有循环连接结构的网络,它能够记忆之前时刻输入的信息并储存在记忆单元中,在计算时将综合处理当前时刻输入序列与之前的记忆内容再输出,完成输入序列到输出序列的建模,从而能够关注长时间跨度的序列信息,进而能够考虑到上下文内容。
作为一实施例,所述RNN可以为双向LSTM(Long Short-Term Memory,长短期记忆)层。所述双向LSTM层通过引入记忆细胞单元的概念,可以解决RNN的梯度消失问题,从而使长时间跨度前的输入信息影响到当前输出结果,进而增大所捕获到的上下文内容的范围。
需要说明的是,本实施例中,以上对文本编码处理的描述仅作为一种示例,所述文本编码器40进行文本编码处理的实施方式不仅限于此。
本实施例中,文本编码器40还包括:第一解耦模块(图未示),用于对所述编码模块与所述语种信息之间进行第一解耦处理。
第一解耦模块对所述文本编码器40和语种信息进行第一解耦处理,有利于提高所述文本编码器40与所述语种信息之间的独立性,使更新后的文本编码器40的参数较少的携带语种信息,提高了文本编码器40的泛化能力,相应使得多种语种之间可以交叉迁移。
作为一实施例,第一解耦模块包括:第一语种分类器;第一对抗训练器,用于对文本编码器40和第一语种分类器进行对抗训练(adversarial training)。
在自然语言处理领域中,对抗训练作为一种正则化手段,能够提高模型的泛化能力,同时还能够提高鲁棒性。在其他实施例中,还可以采用其他的方式,对文本编码器与所述语种信息之间进行第一解耦处理。
作为一种实施例,所述第一对抗训练器基于所述文本编码结果和语种信息,利用损失函数更新所述第一语种分类器的参数,并将反转后的梯度传递至所述文本编码器40,对所述文本编码器40进行参数更新处理。
也就是说,本实施例中,在所述文本编码器40和第一语种分类器之间设置了梯度反转层(Gradient Reversal Layer),利用所述梯度反转层,对所述文本编码器40和第一语种分类器之间进行对抗训练。
具体地,将所述文本编码结果输出至所述第一语种分类器,计算语种分类的损失(预测值和真实值的差距),并基于所述语种分类的损失(loss)来计算梯度,在对所述梯度进行反转后传递至所述文本编码器40,从而更新所述文本编码器40的参数,进而使得所述梯度反转层前后的第一语种分类器和所述文本编码器40的训练目标相反,以实现对抗训练的效果。
本实施例中,所述损失函数为交叉熵损失函数(Cross-entropy loss function),利用公式(I)计算语种分类损失:
Llanguage(φ;ti)=crossentropy(D(ti),li) (I)
其中,li为语种标签,ti为文本编码器输出的文本编码结果,D(.)是一层全连接映射层。
所述语种标签可以通过语种信息获得,所述全连接映射层用于将文本编码结果映射到和语种标签的种类同维度,通过计算交叉熵损失函数来更新第一语种分类器的参数φ。
交叉熵损失函数为常用的损失函数,因此,本实施例中,以损失函数为交叉熵损失函数为示例进行说明。损失函数的类型不仅限于此,例如:在其他实施例中,所述损失函数还可以为最小化互信息损失函数。
本实施例中,第一对抗训练器在计算第一语种分类器的语种分类损失之后,将反转后的梯度传递至文本编码器40,对文本编码器40进行参数更新处理。
具体地,利用梯度反转层逆向更新文本编码器40的参数,以实现对抗训练。
本实施例中,经过对所述第一语种分类器和文本编码器40之间进行对抗训练后,文本编码器40的损失更新为公式(II),以更新文本编码器40的参数:
Figure BDA0003492945780000191
其中,O为进行解码处理后的输出(即声学频谱),xi为输入文本,li为语种标签,Lmel(O|xi,li,s)为声学频谱的损失,
Figure BDA0003492945780000192
为文本编码器的参数,ti为文本编码器输出的文本编码结果。s
因此,本实施例中,在更新原有的文本编码器的参数
Figure BDA0003492945780000201
时,加入了第一语种分类器的反转梯度,使得文本编码器40与第一语种分类器之间对抗训练,从而文本编码器40可以学习到一个独立于语种的文本表示空间。
需要说明的是,第一解耦模块对所述文本编码器40和所述语种信息之间进行第一解耦处理的实施方式不仅限于此。
例如:在其他实施例中,第一解耦模块还可以为第一互信息处理模块,用于对所述文本编码器与所述语种信息之间的互信息进行最小化处理。
互信息用于表示两个变量之间的相关性,通过对所述文本编码器与所述语种信息之间的互信息进行最小化处理,从而使所述文本编码器与所述语种信息之间的相关性最小化,进而提高所述文本编码器与所述语种信息之间的独立性,相应提高了所述文本编码器的泛化能力。
本实施例中,对所述文本编码器与所述语种信息之间的互信息进行最小化处理后,文本编码器的损失更新为公式(III),进而更新文本编码器的参数:
Figure BDA0003492945780000202
其中,O为进行解码处理后的输出(即声学频谱),xi为输入文本,li为语种标签,φ包含语种编码参数和相应的全连接结构参数,L(O|xi,li,s)为声学频谱的损失,
Figure BDA0003492945780000203
为文本编码器的参数,ti为文本编码器输出的文本编码结果,ICLUBlanguage(φ;li;ti)为所述文本编码器与所述语种信息之间的互信息。作为一种示例,φ包含语种表格(language table)和相应的深度神经网络(DNN)参数。
本实施例中,所述ICLUBlanguage(φ;li;ti)通过公式(IV)计算:
ICLUBlanguage(φ;li,ti)=Ep(l,t)[logp(ti|li)]-Ep(l)Ep(t)[logp(ti|li)] (IV)
其中,ti为文本编码器输出的文本结果,li为语种标签,Ep为概率分布期望,p(.)为概率分布。
需要说明的是,以上对所述文本编码器与所述语种信息之间的互信息进行最小化处理仅作为一种示例,对所述互信息进行最小化处理的方式不仅限于此。
本实施例中,文本编码器40还包括:第二解耦模块(图未示),用于对所述编码模块与所述说话人信息之间进行第二解耦处理,有利于提高所述文本编码器40与所述说话人信息之间的独立性,使更新后的文本编码器40的参数较少的携带说话人信息,提高了文本编码器40的泛化能力,相应使得多种语种之间可以交叉迁移。
作为一实施例,所述第二解耦模块包括:第一说话人分类器;第二对抗训练器,用于对所述文本编码器40和第一说话人分类器进行对抗训练。
在自然语言处理领域中,对抗训练作为一种正则化手段,能够提高模型的泛化能力,同时还能够提高鲁棒性。
在其他实施例中,所述第二解耦模块还可以采用其他的方式,对文本编码器与所述说话人信息之间进行第二解耦处理。
作为一种实施例,第二对抗训练器基于所述文本编码结果和说话人信息,利用损失函数更新所述第一说话人分类器的参数,并将反转后的梯度传递至所述文本编码器40,对所述文本编码器40进行参数更新处理。
也就是说,本实施例中,第二对抗训练器在所述文本编码器40与所述第一说话人分类器之间也设置了梯度反转层,利用所述梯度反转层,对所述文本编码器40和第一说话人分类器之间进行对抗训练。
具体地,将所述文本编码结果输出至所述第一说话人分类器,计算说话人分类的损失(预测值和真实值的差距),并基于所述说话人分类的损失(loss)来计算梯度,在对所述梯度进行反转后传递至所述文本编码器40,从而更新所述文本编码器40的参数,进而使得所述梯度反转层前后的第一说话人分类器和所述文本编码器40的训练目标相反,以实现对抗训练的效果。
本实施例中,所述损失函数为交叉熵损失函数,利用公式(V)计算说话人分类损失:
Lspeaker(ω;ti)=crossentropy(D(ti),s) (V)
其中,s为说话人标签,ti为文本编码器输出的文本编码结果,D(.)是一层全连接映射层。
所述说话人标签可以通过训练语料获得,所述全连接映射层用于将文本编码结果映射到和训练标签的种类同维度,通过计算交叉熵损失函数来更新第一说话人分类器的参数ω。
在其他实施例中,所述损失函数还可以为最小化互信息损失函数。
本实施例中,第二对抗训练器在计算第一说话人分类器的说话人分类损失后,将反转后的梯度传递至文本编码器40,对文本编码器40进行参数更新处理。具体地,利用梯度反转层逆向更新文本编码器40的参数,以实现对抗训练。
本实施例中,经过对所述第一语种分类器和文本编码器40之间进行对抗训练、以及对所述第一说话人分类器和文本编码器之间进行对抗训练后,文本编码器40、第一说话人分类器以及第一语种分类器的损失函数更新为公式(VI),进而更新文本编码器40和第一说话人分类器以及第一语种分类器的参数:
Figure BDA0003492945780000221
其中,O为进行解码处理后的输出(即声学频谱),xi为输入文本,li为语种标签,Lmel(O|xi,li,s)为声学频谱的损失,
Figure BDA0003492945780000222
为文本编码器的参数,φ为第一语种分类器的参数,ω是第一说话人分类器的参数。
因此,本实施例中,在更新原有的文本编码器40的参数
Figure BDA0003492945780000223
时,加入了第一语种分类器、以及第一说话人分类器的反转梯度,使得文本编码器40与第一语种分类器之间对抗训练、以及文本编码器40与第一说话人分类器之间对抗训练,从而文本编码器40可以学习到一个独立于语种和说话人的文本表示空间。
需要说明的是,第二解耦模块对所述文本编码器40和所述说话人信息之间进行第二解耦处理的实施方式不仅限于此。
例如:在其他实施例中,第二解耦模块还可以为第二互信息处理模块,用于对所述文本编码器与所述说话人信息之间的互信息进行最小化处理。
互信息用于表示两个变量之间的相关性,通过对所述文本编码器与所述说话人信息之间的互信息进行最小化处理,从而使所述文本编码器与所述说话人信息之间的相关性最小化,进而提高所述文本编码器与所述说话人信息之间的独立性,相应提高了所述文本编码器的泛化能力。
本实施例中,对文本编码器与所述语种信息之间的互信息进行最小化处理、以及对所述文本编码器与所述说话人信息之间的互信息进行最小化处理后,所述文本编码器的损失、与说话人信息参数以及语种信息参数更新为公式(VII):
Figure BDA0003492945780000224
其中,Lmel(O|xi,li,s)为声学频谱的损失,
Figure BDA0003492945780000225
为文本编码器的参数,φ包含语种编码参数和相应的全连接结构参数,ω包含说话人编码参数和相应的全连接结构的参数,ICLUBspeaker(ω;s,ti)为所述文本编码器与所述说话人信息之间的互信息作为一种示例,φ包含语种表格(language table)和相应的深度神经网络(DNN)参数。作为一种示例,ω是说话人表格(speaker table)和相应的深度神经网络(DNN)的参数。
本实施例中,所述ICLUBspeaker(ω;s,ti)通过公式(VIII)计算:
ICLUBspeaker(ω;s,ti)=Ep(s,t)[logp(ti|s)]-Ep(s)Ep(t)[logp(ti|s)] (VIII)
其中,ti为文本编码器输出的文本编码结果,s为说话人标签,Ep为概率分布期望,p(.)为概率分布。
需要说明的是,以上第二互信息处理模块对所述文本编码器与所述第一说话人信息之间的互信息进行最小化处理仅作为一种示例,第二互信息处理模块对所述互信息进行最小化处理的方式不仅限于此。
还需要说明的是,继续参考图3,本实施例中,所述语音合成装置还包括:残差编码模块70,用于基于所述声学频谱,获取训练语料的语音残差信息,并将所述语音残差信息输入至所述解码器50。
残差编码模块70获取训练语料的语音残差信息,使文本编码器40能够基于所述语音残差信息,对所述文本结果、说话人特征以及所述语种编码结果进行解码处理,获得声学频谱,从而语音合成装置能够对基于声学频谱合成的语音音频的风格韵律进行控制,例如:改变语音的重读、音调、节奏感、情感等因素,使合成的语音音频的自然度更高且更具表现力,相应提高对合成的语音音频的控制能力。
本实施例中,所述语音残差信息包括:语速、音高、音调、音量、重读、节奏感和情绪中的一种或多种。
具体地,残差编码模块70能够捕捉到一些非监督信息,作为所述残差信息。
本实施例中,所述残差编码模块70包括变分自编码器(VAE)。变分自编码器是一类重要的生成模型。与传统的自编码器通过数值的方式描述潜在空间不同,它以概率的方式描述对潜在空间的观察,在数据生成方面表现出了巨大的应用价值。在语音合成模型中,训练的优化会引导VAE捕获到一些非监督信息,如语速、音高、音量等。
在其他实施例中,所述残差编码模块还可以为其他类型的编码器,例如:确定式自编码器(DAE)或归一化流模块(Normalizing Flows)。
本实施例中,所述语音合成装置还包括:第二语种分类器;第三解耦模块,用于对所述残差编码模块70与第二语种分类器进行第三解耦处理。
第三解耦模块对所述残差编码模块70与所述第二语种分类器进行第三解耦处理,有利于使残差编码模块70与所述语种信息分离,进而提高所述语音残差信息与所述语种信息之间的独立性,相应有利于减小语种信息对所合成的语音音频的风格韵律的影响。
具体地,第三解耦模块可以包括:第三对抗训练器,用于对所述残差编码模块和所述第二语种分类器进行对抗训练;或者,第三互信息处理模块,用于对所述残差编码模块和所述第二语种分类器之间的互信息进行最小化处理。
其中,第三对抗训练器可以基于所述语音残差信息和语种信息,利用损失函数更新所述第二语种分类器的参数,并将反转后的梯度传递至所述残差编码模块,对所述残差编码模块进行参数更新处理。
本实施例中,所述语音合成装置还包括:第二说话人分类器;第四解耦模块,用于对所述残差编码模块70与所第二说话人分类器进行第四解耦处理。
第四解耦模块对所述残差编码模块与所述第二说话人分类器进行第四解耦处理,有利于使残差编码模块70与所述说话人信息分离,进而提高所述语音残差信息与所述说话人信息之间的独立性,相应有利于减小说话人信息对所合成的语音音频的风格韵律的影响。
具体地,第四解耦模块可以包括:第四对抗训练器,用于对所述残差编码模块70与所述第二说话人分类器进行对抗训练;或者,第四互信息处理模块,用于对残差编码模块70与第二说话人分类器之间的互信息进行最小化处理。
其中,第四对抗训练器可以基于所述语音残差信息和说话人信息,利用损失函数更新所述第二说话人分类器的参数,并将反转后的梯度传递至所述残差编码模块,对所述残差编码模块进行参数更新处理。
关于第三解耦模块和第四解耦模块的具体细节,可结合参考前述对第一解耦模块和第二解耦模块的相关描述,本实施例在此不再赘述。
还需要说明的是,本实施例中,语音合成装置还包括:第五解耦模块(图未示),用于对说话人特征提取器20和语种编码器30进行第五解耦处理,从而提高所述说话人信息和语种信息之间的独立性,进一步降低语音合成的跨语种交叉迁移的难度。
本实施例中,第五解耦模块可以为第五互信息处理模块,用于对所述说话人特征提取器20和语种编码器30之间的互信息进行最小化处理。
通过对所述说话人特征提取器20和语种编码器30之间的互信息进行最小化处理,从而使得第五解耦处理不依赖于数据标签,进而易于使得所述说话人信息和语种信息之间独立。
在其他实施例中,第五解耦模块还可以包括:第三说话人分类器;第五对抗训练器,用于对所述第三说话人分类器与所述语种编码器之间进行对抗训练;第三语种分类器;第六对抗训练器,用于对所述第三语种分类器与所述说话人特征提取器之间进行对抗训练。
其中,第五对抗训练器可以基于所述语种编码结果和说话人信息,利用损失函数更新所述第三说话人分类器的参数,并将反转后的梯度传递至所述语种编码器,对所述语种编码器进行参数更新处理。
第六对抗训练器可以基于所述说话人特征和语种信息,利用损失函数更新所述第三语种分类器的参数,并将反转后的梯度传递至所述说话人特征提取器,对所述说话人特征提取器进行参数更新处理。
所述解码器50,用于对所述文本编码结果、说话人特征以及所述语种编码结果进行解码处理,获得声学频谱。声学频谱作为声学表示,用于作为语音音频的语音合成输入,以便后续基于声学频谱合成语音波形。
本实施例中,解码器50基于语音残差信息,对所述文本编码结果、说话人特征以及语种编码结果进行解码处理,从而能够对基于声学频谱合成的语音音频的风格韵律进行控制,使合成的语音音频的自然度更高且更具表现力,相应提高对合成的语音音频的控制能力。
解码器50从编码的输入序列预测输出声学频谱,利用编码得到的上下文向量,经过一定的变换得到目标输出序列。
本实施例中,声学频谱为梅尔谱图。梅尔谱图作为模型的声学表示,使用梅尔谱图可以提升语音数据中低频信息的细节,从而增强合成语音的可理解性;同时,通过频率轴经过梅尔标度的非线性变换后,可以用相对更少的维度来表征频谱内容,有利于信息的压缩;而且由于梅尔谱图具有相位不变性,相比波形表示更平滑,便于用均方误差损失(MSE)进行训练。
所述音频合成模块60,用于基于所述声学频谱,进行音频合成处理,生成与文本信息对应的语音音频。具体地,所述音频合成模块60可以为声码器。其中,声码器将声学频谱转换成语音波形(即语音音频)。其中,所述声码器可以为Wavenet、WaveRNN、ParallelWaveNet和WaveGlow等。
为了解决所述问题,本发明实施例还提供一种设备,该设备可以通过装载程序形式的上述语音合成方法,以实现本发明实施例提供的语音合成方法。
本发明实施例提供的设备的一种可选硬件结构如图4所示,包括:至少一个处理器01,至少一个通信接口02,至少一个存储器03和至少一个通信总线04。
本实施例中,处理器01、通信接口02、存储器03、通信总线04的数量为至少一个,且处理器01、通信接口02、存储器03通过通信总线04完成相互间的通信。
可选的,通信接口02可以为用于进行网络通信的通信模块的接口,如GSM模块的接口。
可选的,处理器01可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
可选的,存储器03可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,存储器03存储一条或多条计算机指令,所述一条或多条计算机指令被处理器01执行以实现本发明实施例提供的语音合成方法。
需要说明的是,上述的实现终端设备还可以包括与本发明实施例公开内容可能并不是必需的其他器件(未示出);鉴于这些其他器件对于理解本发明实施例公开内容可能并不是必需,本发明实施例对此不进行逐一介绍。
相应地,本发明实施例还提供一种存储介质,所述存储介质存储有一条或多条计算机指令,所述一条或多条计算机指令用于实现本发明实施例所述的语音合成方法。
所述存储介质为计算机可读存储介质,存储介质可以为只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、U盘、移动硬盘、磁盘或光盘等各种可以存储程序代码的介质。
上述本发明的实施方式是本发明的元件和特征的组合。除非另外提及,否则所述元件或特征可被视为选择性的。各个元件或特征可在不与其它元件或特征组合的情况下实践。另外,本发明的实施方式可通过组合部分元件和/或特征来构造。本发明的实施方式中所描述的操作顺序可重新排列。任一实施方式的一些构造可被包括在另一实施方式中,并且可用另一实施方式的对应构造代替。对于本领域技术人员而言明显的是,所附权利要求中彼此没有明确引用关系的权利要求可组合成本发明的实施方式,或者可在提交本申请之后的修改中作为新的权利要求包括。
本发明的实施方式可通过例如硬件、固件、软件或其组合的各种手段来实现。在硬件配置方式中,根据本发明示例性实施方式的方法可通过一个或更多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器等来实现。
在固件或软件配置方式中,本发明的实施方式可以模块、过程、功能等形式实现。软件代码可存储在存储器单元中并由处理器执行。存储器单元位于处理器的内部或外部,并可经由各种己知手段向处理器发送数据以及从处理器接收数据。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (19)

1.一种语音合成方法,其特征在于,包括:
提供训练语料,所述训练语料包括说话人信息、语种信息以及文本信息;
对所述说话人信息进行特征提取处理,获得说话人特征;
对所述语种信息进行语种编码处理,获得语种编码结果;
基于对所述说话人信息、以及对语种信息均进行解耦处理后更新的参数,对所述文本信息进行文本编码处理,获得文本编码结果;
对所述文本编码结果、说话人特征以及所述语种编码结果进行解码处理,获得声学频谱;
基于所述声学频谱,进行音频合成处理,生成与文本信息对应的语音音频。
2.如权利要求1所述的语音合成方法,其特征在于,基于对所述说话人信息、以及对语种信息均进行解耦处理后更新的参数,对所述文本信息进行文本编码处理包括:将所述文本信息输入至文本编码器进行文本编码处理;对所述文本编码器与所述语种信息之间进行第一解耦处理;对所述文本编码器与所述说话人信息之间进行第二解耦处理。
3.如权利要求2所述的语音合成方法,其特征在于,对所述文本编码器与所述语种信息之间进行第一解耦处理包括:提供第一语种分类器;对所述文本编码器和第一语种分类器进行对抗训练。
4.如权利要求3所述的语音合成方法,其特征在于,对所述文本编码器和第一语种分类器进行对抗训练包括:基于所述文本编码结果和语种信息,利用损失函数更新所述第一语种分类器的参数,并将反转后的梯度传递至所述文本编码器,对所述文本编码器进行参数更新处理。
5.如权利要求2所述的语音合成方法,其特征在于,对所述文本编码器与所述语种信息之间进行第一解耦处理包括:对所述文本编码器与所述语种信息之间的互信息进行最小化处理。
6.如权利要求2所述的语音合成方法,其特征在于,对所述文本编码器与所述说话人信息之间进行第二解耦处理包括:提供第一说话人分类器;对所述文本编码器和第一说话人分类器进行对抗训练。
7.如权利要求6所述的语音合成方法,其特征在于,对所述文本编码器和第一说话人分类器之间进行对抗训练包括:基于所述文本编码结果和说话人信息,利用损失函数更新所述第一说话人分类器的参数,并将反转后的梯度传递至所述文本编码器,对所述文本编码器进行参数更新处理。
8.如权利要求4或7所述的语音合成方法,其特征在于,所述损失函数为交叉熵损失函数或最小化互信息损失函数。
9.如权利要求2所述的语音合成方法,其特征在于,对所述文本编码器与所述说话人信息之间进行第二解耦处理包括:对所述文本编码器与所述说话人信息之间的互信息进行最小化处理。
10.如权利要求1所述的语音合成方法,其特征在于,所述语音合成方法还包括:基于所述声学频谱,获取训练语料的语音残差信息;
对所述编码结果、说话人特征以及所述语种编码结果进行解码处理包括:基于所述语音残差信息,对所述文本编码结果、说话人特征以及语种编码结果进行解码处理。
11.如权利要求10所述的语音合成方法,其特征在于,将所述声学频谱输入至残差编码模块进行残差编码处理,获取所述语音残差信息;所述语音合成方法还包括:提供第二语种分类器;对所述残差编码模块与第二语种分类器进行第三解耦处理。
12.如权利要求10所述的语音合成方法,其特征在于,将所述声学频谱输入至残差编码模块进行残差编码处理,获取所述语音残差信息;所述语音合成方法还包括:提供第二说话人分类器;对所述残差编码模块与所第二说话人分类器进行第四解耦处理。
13.如权利要求11或12所述的语音合成方法,其特征在于,所述残差编码模块包括变分自编码器。
14.如权利要求10所述的语音合成方法,其特征在于,所述语音残差信息包括:语速、音高、音调、音量、重读、节奏感和情绪中的一种或多种。
15.如权利要求1所述的语音合成方法,其特征在于,对所述说话人信息进行特征提取处理包括:将所述说话人信息输入至说话人特征提取器进行特征提取处理;
对所述语种信息进行语种编码处理包括:将所述语种信息输入至语种编码器进行语种编码处理;
所述语音合成方法还包括:对所述说话人特征提取器和所述语种编码器进行第五解耦处理。
16.如权利要求15所述的语音合成方法,其特征在于,对所述说话人特征提取器和所述语种编码器进行第五解耦处理包括:对所述说话人特征提取器和语种编码器之间的互信息进行最小化处理。
17.一种语音合成装置,其特征在于,包括:
训练语料提供模块,用于提训练语料,所述训练语料包括说话人信息、语种信息以及文本信息;
说话人特征提取器,用于对所述说话人信息进行特征提取处理,获得说话人特征;
语种编码器,用于对所述语种信息进行语种编码处理,获得语种编码结果;
文本编码器,用于基于与所述说话人信息以及与语种信息均进行解耦处理后更新的参数,对所述文本信息进行文本编码处理,获得文本编码结果;
解码器,用于对所述编码结果、说话人特征以及所述语种编码结果进行解码处理,获得声学频谱;
音频合成模块,用于基于所述声学频谱,进行音频合成处理,生成与文本信息对应的语音音频。
18.一种设备,其特征在于,包括至少一个存储器和至少一个处理器,所述存储器存储有一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如权利要求1-16任一项所述的语音合成方法。
19.一种存储介质,其特征在于,所述存储介质存储有一条或多条计算机指令,所述一条或多条计算机指令用于实现如权利要求1-16任一项所述的语音合成方法。
CN202210103280.3A 2022-01-27 2022-01-27 语音合成方法及装置、设备以及存储介质 Pending CN114446278A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210103280.3A CN114446278A (zh) 2022-01-27 2022-01-27 语音合成方法及装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210103280.3A CN114446278A (zh) 2022-01-27 2022-01-27 语音合成方法及装置、设备以及存储介质

Publications (1)

Publication Number Publication Date
CN114446278A true CN114446278A (zh) 2022-05-06

Family

ID=81368803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210103280.3A Pending CN114446278A (zh) 2022-01-27 2022-01-27 语音合成方法及装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN114446278A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117746834A (zh) * 2024-02-21 2024-03-22 青岛海尔科技有限公司 基于大模型的语音生成方法及装置、存储介质、电子装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117746834A (zh) * 2024-02-21 2024-03-22 青岛海尔科技有限公司 基于大模型的语音生成方法及装置、存储介质、电子装置
CN117746834B (zh) * 2024-02-21 2024-05-24 青岛海尔科技有限公司 基于大模型的语音生成方法及装置、存储介质、电子装置

Similar Documents

Publication Publication Date Title
US11837216B2 (en) Speech recognition using unspoken text and speech synthesis
CN108899009B (zh) 一种基于音素的中文语音合成系统
CN108447486B (zh) 一种语音翻译方法及装置
JP2022527970A (ja) 音声合成方法、デバイス、およびコンピュータ可読ストレージ媒体
Xu et al. Improving prosody modelling with cross-utterance bert embeddings for end-to-end speech synthesis
CN115485766A (zh) 使用bert模型的语音合成韵律
CN111899716B (zh) 一种语音合成方法和系统
CN116364055B (zh) 基于预训练语言模型的语音生成方法、装置、设备及介质
CN111028824A (zh) 一种用于闽南语的合成方法及其装置
CN112185363B (zh) 音频处理方法及装置
CN113327574A (zh) 一种语音合成方法、装置、计算机设备和存储介质
CN114974218A (zh) 语音转换模型训练方法及装置、语音转换方法及装置
CN115101046A (zh) 一种特定说话人语音合成方法和装置
CN117877460A (zh) 语音合成方法、装置、语音合成模型训练方法、装置
JPH05197398A (ja) 音響単位の集合をコンパクトに表現する方法ならびに連鎖的テキスト−音声シンセサイザシステム
CN114446278A (zh) 语音合成方法及装置、设备以及存储介质
CN114999447B (zh) 一种基于对抗生成网络的语音合成模型及语音合成方法
CN116665642A (zh) 语音合成方法、语音合成系统、电子设备及存储介质
CN115547293A (zh) 一种基于分层韵律预测的多语言语音合成方法及系统
CN114566143B (zh) 一种可局部修改内容的语音合成方法及语音合成系统
KR102426020B1 (ko) 한 화자의 적은 음성 데이터로 감정 운율을 담은 음성 합성 방법 및 장치
WO2024124697A1 (zh) 语音识别方法、装置、设备及存储介质
CN117524190A (zh) 语音合成方法、装置、电子设备和存储介质
CN116052640A (zh) 一种语音合成方法及装置
CN115910023A (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