语音合成方法及装置与流程
2021-01-28 12:01:56|306|起点商标网
[0001]
本发明涉及信息处理技术领域,尤其涉及一种语音合成方法及装置。
背景技术:
[0002]
人机交互技术作为人类与计算机进行信息交流的方式,对计算机的发展产生了重要影响。在智能时代下,计算机技术日益融入人类生活的各个领域,拓展开发多背景多途径人机交互方式对于信息技术的发展具有重大意义。
[0003]
作为语音合成技术的一种延伸,tts(text-to-speech)技术就是一种重要的人机交互技术,它能够把计算机内的文字转换成连续的语音流。随着计算机技术进入网络和多媒体时代,语音合成技术日益重要,受到广泛关注并取得了很大发展。目前tts技术已经应用到同步语音翻译、电话咨询、办公自动化等各个方面。tts将声音与文本相结合,实现更加方便友好的人机交互,增强了计算机应用系统的人性化。
[0004]
现有的tts技术采用的合成技术主要分为两种。一种是参数合成技术,其根据声源参数、发声参数和辐射参数三类七个参数控制合成器生成语音。另一种是拼接合成技术,其基本思想是存储语音的基元,合成时需要读取基元、拼接、韵律修饰。拼接语音合成直接把语音基元相互拼接在一起,输出连续语流。
[0005]
然而,统计参数(statistical parametric)tts通常具有提取各种语言特征的文本前端、持续时间模型(duration model)、声学特征预测模型和基于复杂信号处理的声码器。这些部分的设计需要不同领域的知识,需要大量精力来设计。它们还需要分别完善,这意味着来自每个部分的错误可能会复合到一起。所以,基于参数的tts设计的复杂性还让人们在构建新系统时需要大量的工作。另外,现有的拼接合成技术的语音合成效果不佳,比较明显地可以分辨出人类发声与机器发声的区别。
技术实现要素:
[0006]
本发明提供了一种语音合成方法及装置,以降低语音合成的复杂性并提高语音合成的效果。
[0007]
为了实现上述目的,本发明采用以下方案:
[0008]
根据本发明实施例的一个方面,提供了一种语音合成方法,包括:
[0009]
利用第一训练样本集对用于根据文本特征数据生成语音特征数据的初始神经网络进行训练,得到第一模型;所述第一训练样本集中的第一训练样本包括第一文本特征数据和对应的第一语音特征数据;至少两个所述第一训练样的第一文本特征数据对应的文本所属的领域不同;至少两个所述第一训练样的第一语音特征数据对应的发音主体不同;
[0010]
利用第二训练样本集和第三训练样本集先后对所述第一模型进行训练,得到语音信息生成模型;所述第二训练样本集中的第二训练样本包括第二文本特征数据和对应的第二语音特征数据;各所述第二训练样本的第二文本特征数据对应的文本所属的领域与待合成语音的文本所属的领域相同;至少两个所述第二训练样本的第二语音特征数据对应的发
音主体不同;所述第三训练样本集中的第三训练样本包括第三文本特征数据和对应的第三语音特征数据;至少两个所述第三训练样本的第三文本特征数据对应的文本所属的领域不同;各所述第三训练样本的第三语音特征数据对应的发音主体与所述待合成语音的文本所欲合成语音对应的发音主体相同;
[0011]
利用所述语音信息生成模型对所述待合成语音的文本进行语音合成,得到语音合成结果。
[0012]
根据本发明实施例的另一个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例所述方法的步骤。
[0013]
根据本发明实施例的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所述方法的步骤。
[0014]
本发明的语音合成方法、电子设备及计算机可读存储介质,通过分阶段、针对性地训练得到语音信息生成模型,能够提高模型训练的效率,降低语音合成的复杂性。而且,由于训练阶段中有针对特定发音主体进行训练,所以得到的模型能够合成特定人物的语音,从而提高语音合成的效果。
附图说明
[0015]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0016]
图1是本发明一实施例的语音合成方法的流程示意图;
[0017]
图2是本发明一实施例的语音合成方法的框图示意图;
[0018]
图3是本发明一实施例的语音合成方法的流程示意图。
具体实施方式
[0019]
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
[0020]
利用拼接合成技术tts,可以从事先录制的大量语音中选择所需的基本单位拼接形成所需语音。但若要拼接合成质量较高的语音,需要录制大量语音以保证覆盖率,这对拼接所用语音的数量提出了较高要求。而且,基本单位拼接在一起存在语音不连贯的问题,致使语音合成效果不佳,会较明显地分辨出合成的语音不是人类发声。
[0021]
为了解决上述问题,本发明实施例提供了一种语音合成方法,可以用于将文本转换为语音。图1是本发明一实施例的语音合成方法的流程示意图,如图1所示,一些实施例的语音合成方法可包括:
[0022]
步骤s110:利用第一训练样本集对用于根据文本特征数据生成语音特征数据的初始神经网络进行训练,得到第一模型;所述第一训练样本集中的第一训练样本包括第一文本特征数据和对应的第一语音特征数据;至少两个所述第一训练样的第一文本特征数据对
应的文本所属的领域不同;至少两个所述第一训练样的第一语音特征数据对应的发音主体不同;
[0023]
步骤s120:利用第二训练样本集和第三训练样本集先后对所述第一模型进行训练,得到语音信息生成模型;所述第二训练样本集中的第二训练样本包括第二文本特征数据和对应的第二语音特征数据;各所述第二训练样本的第二文本特征数据对应的文本所属的领域与待合成语音的文本所属的领域相同;至少两个所述第二训练样本的第二语音特征数据对应的发音主体不同;所述第三训练样本集中的第三训练样本包括第三文本特征数据和对应的第三语音特征数据;至少两个所述第三训练样本的第三文本特征数据对应的文本所属的领域不同;各所述第三训练样本的第三语音特征数据对应的发音主体与所述待合成语音的文本所欲合成语音对应的发音主体相同;
[0024]
步骤s130:利用所述语音信息生成模型对所述待合成语音的文本进行语音合成,得到语音合成结果。
[0025]
在上述步骤s110中,初始神经网络可以是各种能够根据文本特征数据生成语音特征数据的类型的神经网络,例如,循环神经网络(recurrent neural network,rnn)、卷积神经网络(convolutional neural network,cnn)等。
[0026]
该初始神经网络可以是新构建的神经网络,例如,根据输入的网络超参数(例如,神经网络层数、神经元个数、网络组成)构建的神经网络。
[0027]
或者,该初始神经网络可以是经过了一定训练的神经网络。在一些场景中,对新构建的神经网络进行了一段时间的训练后,由于工作人员需要休息或断电等原因终止了训练,再次需要进行训练时,可以利用之前已经进行了一部分训练的神经网络进行训练。为了达到这种目的,示例性地,在上述步骤s110之前,各实施例的语音合成方法,还可包括步骤:s140,检测找到用于根据文本特征数据生成语音特征数据的初始神经网络。在该示例中,可以通过在进行神经网络训练所基于的设备上进行检测,得知该设备上是否存在已经进行了一定程度训练的神经网络,若有则可基于该神经网络继续进行训练。如此一来,可以避免由于意外情况或训练时间过长等原因所导致的重复从头开始训练神经网络,从而提高训练效率。
[0028]
该第一训练样本集一般包含多个训练样本(第一训练样本),其中,该第一训练样本中的“第一”主要是用于将第一训练样本集中的训练样本与第二训练样本集中的训练样本(第二训练样本)和第三训练样本集中的训练样本(第三训练样本)相区分,所以并不限定为第一训练样本集中的某一特定训练样本。类似地,第二训练样本中的“第二”主要是用于将第一训练样本集中的训练样本与第一训练样本集中的训练样本和第三训练样本集中的训练样本相区分;第三训练样本中的“第三”主要是用于将第三训练样本集中的训练样本与第一训练样本集中的训练样本和第二训练样本集中的训练样本相区分。
[0029]
每个第一训练样本可以包括相互对应的文本特征数据(第一文本特征数据)和语音特征数据(第一语音特征数据),其中,第一文本特征数据中的“第一”主要是用于将第一训练样本中的语音特征数据与第二训练样本中的文本特征数据(第二文本特征数据)和第三训练样本中的文本特征数据(第三文本特征数据)相区分。类似地,每个第二训练样本可以包括相互对应的文本特征数据(第二文本特征数据)和语音特征数据(第二语音特征数据),其中,第二文本特征数据中的“第二”主要是用于将第二训练样本中的语音特征数据与
第一训练样本中的文本特征数据和第三训练样本中的文本特征数据相区分;每个第三训练样本可以包括相互对应的文本特征数据(第三文本特征数据)和语音特征数据(第三语音特征数据)其中,第三文本特征数据中的“第三”主要是用于将第三训练样本中的语音特征数据与第一训练样本中的文本特征数据和第二训练样本中的文本特征数据相区分。
[0030]
文本特征数据(如第一文本特征数据、第二文本特征数据、第三文本特征数据)可以是根据文本本身或者文本相关信息转换得到的、能够直接输入至初始神经网络的数据。其中,文本本身可以为一段文字或文章;文本相关信息可以是文字本身对应的特征信息,例如,文本本身为中文文字时,文本相关信息可以是拼音或因素。
[0031]
示例性地,第一文本特征数据、第二文本特征数据及第三文本特征数据可以均是根据基本单位的字典序得到的。该基本单位可以是拼音、音节、音素、双音子(从一个音素的中央到下一个音素的中央)等。例如,更具体地,第一文本特征数据、第二文本特征数据及第三文本特征数据可以均是根据拼音或音素字典序得到的,即,均可以是根据拼音字典序得到,或者均可以是根据音素字典序得到。其中,拼音字典序可以是将所有拼音按一定规则排序所对应的编号或序号,音素字典序可以是将所有音素按一定规则排序所对应的编号或序号。在其他一些实施例中,上述基本单位采用双音子,可使合成语音的连贯性更好。
[0032]
语音特征数据(如第一语音特征数据、第二语音特征数据、第三语音特征数据)可以是语音本身或者语音相关信息得到的、与神经网络的输出形式一致的数据。其中,语音本身可以为某个人根据文本录制的一段语音;语音相关信息可以为从语音本身提取的频谱,例如,梅尔频谱或线性频谱。
[0033]
示例性地,第一语音特征数据、第二语音特征数据及第三语音特征数据可以均是通过提取梅尔频谱或线性频谱得到,即,可以均是通过提取梅尔频谱得到,或者可以均是通过提取线性频谱得到。
[0034]
第一训练样本集中的每个第一训练样本可以包含一个第一文本特征数据和该第一文本特征数据对应的第一语音特征数据。不同第一训练样本的第一文本特征数据对应的文本可以属于相同或不同的领域。至少两个第一训练样本的第一文本特征数据对应的文本所属的领域不同,以此,可以不限定文本的来源,可以基于多个不同领域的文本形成第一训练样本集的训练样本。
[0035]
其中,文本所属的领域是指文本的内容所属的范畴,当提及某一文本领域时,对可能提及的文本内容可以有一定的可预见性。例如,文本可以属于建筑领域、计算机领域、通信领域、生活常识、文学领域等等。文本所属的领域范围大小可以调节,具体可以根据待合成语音的文本所属的领域来确定。
[0036]
不同第一训练样本中的第一语音特征数据可以是来自不同或相同发音主体的录制语音。至少两个第一训练样的第一语音特征数据对应的发音主体不同,以此,可以不限定语音的发音主体,可以基于多个不同发音主体的语音形成第一训练样本集的训练样本。
[0037]
如此一来,不限定第一文本特征数据所对应的文本所属的领域,不限定发音主体,所以,一个文本可以对应多个发音主体的语音,多个领域的文本可以对应多个发音主体的语音,以此可以充分利用现有的语料库(包含现成的录音)形成大量的第一训练样本,从而既可以节省获取训练样本的人力或物力,又可以得到大量的第一训练样本。简言之,该第一训练样本集中的训练样本可以来自不同文本、不同发音主体,在此情况下,利用第一训练样
本集中的训练样本对初始神经网络进行训练所得到的第一模型可以不区分文本领域和语音主体,所以,能够主要习得其他的样本共同特征,例如发音的韵律、断句等。
[0038]
基于上述第一训练样本集的特点,该第一训练样本集可以包括很多第一训练样本,主要用来习得除文本领域和发音主体以外的其他共同特点,所以可以预先利用第一训练样本集进行训练得到第一模型,待需要对待合成语音的文本进行语音合成时,才继续利用第二训练样本集和第三训练样本集继续对第一模型进行训练。这样不仅可以预先习得较好的韵律或断句等的能力,还可以节省语音合成时的等待时间。
[0039]
在上述步骤s120中,“先后”可以指先利用第二训练样本集和第三训练样本集中一个训练样本集对上述第一模型进行训练,然后再利用第二训练样本集和第三训练样本集中另一个训练样本集对先前对第一模型进行训练后的模型进行训练。
[0040]
示例性地,该步骤s120的具体实施方式可包括:s121,利用所述第二训练样本集对所述第一模型进行训练,得到第二模型;s122,利用所述第三训练样本集对所述第二模型进行训练,得到第三模型,作为语音信息生成模型。
[0041]
在其他实施例中,该步骤s120的具体实施方式可包括:利用所述第三训练样本集对所述第一模型进行训练,得到第四模型;利用所述第二训练样本集对所述第四模型进行训练,得到第五模型,作为语音信息生成模型。该实施例中的具体实施方式与上一示例中的具体实施方式之间的区别主要在于第二训练样本集和第三训练样本集的使用顺序不同。
[0042]
每个第二训练样本可以对应一个第二文本特征数据和该第二文本特征数据对应的第二语音特征数据。第二训练样本集中所有训练样本所基于的文本均可限定在待合成语音的文本所属的领域,例如,建筑领域,以此,当提及待合成语音的文本,可以较容易地预见该领域中可能涉及的文本,反之,当习得该领域中可能涉及的文本后,也较容易得知待合成语音的文本。第二训练样本集中训练样本的语音所来自的发音主体可以不进行限定,在利用第二训练样本集进行训练时,可以不习得特定发音主体的特征。如此一来,在基于待合成语音的文本所属领域的文本的情况下,不限定发音主体,可以得到较多的第二训练样本,且可以针对特定领域训练模型,以此可以对习得韵律、断句等能力的模型继续进行训练,进一步习得特定领域的知识。
[0043]
每个第三训练样本可以对应一个第三文本特征数据和该第三文本特征数据对应的第三语音特征数据。不同第三训练样本的第三文本特征数据对应的文本所属的领域可以相同或不同。至少两个第三训练样本的第三文本特征数据对应的文本所属的领域不同,可不限定第三训练样本的第三文本特征数据对应的文本的领域。各第三训练样本的第三语音特征数据对应的发音主体与待合成语音的文本所欲合成语音对应的发音主体相同,可以将第三训练样本所基于的发音主体限定在所欲合成语音的发音主体,例如,欲将某一段话转换成特定人物的语音,则各第三训练样本的第三语音特征数据所来自的语音均可是该特定人物的语音。不限定文本,只限定特定发音主体,可以得到更多的符合发音主体要求的训练样本,且能够得到针对特定发音主体的训练样本。如此一来,利用第三训练样本集继续对上述第一模型进行训练,可以继续习得合成特定发音主体的语音的能力。
[0044]
基于该第二训练样本集和该第三训练样本集的特点,对上述第一模型继续训练,得到语音信息生成模型所用的训练样本,因为是针对性地训练,所需的训练样本的数量可以不用很大。此外,利用第二训练样本集和第三训练样本集进行训练的过程可以是在需要
将特定文本或特定领域文本转换为特定人物或发音主体语音时,再利用第二训练样本集和第三训练样本集对上述第一模型继续进行训练。由于针对性训练所花费的时间较少,所以即时性训练不会花费很长时间就可以完成,而且还可以很快得到符合特定目标语音要求的模型。
[0045]
在上述步骤s130中,在文本特征数据(如第一文本特征数据、第二文本特征数据、第三文本特征数据)是根据文本本身转换得到的情况下,可以使用类似地转换方法将待合成语音的文本转换为语音信息生成模型所需输入格式的输入数据(例如特征向量),然后输入至该语音信息生成模型,之后该语音信息生成模型可以输出语音特征数据。
[0046]
在文本特征数据(如第一文本特征数据、第二文本特征数据、第三文本特征数据)是根据文本相关信息转换得到的情况下,可以先根据待合成语音的文本得到相应的文本相关信息(例如拼音),再将该文本相关信息转换为语音信息生成模型所需输入格式进行输入。
[0047]
示例地,该步骤s130的具体实施方式可包括:s131,将所述待合成语音的文本的特征数据输入所述语音信息生成模型,得到所述待合成语音的文本对应的频谱;s132,根据所述待合成语音的文本对应的频谱转换得到相应的语音,作为语音合成结果。
[0048]
在语音特征数据(如第一语音特征数据、第二语音特征数据、第三语音特征数据)是语音本身的情况下,待合成语音的文本对应的语音特征数据可以为语音本身,即所需合成的语音;在语音特征数据(如第一语音特征数据、第二语音特征数据、第三语音特征数据)是语音相关信息(如频谱)的情况下,待合成语音的文本对应的语音特征数据可以为频谱,根据该频谱可以转换得到相应的语音,例如,可以利用griffin-lim算法、wavenet模型将频谱转换为语音。
[0049]
本些实施例中,通过先利用不限定文本领域和发音主体的第一训练样本集进行训练,再利用特定文本领域但不限定发音主体的第二训练样本集和限定发音主体但不限定文本领域的第三训练样本集先后继续进行训练,可以实现分阶段、针对性地训练得到语音信息生成模型,以此能够提高模型训练的效率,降低语音合成的复杂性。另外,由于利用第三训练样本集能够实现针对特定发音主体进行训练,所以得到的模型能够合成特定人物的语音,从而提高语音合成的效果。
[0050]
上述第一训练样本集可以是已有的训练样本,或者可以是上述步骤s110之前整理得到的训练样本。可以是针对文本特征数据不是直接根据文本本身得到、语音特征数据不是直接根据语音本身得到的情况的第一训练样本集获取方法。在其他实施例中,在文本特征数据是直接根据文本本身得到的情况下,可以直接将文本本身作为输入,在语音特征数据是直接根据语音本身得到的情况下,可以直接以语音本身作为输出。
[0051]
示例性地,上述步骤s110之前,即,利用第一训练样本集对用于根据文本特征数据生成语音特征数据的初始神经网络进行训练,得到第一模型之前,所述方法可包括:s150,对第一文本进行特征提取得到第一文本特征数据;对所述第一文本所对应的第一语音进行特征提取得到第一语音特征数据;根据所述第一文本特征数据和对应的所述第一语音特征数据生成第一训练样本;根据多个所述第一训练样本生成所述第一训练样本集。其中,所述第一文本特征数据、所述第二文本特征数据及所述第三文本特征数据可以均是根据拼音或音素字典序得到,所述第一语音特征数据、所述第二语音特征数据及所述第三语音特征数
据可以均是通过提取梅尔频谱或线性频谱得到。
[0052]
更进一步地,以中文文本为例,上述步骤s150中,对第一文本进行特征提取得到第一文本特征数据,可包括:s1511,标注中文的第一文本的拼音或音素;s1512,用拼音或音素字典序代替中文的第一文本的拼音或音素,得到第一文本特征向量,作为所述第一文本特征数据。其中,标注拼音或音素可以手动或自动进行,拼音或音素字典序(拼音字典序或音素字典序)可以是对拼音或音素进行编号的序号,可以利用标注后的拼音或音素对应的需要代替相应的拼音或音素,并可形成向量,作为第一文本特征向量,该向量可直接输入神经网络进行训练。
[0053]
更进一步的另一些实施例中,上述步骤s150中,对所述第一文本所对应的第一语音进行特征提取得到第一语音特征数据,可包括:s1521,对所述第一文本所对应的第一语音提取梅尔频谱或线性频谱;s1522,根据所述第一文本所对应的第一语音的梅尔频谱或线性频谱得到第一语音特征向量,作为第一语音特征数据。其中,对第一语音提取梅尔频谱(mel频谱)具体地可以是对第一语音的每一帧频谱(能量/幅度谱)做短时傅里叶变换,然后将变换结果映射到线性频率刻度上,在将映射的线性频率刻度转换为对数的mel刻度,之后可以利用滤带得到语音特征向量。
[0054]
上述第二训练样本集可以是已有的训练样本,或者可以是上述步骤s120之前整理得到的训练样本。可以是针对文本特征数据不是直接根据文本本身得到、语音特征数据不是直接根据语音本身得到的情况的第二训练样本集获取方法。在其他实施例中,在文本特征数据是直接根据文本本身得到的情况下,可以直接将文本本身作为输入,在语音特征数据是直接根据语音本身得到的情况下,可以直接以语音本身作为输出。
[0055]
示例性地,上述步骤s120之前,即,利用第二训练样本集和第三训练样本集先后对所述第一模型进行训练,得到语音信息生成模型之前,还可包括:s160,对第二文本进行特征提取得到第二文本特征数据;对所述第二文本所对应的第二语音进行特征提取得到第二语音特征数据;根据所述第二文本特征数据和对应的所述第二语音特征数据生成第二训练样本;根据多个所述第二训练样本生成所述第二训练样本集。其中,所述第一文本特征数据、所述第二文本特征数据及所述第三文本特征数据可以均是根据拼音或音素字典序得到,所述第一语音特征数据、所述第二语音特征数据及所述第三语音特征数据可以均是通过提取梅尔频谱或线性频谱得到。进行特征提取的具体实施方式类似于上述第一文本特征数据和第一语音特征数据的具体实施方式,故不赘述。
[0056]
更具体地,以中文文本为例,上述步骤s160中,对第二文本进行特征提取得到第二文本特征数据,可包括:s1611,标注中文的第二文本的拼音或音素;s1612,用拼音或音素字典序代替中文的第二文本的拼音或音素,得到第二文本特征向量,作为所述第二文本特征数据。
[0057]
更进一步的另一些实施例中,上述步骤s160中,对所述第二文本所对应的第二语音进行特征提取得到第二语音特征数据,可包括:s1621,对所述第二文本所对应的第二语音提取梅尔频谱或线性频谱;s1622,根据所述第二文本所对应的第二语音的梅尔频谱或线性频谱得到第二语音特征向量,作为第二语音特征数据。
[0058]
上述第三训练样本集可以是已有的训练样本,或者可以是上述步骤s120之前整理得到的训练样本。可以是针对文本特征数据不是直接根据文本本身得到、语音特征数据不
是直接根据语音本身得到的情况的第三训练样本集获取方法。在其他实施例中,在文本特征数据是直接根据文本本身得到的情况下,可以直接将文本本身作为输入,在语音特征数据是直接根据语音本身得到的情况下,可以直接以语音本身作为输出。
[0059]
示例性地,上述步骤s120之前,即,利用第二训练样本集和第三训练样本集先后对所述第一模型进行训练,得到语音信息生成模型之前,还可包括:s170,对第三文本进行特征提取得到第三文本特征数据;对所述第三文本所对应的第三语音进行特征提取得到第三语音特征数据;根据所述第三文本特征数据和对应的所述第三语音特征数据生成第三训练样本;根据多个所述第三训练样本生成所述第三训练样本集。其中,所述第一文本特征数据、所述第二文本特征数据及所述第三文本特征数据可以均是根据拼音或音素字典序得到,所述第一语音特征数据、所述第二语音特征数据及所述第三语音特征数据可以均是通过提取梅尔频谱或线性频谱得到。进行特征提取的具体实施方式类似于上述第一文本特征数据和第一语音特征数据的具体实施方式,故不赘述。
[0060]
更具体地,以中文文本为例,上述步骤s170中,对第三文本进行特征提取得到第三文本特征数据,可包括:s1711,标注中文的第三文本的拼音或音素;s1712,用拼音或音素字典序代替中文的第三文本的拼音或音素,得到第三文本特征向量,作为所述第三文本特征数据。
[0061]
更进一步的另一些实施例中,上述步骤s170中,对所述第三文本所对应的第三语音进行特征提取得到第三语音特征数据,可包括:s1721,对所述第三文本所对应的第三语音提取梅尔频谱或线性频谱;s1722,根据所述第三文本所对应的第三语音的梅尔频谱或线性频谱得到第三语音特征向量,作为第三语音特征数据。
[0062]
为使本领域技术人员更好地了解本发明,下面将以具体实施例说明本发明的实施方式。
[0063]
图2是本发明一实施例的语音合成方法的框图示意图,在图2中:
[0064]
(1)中文语料库:<文本,语音>数据集,数据量较大,文本内容与最终需要合成语音的文本领域相关,可以包含多人语音和同一段文本的多人语音。
[0065]
(2)特定语段语料:最终需要合成语音的文本和对应的多人语音。
[0066]
(3)特定人物语料:需要模拟发音的人物的语音库。
[0067]
(4)特征提取端:原始数据输入该模块,进行预处理,并提取模型训练及检测所需的特征。
[0068]
(5)语音模拟模型训练:在中文语料库上训练语音模型。
[0069]
(6)模型一:在中文语料库上训练的语音模型,目的是学习发音的韵律及断句等。
[0070]
(7)模型二:模型一在特定语段语料上训练的结果,将最终要发音的文本添加到训练集,目的是提高发音的准确性。
[0071]
(8)模型三:模型二在特定人物语料上训练的结果,目的是学习特定人物发音特点。
[0072]
(9)语音特征转化:将输出的语音特征通过griffin-lim算法合成为语音数据。
[0073]
(10)语音合成结果输出:将合成的语音数据输出为语音文件。
[0074]
更进一步地,利用构造的上述语料数据库结合rnn(循环神经网络)进行训练,从而建立语音合成模型。可包括<文本,语音>数据对特征提取,语音合成模型初始化及语音合成
模型训练三个模块。图3是本发明一实施例的语音合成方法的流程示意图,在图3中:
[0075]
(1)<文本,语音>数据对特征提取:文本特征的提取包括对文本进行拼音或音素标注,并将拼音或音素用字典序代替以得到代表文本的特征向量;语音特征的提取包括对语音提取梅尔频谱和线性频谱进而得到代表语音的特征向量。
[0076]
(2)语音合成模型初始化:通过输入的模型结构的超参数构建以rnn为基础的语音合成模型,判断是否存在起始模型,如果存在,载入起始模型的模型参数,如果不存在,通过一定的方法初始化模型参数。
[0077]
(3)语音合成模型训练:将提取特征后的<文本,语音>数据输入到已经构建的模型中,通过神经网络模型训练方法训练模型,同步判断模型是否符合误差要求,如已经符合则代表已经训练完毕,可以输出模型,如仍未符合,则循环进行训练。
[0078]
下面对本发明中提出的语音合成模型训练方法中的各个模块的具体实现做进一步的详细描述。
[0079]
1.<文本,语音>数据对特征提取中具体分析如下:
[0080]
对于原始的<文本,语音>信息无法直接输入到模型中进行训练,需要提取文本和语音特征,从而构造特征向量。
[0081]
文本特征提取,可以将文本转化问拼音或音素,例如文本“绿是阳春烟景大块文章的底色四月的林峦更是绿得鲜活秀媚诗意盎然”对应的拼音为“lv4 shi4 yang2 chun1 yan1 jing3 da4 kuai4 wen2 zhang1 de5 di3 se4 si4 yue4 de5 lin2 luan2 geng4 shi4 lv4 de5 xian1 huo2 xiu4 mei4 shi1 yi4 ang4 ran2”,其中1,2,3,4分别代表四个音调,5代表轻声,对应的音素表示为“l v4 sh ix4 ii iang2 ch un1 ii ian1 j ing3 d a4 k uai4 uu un2 zh ang1 d e5 d i3 s e4 s iy4 vv ve4 d e5 l in2 l uan2 g eng4 sh ix4 l v4 d e5 x ian1 h uo2 x iu4 m ei4 sh ix1 ii i4 aa ang4 r an2”,然后可以将左右出现的字符排列成一个字典,引用对应的字典下标代表此字符,将得到的列表转化为固定长度,最终的到文本的特征表示向量。
[0082]
语音特征提取,提取语音的mel频谱和线性频谱作为代表语音的特征向量。其中mel频谱就是短时傅里叶变换(stft)每一帧的频谱(能量/幅度谱),从线性的频率刻度映射到对数的mel刻度,再用40个滤带(filterbank),双向滤带就是80个,得到80维度的特征向量,这些特征值大致上可以表示为信号能量在mel刻度频率上的分布。mel频谱是线性频率的对数映射,相较于线性频谱,mel频谱更符合人类的听觉感受。通过提取mel频谱和线性频谱,就可以将之作为语音的特征向量。
[0083]
2.语音合成模型初始化:
[0084]
语音合成模型的初始化主要有两种方式,首先通过输入的超参数,例如神经网络层数,神经元个数,模型组成等超参数构建语音合成模型总体结构,然后判断是否具有起始的输入模型,如果存在,则应用输入模型中的模型参数赋值起始模型,如不存在,则应用某种方法随机初始模型待训练参数。
[0085]
3.语音合成模型训练:
[0086]
将提取好特征<文本特征向量,语音特征向量>输入到模型,循环训练模型并同步计算loss损失,如损失已低于阈值,代表模型以训练完成,输出模型,否则重复训练。
[0087]
本实施例的基于人工神经网络模型进行语音合成,基于rnn技术,采用的结构为基
于encoder-decoder的seq2seq的结构。其中,还可引入了注意机制(attention mechanism)。给定<文本,音频>对后,首先可将文本进行拼音标注,并对音频提取梅尔频谱和线性频谱以代表音频特征,将处理后的样本数据输入神经网络模型,可以随机初始化该模型,进行训练,最终构建一种从字符直接合成语音的,一种端到端的文本到语音的模型。通过对训练数据集的不同设计,进而得到特定人物的语音合成方式。
[0088]
本实施例的方法是基于神经网络的tts技术,可以较快构建语音合成系统。语音合成效果好,能够实现个性化语音合成,能够满足人们对个性化语音合成(即模拟特点人物的语音)的需求。本实施例的语音合成方法,构建简单快速,效果稳定。
[0089]
本实施例的基于人工神经网络的语音合成模型方法,具有以下优点:
[0090]
(1)创新性:现有语音合成方法无法输出针对特定的人的个性化语音合成模型,本方案语音合成模型通过对训练数据集的设计及分阶段训练模式,完成了对特定人物的语音合成模型的输出,与其他方法相比,具有创新性。
[0091]
(2)简单性:现有语音合成方法,通常需要多个处理阶段,例如,文本分析前端、声学模型和音频合成模块。构建这些组件经常需要多种领域的专业知识,而且设计选择也可能很脆弱。本方案的模型不需要专业的领域知识积累,模型组成模块较少,开发构建简单。
[0092]
(3)高效性:模型结构的简单性有助于模型高效率的开发构建,并且在模型训练中,通过设计不同数据集分阶段进行训练,在数据集较大的中文语料库上的训练比较耗时,但只需训练一次,为了获取特定人和特定待合成文本的模型,只需在以上模型的基础上通过规模较小的数据集便可完成,极大提高了模型的训练速度。
[0093]
基于与图1所示的语音合成方法相同的发明构思,本发明实施例还提供了一种语音合成装置,如下面实施例所述。由于该语音合成装置解决问题的原理与语音合成方法相似,因此该语音合成装置的实施可以参见语音合成方法的实施,重复之处不再赘述。
[0094]
本发明实施例提供了一种语音合成装置,可包括:
[0095]
第一模型生成单元,用于利用第一训练样本集对用于根据文本特征数据生成语音特征数据的初始神经网络进行训练,得到第一模型;所述第一训练样本集中的第一训练样本包括第一文本特征数据和对应的第一语音特征数据;至少两个所述第一训练样的第一文本特征数据对应的文本所属的领域不同;至少两个所述第一训练样的第一语音特征数据对应的发音主体不同;
[0096]
语音信息生成模型生成单元,用于:利用第二训练样本集和第三训练样本集先后对所述第一模型进行训练,得到语音信息生成模型;所述第二训练样本集中的第二训练样本包括第二文本特征数据和对应的第二语音特征数据;各所述第二训练样本的第二文本特征数据对应的文本所属的领域与待合成语音的文本所属的领域相同;至少两个所述第二训练样本的第二语音特征数据对应的发音主体不同;所述第三训练样本集中的第三训练样本包括第三文本特征数据和对应的第三语音特征数据;至少两个所述第三训练样本的第三文本特征数据对应的文本所属的领域不同;各所述第三训练样本的第三语音特征数据对应的发音主体与所述待合成语音的文本所欲合成语音对应的发音主体相同;
[0097]
语音合成单元,用于利用所述语音信息生成模型对所述待合成语音的文本进行语音合成,得到语音合成结果。
[0098]
本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并
可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例所述方法的步骤。该电子设备可以是服务器、个人计算机、平板电脑、手机等各种设备。
[0099]
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所述方法的步骤。
[0100]
综上所述,本发明实施例的语音合成方法、语音合成装置、电子设备及计算机可读存储介质,通过先利用不限定文本领域和发音主体的第一训练样本集进行训练,再利用特定文本领域但不限定发音主体的第二训练样本集和限定发音主体但不限定文本领域的第三训练样本集先后继续进行训练,可以实现分阶段、针对性地训练得到语音信息生成模型,以此能够提高模型训练的效率,降低语音合成的复杂性。另外,由于利用第三训练样本集能够实现针对特定发音主体进行训练,所以得到的模型能够合成特定人物的语音,从而提高语音合成的效果。
[0101]
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
[0102]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0103]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0104]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0105]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0106]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保
护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除
热门咨询
tips