一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种语音合成方法、装置、计算机设备和存储介质与流程

2021-08-31 17:44:00 来源:中国专利 TAG:
本发明实施例涉及语音处理的
技术领域
:,尤其涉及一种语音合成方法、装置、计算机设备和存储介质。
背景技术
::tts(texttospeech,文字转语音)旨在将文字转换为语音,是人机对话的一部分,让机器能够说话,近年来,随着声学模型和声码器技术的飞速发展,tts在语音助手,有声读物和口语对话系统等许多领域都发挥着重要作用。tts可以为拥有大量高质量语音的说话者生成自然语音,几乎可以以假乱真,但是,tts仍然受限于训练集是大量单一说话人且表现力不够丰富数据的的理想情况。在低资源情况下,尤其是说话者的语言样本稀少且录音条件较差时,语音合成的鲁棒性较差,从而导致语音合成的自然度较差、说话人音色的相似度较差。技术实现要素:本发明实施例提出了一种语音合成方法、装置、计算机设备和存储介质,以解决如何在低资源的情况下提高音色克隆的鲁棒性的问题。第一方面,本发明实施例提供了一种语音合成方法,包括:确定待合成语音的文本信息、说出所述文本信息的说话者及风格;从所述文本信息提取表征语言学的特征,作为语言信息;确定durian网络为声学模型、hifi-gan网络为声码器;将所述语言信息输入作为声学模型的所述durian网络中、转换为符合所述说话者在所述风格下说所述文本信息时的频谱特征;将所述频谱特征输入作为声码器的所述hifi-gan网络中、转换为符合所述说话者在所述风格下说所述文本信息时的语音信号。第二方面,本发明实施例还提供了一种语音合成装置,包括:合成数据确定模块,用于确定待合成语音的文本信息、说出所述文本信息的说话者及风格;语言信息提取模块,用于从所述文本信息提取表征语言学的信息,作为语言信息;合成系统确定模块,用于确定durian网络为声学模型、hifi-gan网络为声码器;频谱特征生成模块,用于将所述语言信息输入作为声学模型的所述durian网络中、转换为符合所述说话者在所述风格下说所述文本信息时的频谱特征;语音信号生成模块,用于将所述频谱特征输入作为声码器的所述hifi-gan网络中、转换为符合所述说话者在所述风格下说所述文本信息时的语音信号。第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的语音合成方法。第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的语音合成方法。在本实施例中,确定待合成语音的文本信息、说出所述文本信息的说话者及风格,从文本信息提取表征语言学的信息,作为语言信息,确定durian网络为声学模型、hifi-gan网络为声码器,将语言信息输入作为声学模型的durian网络中、转换为符合说话者在风格下说文本信息时的频谱特征,将频谱特征输入作为声码器的hifi-gan网络中、转换为符合说话者在风格下说文本信息时的语音信号,将durian网络与hifi-gan网络结合在tts中使用,在低资源的情况下,可以保证克隆音色的鲁棒性,提高语音合成的自然度和作为克隆目标的说话者的音色的相似度。附图说明图1为本发明实施例一提供的一种语音合成方法的流程图;图2为本发明实施例一提供的一种tts系统的架构图;图3是本发明实施例二提供的一种语音合成方法的流程图;图4为本发明实施例三提供的一种语音合成装置的结构示意图;图5为本发明实施例四提供的一种计算机设备的结构示意图。具体实施方式下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。实施例一图1为本发明实施例一提供的一种语音合成方法的流程图,本实施例可适用于训练durian(durationinformedattentionnetwork,依据时长信息的注意力网络)网络为tts的声学模型、训练hifi-gan(generativeadversarialnetworksforefficientandhighfidelityspeechsynthesis,高效、高保真语音合成的生成对抗网络)网络为tts的声码器情况,该方法可以由语音合成装置来执行,该语音合成装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑,等等,具体包括如下步骤:步骤101、获取说话者在指定风格下说话时记录的音频信号、表达音频信号内容的文本信息、由音频信号转换的频谱特征。为便于采集足够数量的数据集,可以在开源的数据库和/或开源的项目等通用的渠道中采集说话者在指定风格下说话时记录的音频信号、表达音频信号内容的文本信息,即,说话者说出“文本信息”时记录音频信号,此外,可通过快速傅立叶变换(fastfouriertransform,fft)等方式将音频信号转换为频谱特征,如melspectrogram(梅尔频谱图)。其中,每个说话者的音色均有所差异,一个说话者可以表征一种音色,对说话者可以配置唯一的标识信息(如speakerid),即该标识信息(如speakerid)可以用于表征音色,该标识信息通过lookuptable(查找表)等方式配置编码。风格可以根据tts在业务场景的需求而设置,例如,豪放、喜悦、愤怒、激昂,等等,该风格也可以通过lookuptable(查找表)等方式配置编码。当然,为提高tts在业务场景的精确度,也可以通过业务场景(如短视频、游戏、新闻、小说等)的渠道采集说话者在指定风格下说话时记录的音频信号,并将该音频信号内容通过人工标注、语音识别等方式转换为文本信息、将音频信号转换为频谱特征,本实施例对此不加以限制。此外,这些语音信号可以是同一种语言(如中文)下的语音信号,也可以是不同语言(如中文、英文)下的语音信号。为便于区分,可将说话者划分为第一说话者、第二说话者,第一说话者通常为来源于通用的渠道的说话者,第二说话者来源于业务场景的说话者,在某次训练中,说话者包括多个第一说话者、一个或多个第二说话者。此时,可从预设的语料库中提取多个第一说话者在指定风格下说话时记录的音频信号、表达音频信号内容的文本信息,其中,语料库可以指存储有语音信号与文本内容之间映射关系的数据库。通过fft等方式分别将多个第一说话者对应的音频信号转换为频谱特征。此外,录制第二说话者说话时记录的、指定数量的音频信号,其中,音频信号的数量较少,可表现为小于或等于预设的阈值(如5),即通过作为语音克隆的目标的第二说话者少量的音频信号(如5句话)训练声学模型、声码器。通过人工标注、分类器等方式对音频信号标记第二说话者的风格,通过人工标注、语音识别等方式生成音频信号内容的文本信息,通过fft等方式将第二说话者对应的音频信号转换为频谱特征。需要说明的是,可以同时使用第一说话者、第二说话者的数据集(音频信号、文本信息、频谱特征)训练的声学模型、声码器,也可以在先使用第一说话者的数据集(音频信号、文本信息、频谱特征)训练的声学模型、声码器,后续基于迁移学习、持续学习等方式使用第二说话者的数据集(音频信号、文本信息、频谱特征)对声学模型、声码器进行调整,本实施例对此不加以限制。使用多说话者的大型语料库训练声码器,多说话者的大型语料库可以包含中文语料库、也可以包含英文语料库等不同语言的语料库,使用作为音色克隆的目标的说话者的少量音频信号作为开发集来tts进行调整,可以利用earlystopping早停法来防止tts过度拟合。步骤102、从文本信息提取表征语言学的特征,作为语言信息。在语言学的维度下,从文本信息提取特征,记为语言信息,以便用于训练tts。在本发明的一个实施例中,可以采用细粒度的语言信息来更好地利用语料,提高语音合成的自然性,提高tts在合成语音信号时的自然性,而细粒度的语言信息包括发音特征(包括音素、分类标记)和韵律结构(以韵律标记表示),则在本实施例中,步骤102包括如下步骤:步骤1021、确定字典。在本实施例中,可以预先通过如下方式训练较小的字典来构造通用发音空间,在线将字典加载至内存:一、发音特征基于音素的tts在性能上明显优于基于字符或者字节的tts,音素可减轻tts从文本信息中提取特征的学习难度,在本实施例中,可以用带有音调的音素作为发音特征,音调附加在音素上,因此,字典分别记载文字与音素之间的映射关系、音调与音素之间的映射关系。进一步地,音素可以利用不同语言之间的发音相似性来处理不同语言(如中文和英文等)的语料(同一音素),具体而言,若多种语言的多种文字的发音相似或相同,则将多种文字映射至同一音素,在字典中记录多种文字与同一音素之间的映射关系。例如,中文的“妈妈”和英文的“mom”发音相似,可映射至同一因素,中文的“赔”和英文“pay”发音相似,可映射至同一因素。此外,考虑到中文(普通话)发音的更多特征,考虑了具有不同初始和最终口型(例如前鼻音和后鼻音)的音素以及中文(普通话)中其他独特的发音细节,协同发音也被表示为额外的音调。具体而言,可查询各个文字发音的属性,若发音的属性为协同发音,则将协同发音作为额外的音调、映射至指定的音素,在字典中记录额外的音调与该指定的音素之间的映射关系。例如,“算”字的拼音“suan”,“算”的发音中具有/s/、/w/,/w/是/s/协同发音,而不是真的存在一个独立的辅音/w/,“算”的发音是[swan],在这个字的发音里面是没有一个完整的/w/的地位的,因此,可将/w/映射至指定的因素。二、韵律结构韵律结构包括层次韵律边界和句子类型,示例性地,可采用了基于4级的普通话韵律标准,包括韵律词(pw),韵律短语(pp),声调短语(ip)和句子(utt)。此外,考虑到标点符号对于发音的时长具有一定影响,因此,可以根据逗号、分号和问号等标点符号对句子进行分类,在字典记载标点符号与分类标记之间的映射关系,从而提高预测发音时间的准确性例如,将逗号映射为分类标记100、将分号映射至分类标记101,等等。步骤1022、识别文本信息中的文字、标点符号。在本实施例中,可以通过unicode等编码方式对文本信息进行划分,标记该文本信息中包含的文字、标点符号。对于不同的语言,划分文字的方式有所不同,例如,对于中文,以单个汉字作为文字,对于英文,以单个单词作为文字,等等。对于不同的语言,标点符号也有所不同,例如,逗号“,”、句号“。”、问号“?”、感叹号“!”等等。步骤1023、在字典中查询文字对应的音素、文字的音调对应的音素,将文字替换为文字对应的音素、文字的音调对应的音素。针对当前的文字,可以通过自然语言处理查询该文字的音调,在字典中,查询文字与音素的映射关系,从而在该映射关系中,查询当前的文字映射的音素,查询当前文字的音调映射的音素,将当前的文字的音素,当前文字的音调的音素替换当前文字。进一步地,若字典中将协同发音作为额外的音调映射至指定的音素,则可以查询文字发音的属性,若发音的属性为协同发音,则将协同发音作为额外的音调、在字典中查询额外的音调对应的音素。步骤1024、在字典中查询标点符号对应的分类标记,将标点符号替换为标点符号对应的分类标记。在字典中,查询标点符号与分类标记的映射关系,从而在该映射关系中,查询当前标点符号映射的分类标记,将当前的分类标记替换当前的标点符号。步骤1025、在文本信息中添加表示韵律结构的韵律标记。查询文本信息的韵律结构,从而韵律结构的节点位置添加相应的韵律标记。例如,文本信息为“什么app那种?”则其语言信息为“sh-e-n2m-e5#1ey0p1-iy1p1-iy1#1n-a4zh-o-ng3#4wh”。其中,以“sh-e-n2”为例,“sh-e-n”为“什”的音素,“2”为“什”的音调的音素,wh为问号“?”的分类标记,#1为词边界(分词结果),#4为长句边界(长停顿,一般在句尾)。在本实施例中,我们基于durian网络对多说话者、多风格的tts进行建模,并使用细粒度的语言建模来构建发音空间,细粒度的语言信息可以充分利用中英文等不同语言在发音的相似之处,赋予tts更强的建模能力,细粒度的语言信息在结合多语语料库的同时,提高了语音合成的质量和自然性,提高了语音合成的性能。步骤103、以语言信息、说话者的风格作为样本、音频信号的时长作为标签,训练时间预测网络。在本实施例中,应用durian网络作为tts的声学模型,durian网络是一种多模态的合成框架,结合了传统参数式语音合成技术以及端到端语音合成技术,使用类似参数式语音合成技术的对齐模块,替换了端到端模型中的注意力模块,从而对于合成中的音素丢失或跳过问题具有鲁棒性,可以合成非常自然的语音。进一步而言,durian网络使用skipencoder架构同时编码音素序列以及中文韵律信息,支持细粒度的不同style(风格)的语音合成任务。如图2所示,durian网络包括时间预测模型,该时间预测网络用于预测说话者在指定的风格下说文本信息时的时长。针对某个说话者,以其文本信息的语言信息(phonemesequence)、说话者(speakerid)的风格(stylecode)作为训练的样本、音频信号实际的时长作为标签tag,通过监督学习训练时间预测网络。在本发明的一个实施例中,步骤103包括如下步骤:步骤1031、将语言信息、说话者的风格输入至时间预测网络,以预测说话者在风格下说文本信息时的时长,作为预测时长。在本实施例中,如图2所示,针对某个说话者,将其文本信息的语言信息(phonemesequence)、说话者(speakerid)的风格(stylecode)输入时间预测网络中,时间预测网络对语言信息(phonemesequence)、说话者(speakerid)的风格(stylecode)进行处理,输出说话者在风格下说文本信息时的时长,记为预测时长(phonemeduration)。在具体实现中,如图2所示,时间预测网络包括编码层embedding、第一双向长短期记忆网络blstm、第二双向长短期记忆网络blstm、第三双向长短期记忆网络blstm、量化层quantize。将文本信息的语言信息(phonemesequence)输入编码层embedding中,编码为文本向量,将说话者(speakerid)的风格(stylecode)与文本向量同时输入第一双向长短期记忆网络blstm中进行处理,获得第一时序特征,将第一时序特征输入第二双向长短期记忆网络blstm中进行处理,获得第二时序特征,将第二时序特征输入第三双向长短期记忆网络blstm中进行处理,获得第三时序特征,将第三时序特征输入量化层quantize中,量化为时长,记为预测时长(phonemeduration)。步骤1032、测量音频信号的时长,作为真实时长。对于与文本信息配套的音频信号,可测量该音频信号实际的时长,记为真实时长(phonemeduration)。步骤1033、计算预测时长与真实时长之间的差异,作为时长损失值。将预测时长与真实时长代入预设的损失函数中,计算损失值loss,记为时长损失值。由于频谱特征(如梅尔频谱图)的长度要远远大于输入的音素的长度,因此,在本实施例可以应用lr(lengthregulator,长度调节器)。具体而言,定义一个音素对应的频谱特征的帧数为phonemeduration(音素持续的时长)。假设每个音素的phonemeduration是已知的,且设为d,lr将每个音素对应的state(状态)复制d次,这样状态的数量就和输出频谱特征的帧数是相等的。设音素的状态序列为:hpho=[h1,h2,…,hn]其中,n为音素所组成的序列的长度。设音素对应的phonemeduration为:d=[d1,d2,…,dn]满足:其中,m为频谱特征的长度。则lr的输出定义为:hmel=lr(hpho,d,α)其中,α是一个超参数,可以用来调节语速,例如,α=1就是正常的语速,α变大则语速变慢,α变小则语速变快。在训练时,phonemeduration(即真实时长)是已知的,但在合成语音的时候phonemeduration却是未知的,因此,使用时间预测网络来预测phonemeduration(即预测时长)。真实时长与预测时长之间的attentionalignment(注意一致性)实际上是有很多个的,本实施例将attentionweight(注意权重)分布在对角上的alignment(一致性),因此,为了找出这种alignment,可定义了focusrate(聚焦率)作为时长损失值:其中,s为真实时长,t为预测时长,as,t是attentionmatrix(注意力矩阵)第s行第t列的值。步骤1034、判断时长损失值是否收敛;若是,则执行步骤1035,若否,则执行步骤1036。步骤1035、确定完成训练时间预测网络。步骤1036、更新时间预测网络,返回执行步骤1031。在本实施例中,可预先对于时长损失值可以设置表示收敛的条件,例如,时长损失值小于第一时长阈值,相邻时长损失值之间的差异记为时长变化幅度、连续多个时长变化幅度均小于第二时长阈值,迭代时长损失值的次数超过第三时长阈值,等等。示例性地,若使用focusrate作为时长损失值,在所有attentionmatrix中挑选f值最大的那个作为最终的alignment。有了alignment,可以使用如下的式子计算d:这样子,可以获得训练数据对应的phonemeduration。在每次迭代中,可以判断当前的时长损失值是否满足该条件。如果满足该条件,则时长损失值收敛,此时,确认时间预测网络训练完成,存储该时间预测网络的结构及其参数。如果不满足该条件,则对时间预测网络进行反向传播,通过以随机梯度下降(stochasticgradientdescent,sgd)算法为代表的手动设定学习率的优化方式,或者,以自适应矩估计(adaptivemomentestimation,adam)为代表的自适应设定学习率更新时间预测网络的参数,进入下一次迭代。步骤104、若完成训练时间预测网络,则以语言信息、说话者的风格作为样本、频谱特征作为标签,训练频谱预测网络。在本实施例中,如图2所示,durian网络包括频谱预测网络,该频谱预测网络用于预测说话者在指定的风格下说文本信息时、符合指定时长的频谱特征。对于durian网络,如果对时间预测网络和频谱预测网络联合训练,会导致不自然的韵律合成结果,在本实施例中,分离训练时间预测网络和频谱预测网络,即先训练事件预测网络,再训练频谱预测网络,解耦训练可确保预测时长更加准确,那么,在合成语音信号时,可以获得更加自然的韵律。针对某个说话者,以其文本信息的语言信息(phonemesequence)、说话者(speakerid)的风格(stylecode)作为训练的样本、音频信号实际的频谱特征作为标签tag,通过监督学习训练频谱预测网络。在本发明的一个实施例中,步骤104包括如下步骤:步骤1041、将语言信息、说话者的风格输入至时间预测网络,以预测说话者在风格下说文本信息时的时长,作为预测时长。在本实施例中,如图2所示,针对某个说话者,将其文本信息的语言信息(phonemesequence)、说话者(speakerid)的风格(stylecode)输入已训练完成的时间预测网络中,时间预测网络对语言信息(phonemesequence)、说话者(speakerid)的风格(stylecode)进行处理,输出说话者在风格下说文本信息时的时长,记为预测时长(phonemeduration)。步骤1042、将语言信息、说话者的风格、预测时长输入频谱预测网络中,以预测说话者在风格下说文本信息时、符合预测时长的频谱特征。在本实施例中,针对某个说话者,将其文本信息的语言信息(phonemesequence)、说话者(speakerid)的风格(stylecode)、预测时长(phonemeduration)输入频谱预测网络中,频谱预测网络对语言信息(phonemesequence)、说话者(speakerid)的风格(stylecode)、预测时长(phonemeduration)进行处理,输出说话者在风格下说文本信息时、符合预测时长(phonemeduration)的频谱特征(如梅尔频谱图)。在具体实现,如图2所示,频谱预测网络包括如下结构:1、跳跃编码器skipencoder将语言信息(phonemesequence)输入跳跃编码器skipencoder中,如文字的音素、音调的音素、韵律结构等,跳跃编码器skipencoder将其编码为语言特征(隐状态的序列)。进一步地,跳跃编码器skipencoder包括如下结构:1.1、编码层embedding将语言信息(phonemesequence)输入编码器中embedding中,编码器中embedding将语言信息编码为语言向量。1.2、预处理网络pre-net将语言向量输入预处理网络pre-net中,预处理网络pre-net对语言向量进行非线性转换。1.3、cbhg模块将语言向量输入cbhg模块中,cbhg模块从语言向量中提取特征,作为语言特征。1.4、skipstate网络将语言特征输入skipstate网络中,skipstate网络决定是否跳跃语言特征中的某帧特征。2、对齐网络stateexpansion将说话者(speakerid)的风格(stylecode)以编码的形式添加到语言特征中,此后,将语言特征与预测时长(phonemeduration)进行对齐,即,将语言特征按照预测时长(phonemeduration)的帧数进行扩充,获得与频谱特征(如梅尔频谱图)对的帧数一致的序列信息,使得语言特征与频谱特征(如梅尔频谱图)对齐。其中,扩充的方法是将语言特征根据按照预测时长(phonemeduration)的帧数进行复制。3、解码器decoder将与预测时长(phonemeduration)对齐的语言特征输入到解码器中,解码器进行自回归的方式解码,生成tts的中间输出。进一步地,解码器decoder包括如下结构:3.1、预处理网络pre-net将上一帧的频谱特征输入到预处理网络pre-net,预处理网络pre-net对该频谱特征进行非线性转换。对于首次迭代,上一帧的频谱特征为空,对于非首次迭代,上一帧的频谱特征上一次迭代中rnn输出的频谱特征。3.2、rnn(循环神经网络)rnn为并行wavernn模型,可以提升语言信号的合成速度。对于首次迭代,将与预测时长(phonemeduration)对齐的语言特征、上一帧频谱特征输入到rnn中,rnn预测频谱特征。对于非首次迭代,将上一帧频谱特征输入到rnn中,rnn预测频谱特征。如果没有处理完,则进入下一次迭代,如果已处理完,则输出所有的频谱特征。4、post-net网络post-net网络用来将中间输出转换成目标输出,在本实施例中,输出与作为声码器的hifi-gan网络匹配的频谱特征。步骤1043、计算预测的频谱特征与由音频信号转换的频谱特征之间的差异,作为频谱损失值。将预测的频谱特征与由音频信号转换的、真实的频谱特征预设的损失函数中,计算损失值loss,记为频谱损失值。示例性地,频谱损失值l包括两部分,计算方式如下:其中,t为频谱特征的帧数,y为真实的频谱特征,y'为预测的频谱特征,r为y'输入post-net网络的残差信息,(y' r)可理解为增加了残差信息的频谱特征。步骤1044、判断频谱损失值是否收敛;若是,则执行步骤1045,若否,则执行步骤1046。步骤1045、确定完成训练频谱预测网络;步骤1046、更新频谱预测网络,返回执行步骤1041。在本实施例中,可预先对于频谱损失值可以设置表示收敛的条件,例如,频谱损失值小于第一频谱阈值,相邻频谱损失值之间的差异记为频谱变化幅度、连续多个频谱变化幅度均小于第二频谱阈值,迭代频谱损失值的次数超过第三频谱阈值,等等。在每次迭代中,可以判断当前的频谱损失值是否满足该条件。如果满足该条件,则频谱损失值收敛,此时,确认频谱预测网络训练完成,存储该频谱预测网络的结构及其参数。如果不满足该条件,则对频谱预测网络进行反向传播,通过以随机梯度下降算法为代表的手动设定学习率的优化方式,或者,以自适应矩估计为代表的自适应设定学习率更新频谱预测网络的参数,在反向传播时,截止频谱预测网络,并不更新时间预测网络,进入下一次迭代。步骤105、若完成训练频谱预测网络,则将时间预测网络、频谱预测网络设置为声学模型。若首先完成训练时间预测网络,然后完成训练频谱预测网络,则可以将时间预测网络、频谱预测网络设置为tts中的声学模型,即,将durian网络设置为tts中的声学模型,存储durian网络的结构及其参数。步骤106、以频谱特征作为样本、音频信号作为标签,训练hifi-gan网络。步骤107、若完成训练hifi-gan网络,则将hifi-gan网络设置为声码器。训练tts的声码器主要有两个挑战,一是语音数据集的嘈杂数据集和有限数量的样本,在本实施例中,可选择合成质量高、速度快的hifi-gan网络作为tts的声码器。语音信号由很多不同周期的正弦信号组成,hifi-gan网络对于音频周期模式进行建模可提高音频质量,并且,hifi-gan网络生成语音信号的速度快。如图2所示,针对某个说话者,以其说话时的频谱特征作为训练的样本、说话时的频谱特征作为标签tag,通过监督学习训练hifi-gan网络,hifi-gan网络用于根据频谱特征预测语音信号。在具体实现中,hifi-gan网络包括一个生成器、两个鉴别器,每个鉴别器有子鉴别器来生成一段固定周期的音频信号,该鉴别器分别为尺度检测器、多周期检测器。其中,生成器是一个卷积神经网络,输入是频谱特征(如梅尔频谱图),提升采样,直到输出帧数与指定的时长相同。若完成hifi-gan网络,则可以将hifi-gan网络设置为tts中的声码器,存储hifi-gan网络的结构及其参数。一般情况下,可以使用与训练durian网络相同的数据集训练hifi-gan网络,可以保证durian网络与hifi-gan网络应用于tts的性能,当然,为了提高训练效率,也可以使用其他数据集训练hifi-gan网络,使得可以直接转用其他项目已完成训练的hifi-gan网络,本实施例对此不加以限制。进一步而言,在步骤106之前,为了获得更高的合成质量,可以对数据集进行如下至少一种预先处理:1、利用基于能量的vad(voiceactivitydetection,语音活动检测)等方式删除音频信号中表示静音的、较长的信号(即静音段)。2、在音频信号中添加一些噪声信号,从而进行数据增强,以此来稳定训练过程并改善tts的性能。3、通过μ-law(μ律)等方式对音频信号进行非线性变换,使tts在零附近具有更高的分辨率。实施例二图3为本发明实施例一提供的一种语音合成方法的流程图,本实施例可适用于应用durian网络为tts的声学模型、hifi-gan网络为tts的声码器进行语音合成的情况,该方法可以由语音合成装置来执行,该语音合成装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑、移动终端(如手机、平板电脑、智能穿戴设备等),等等,具体包括如下步骤:步骤301、确定待合成语音的文本信息、说出文本信息的说话者及风格。在本实施例中,用户在客户端中选定待合成语音的文本信息,例如,小说中的内容、新闻中的内容、网页中的内容,等等,在客户端中可以显示tts可提供的说话者及其风格,用户在客户端中可选定说话者及其风格,一个说话者可以表征一种音色,因此,用户选定说话者时,可以视为选定音色。步骤302、从文本信息提取表征语言学的特征,作为语言信息。在语言学的维度下,从文本信息提取特征,记为语言信息,以便tts合成语音信号。在本发明的一个实施例中,语言信息包括音素、分类标记、韵律标记,则在本实施例中,步骤302可以包括如下步骤:步骤3021、确定字典。其中,字典记载文字与音素、音调与音素、标点符号与分类标记之间的映射关系。进一步地,若多种语言的多种文字的发音相似或相同,则将多种文字映射至同一音素,在字典中记录多种文字与同一音素之间的映射关系。和/或,查询各个文字发音的属性,若发音的属性为协同发音,则将协同发音作为额外的音调、映射至指定的音素,在字典中记录额外的音调与音素之间的映射关系。步骤3022、识别文本信息中的文字、标点符号。步骤3023、在字典中查询文字对应的音素、文字的音调对应的音素,将文字替换为文字对应的音素、文字的音调对应的音素。若字典中将协同发音作为额外的音调映射至指定的音素,则可以查询文字发音的属性,若发音的属性为协同发音,则将协同发音作为额外的音调、在字典中查询额外的音调对应的音素。步骤3024、在字典中查询标点符号对应的分类标记,将标点符号替换为标点符号对应的分类标记。步骤3025、在文本信息中添加表示韵律结构的韵律标记。在本实施例中,由于在合成语音信号时提取语言信息的方式与训练tts时提取语言信息的方式的基本相似,所以描述的比较简单,相关之处参见训练tts时提取语言信息的方式的部分说明即可,本实施例在此不加以详述。步骤303、确定durian网络为声学模型、hifi-gan网络为声码器。在本实施例中,可以将durian网络及其参数加载至内存运行,作为tts中的声学模型,以及,将hifi-gan网络及其参数加载至内存运行,,作为tts中的声码器。步骤304、将语言信息输入作为声学模型的durian网络中、转换为符合说话者在风格下说文本信息时的频谱特征。在本实施例中,将语言信息输入作为声学模型的durian网络中,durian网络对该语音信息进行处理,输出为符合用户所选定的说话者(音色)在指定的风格下说文本信息时的频谱特征(如梅尔频谱图)。在具体实现中,作为声学模型的durian网络包括如下结构:1、时间预测网络将语言信息(phonemesequence)、说话者(speakerid)的风格(stylecode)输入至时间预测网络,以预测说话者在指定的风格下说文本信息时的时长,作为预测时长(phonemeduration)。进一步地,时间预测网络包括编码层embedding、第一双向长短期记忆网络blstm、第二双向长短期记忆网络blstm、第三双向长短期记忆网络blstm、量化层quantize。将文本信息的语言信息(phonemesequence)输入编码层embedding中,编码为文本向量,将说话者(speakerid)的风格(stylecode)与文本向量同时输入第一双向长短期记忆网络blstm中进行处理,获得第一时序特征,将第一时序特征输入第二双向长短期记忆网络blstm中进行处理,获得第二时序特征,将第二时序特征输入第三双向长短期记忆网络blstm中进行处理,获得第三时序特征,将第三时序特征输入量化层quantize中,量化为时长,记为预测时长(phonemeduration)。2、频谱预测网络将语言信息(phonemesequence)、说话者(speakerid)的风格(stylecode)、预测时长(phonemeduration)输入频谱预测网络中,以预测说话者在风格下说文本信息时、符合预测时长的频谱特征(如梅尔频谱图)。在具体实现,频谱预测网络包括如下结构:1、跳跃编码器skipencoder将语言信息(phonemesequence)输入跳跃编码器skipencoder中,如文字的音素、音调的音素、韵律结构等,跳跃编码器skipencoder将其编码为语言特征。进一步地,跳跃编码器skipencoder包括如下结构:1.1、编码层embedding将语言信息(phonemesequence)输入编码器中embedding中,编码器中embedding将语言信息编码为语言向量。1.2、预处理网络pre-net将语言向量输入预处理网络pre-net中,预处理网络pre-net对语言向量进行非线性转换。1.3、cbhg模块将语言向量输入cbhg模块中,cbhg模块从语言向量中提取特征,作为语言特征。1.4、skipstate网络将语言特征输入skipstate网络中,skipstate网络决定是否跳跃语言特征中的某帧特征。2、对齐网络将说话者(speakerid)的风格(stylecode)以编码的形式添加到语言特征中,此后,将语言特征与预测时长(phonemeduration)进行对齐,使得语言特征与频谱特征(如梅尔频谱图)对齐。3、解码器decoder将与预测时长(phonemeduration)对齐的语言特征输入到自回归的解码器中,解码器生成tts的中间输出。进一步地,解码器decoder包括如下结构:3.1、预处理网络pre-net将上一帧的频谱特征输入到预处理网络pre-net,预处理网络pre-net对该频谱特征进行非线性转换。对于首次迭代,上一帧的频谱特征为空,对于非首次迭代,上一帧的频谱特征上一次迭代中rnn输出的频谱特征。3.2、rnn(循环神经网络)对于首次迭代,将与预测时长(phonemeduration)对齐的语言特征、上一帧频谱特征输入到rnn中,rnn预测频谱特征。对于非首次迭代,将上一帧频谱特征输入到rnn中,rnn预测频谱特征。如果没有处理完,则进入下一次迭代,如果已处理完,则输出所有的频谱特征。4、post-net网络post-net网络用来将中间输出转换成目标输出,在本实施例中,输出与作为声码器的hifi-gan网络匹配的频谱特征。在本实施例中,由于在合成语音信号时作为声学模型的durian网络的运行方式与训练tts时作为声学模型的durian网络的运行方式的基本相似,所以描述的比较简单,相关之处参见训练tts时作为声学模型的durian网络的运行方式的部分说明即可,本实施例在此不加以详述。步骤305、将频谱特征输入作为声码器的hifi-gan网络中、转换为符合说话者在风格下说文本信息时的语音信号。在本实施例中,将作为声学模型的durian网络输出的频谱特征输入至作为声码器的hifi-gan网络,作为声码器的hifi-gan网络对该频谱特征进行处理,输出说话者在风格下说文本信息时的语音信号。在本实施例中,由于在合成语音信号时作为声码器的hifi-gan网络的运行方式与训练tts时作为声码器的hifi-gan网络的运行方式的基本相似,所以描述的比较简单,相关之处参见训练tts时作为声码器的hifi-gan网络的运行方式的部分说明即可,本实施例在此不加以详述。应用本实施例进行了mos(meanopinionscore,平均主观意见分)实验,依据合成的语音信号与作为音色克隆的目标的说话者的音色之间的相似度打分(5分制),在作为音色克隆的目标的说话者提供5句话训练tts的情况下,本实施例合成语音信号的结果可以取得3.0255的分数。在本实施例中,确定待合成语音的文本信息、说出所述文本信息的说话者及风格,从文本信息提取表征语言学的信息,作为语言信息,确定durian网络为声学模型、hifi-gan网络为声码器,将语言信息输入作为声学模型的durian网络中、转换为符合说话者在风格下说文本信息时的频谱特征,将频谱特征输入作为声码器的hifi-gan网络中、转换为符合说话者在风格下说文本信息时的语音信号,将durian网络与hifi-gan网络结合在tts中使用,在低资源的情况下,可以保证克隆音色的鲁棒性,提高语音合成的自然度和作为克隆目标的说话者的音色的相似度。需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。实施例三图4为本发明实施例三提供的一种语音合成装置的结构框图,具体可以包括如下模块:合成数据确定模块401,用于确定待合成语音的文本信息、说出所述文本信息的说话者及风格;语言信息提取模块402,用于从所述文本信息提取表征语言学的信息,作为语言信息;合成系统确定模块403,用于确定durian网络为声学模型、hifi-gan网络为声码器;频谱特征生成模块404,用于将所述语言信息输入作为声学模型的所述durian网络中、转换为符合所述说话者在所述风格下说所述文本信息时的频谱特征;语音信号生成模块405,用于将所述频谱特征输入作为声码器的所述hifi-gan网络中、转换为符合所述说话者在所述风格下说所述文本信息时的语音信号。在本发明的一个实施例中,所述语言信息包括音素、分类标记、韵律标记;所述语言信息提取模块402包括:字典确定模块,用于确定字典,所述字典记载文字与音素、音调与音素、标点符号与分类标记之间的映射关系;文本信息识别模块,用于识别所述文本信息中的文字、标点符号;音素转换模块,用于在所述字典中查询所述文字对应的音素、所述文字的音调对应的音素,将所述文字替换为所述文字对应的音素、所述文字的音调对应的音素;分类标记转换模块,用于在所述字典中查询所述标点符号对应的分类标记,将所述标点符号替换为所述标点符号对应的分类标记;韵律标记添加模块,用于在所述文本信息中添加表示韵律结构的韵律标记。在本发明的一个实施例中,所述字典确定模块包括:第一音素映射模块,用于若多种语言的多种文字的发音相似或相同,则将多种所述文字映射至同一音素;第一映射关系记录模块,用于在字典中记录多种所述文字与同一所述音素之间的映射关系;和/或,发音属性查询模块,用于查询各个文字发音的属性;第二音素映射模块,用于若所述发音的属性为协同发音,则将所述协同发音作为额外的音调、映射至指定的音素;第二映射关系记录模块,用于在所述字典中记录额外的所述音调与所述音素之间的映射关系。在本发明的一个实施例中,所述音素转换模块包括:发音属性确定模块,用于查询所述文字发音的属性;额外音素查询模块,用于若所述发音的属性为协同发音,则将所述协同发音作为额外的音调、在所述字典中查询额外的所述音调对应的音素。在本发明的一个实施例中,所述频谱特征生成模块404包括:时长确定模块,用于将所述语言信息、所述说话者的风格输入至所述时间预测网络,以预测所述说话者在所述风格下说所述文本信息时的时长,作为预测时长;频谱特征确定模块,用于将所述语言信息、所述说话者的风格、所述预测时长输入所述频谱预测网络中,以预测所述说话者在所述风格下说所述文本信息时、符合所述预测时长的频谱特征。在本发明的一个实施例中,所述durian网络包括时间预测网络、频谱预测网络;所述合成系统确定模块403包括:数据集获取模块,用于获取说话者在指定风格下说话时记录的音频信号、表达所述音频信号内容的文本信息、由所述音频信号转换的频谱特征;语言信息提取模块,用于从所述文本信息提取表征语言学的信息,作为语言信息;时间预测网络训练模块,用于以所述语言信息、所述说话者的风格作为样本、所述音频信号的时长作为标签,训练所述时间预测网络;频谱预测网络训练模块,用于若完成训练所述时间预测网络,则以所述语言信息、所述说话者的风格作为样本,所述频谱特征作为标签,训练所述频谱预测网络;声学模型设置模块,用于若完成训练所述频谱预测网络,则将所述时间预测网络、所述频谱预测网络设置为声学模型;生成网络训练模块,用于以所述频谱特征作为样本、所述音频信号作为标签,训练所述hifi-gan网络;声码器设置模块,用于若完成训练所述hifi-gan网络,则将所述hifi-gan网络设置为声码器。在本发明的一个实施例中,所述说话者包括多个第一说话者、一个或多个第二说话者;所述数据集获取模块包括:通用语料获取模块,用于从预设的语料库中提取所述第一说话者在指定风格下说话时记录的音频信号、表达所述音频信号内容的文本信息;第一频谱特征转换模块,用于将所述第一说话者对应的所述音频信号转换为频谱特征;目标语料获取模块,用于录制所述第二说话者说话时记录的、指定数量的音频信号,所述数量小于或等于预设的阈值;风格标记模块,用于对所述音频信号标记所述第二说话者的风格;文本生成模块,用于生成所述音频信号内容的文本信息;第二频谱特征转换模块,用于将所述第二说话者对应的所述音频信号转换为频谱特征。在本发明的一个实施例中,所述时间预测网络训练模块包括:第一时长预测模块,用于将所述语言信息、所述说话者的风格输入至所述时间预测网络,以预测所述说话者在所述风格下说所述文本信息时的时长,作为预测时长;时长测量模块,用于测量所述音频信号的时长,作为真实时长;时长损失值计算模块,用于计算所述预测时长与所述真实时长之间的差异,作为时长损失值;第一收敛判断模块,用于判断所述时长损失值是否收敛;若是,则调用第一完成确定模块,若否,则调用第一更新模块;第一完成确定模块,用于确定完成训练所述时间预测网络;第一更新模块,用于更新所述时间预测网络,返回调用所述第一时长预测模块。在本发明的一个实施例中,所述频谱预测网络训练模块包括:第二时长预测模块,用于将所述语言信息、所述说话者的风格输入至所述时间预测网络,以预测所述说话者在所述风格下说所述文本信息时的时长,作为预测时长;频谱特征预测模块,用于将所述语言信息、所述说话者的风格、所述预测时长输入所述频谱预测网络中,以预测所述说话者在所述风格下说所述文本信息时、符合所述预测时长的频谱特征;频谱损失值计算模块,用于计算预测的所述频谱特征与由所述音频信号转换的频谱特征之间的差异,作为频谱损失值;第二收敛判断模块,用于判断所述频谱损失值是否收敛;若是,则调用第二完成确定模块,若否,则调用第二更新模块;第二完成确定模块,用于确定完成训练所述频谱预测网络;第二更新模块,用于更新所述频谱预测网络,返回调用所述第二时长预测模块。在本发明的一个实施例中,所述合成系统确定模块403还包括:静音信号删除模块,用于删除所述音频信号中表示静音的信号;和/或,噪声信号添加模块,用于在所述音频信号中添加噪声信号;和/或,非线性变换模块,用于对所述音频信号进行非线性变换。本发明实施例所提供的语音合成装置可执行本发明任意实施例所提供的语音合成方法,具备执行方法相应的功能模块和有益效果。实施例四图5为本发明实施例四提供的一种计算机设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图5显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图5所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的语音合成方法。实施例五本发明实施例五还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述语音合成方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜