语音合成的方法、装置以及存储介质与流程

文档序号:28639524发布日期:2022-01-26 17:40阅读:217来源:国知局
语音合成的方法、装置以及存储介质与流程

1.本技术涉及语音合成技术领域,特别是涉及一种语音合成的方法、装置以及存储介质。


背景技术:

2.目前在语音合成技术当中,主要是使用端到端进行语音合成,主要是通过深度学习技术,引入注意力机制,通过录音人员的大量录音,进行文本标注,训练出一个encoder

decoder结构的网络模型,然后传入文本通过训练好的模型进行语音合成,供用户使用。目前训练网络时,首先进行训练数据的准备,数据主要是录音数据与录音数据对应的文本,先将录音音频转换为梅尔频谱,然后再将音频对应的文本转换成拼音,然后对拼音通过字母索引(abcdefghijgklmnopqrstuvwsyz12345总共26个字母拼音,比如

我’的拼音

wo3’3是音调转换成的向量为[23,16,29])进行向量转换,但是,中文汉字有很多多音字,在生成多音字的拼音的过程中,中文转拼音就容易转换错误,然后再通过拼音传入网络进行模型预测,此时生成的音频就会是错误的音频,生成录音的错误率就会很大。
[0003]
针对上述的现有技术中存在的语音合成过程中需要将中文文本转换成拼音,由于中文汉字有很多多音字,因此在中文转拼音就容易转换错误,导致生成音频的错误率增大的技术问题,目前尚未提出有效的解决方案。


技术实现要素:

[0004]
本公开的实施例提供了一种语音合成的方法、装置以及存储介质,以至少解决现有技术中存在的语音合成过程中需要将中文文本转换成拼音,由于中文汉字有很多多音字,因此在中文转拼音就容易转换错误,导致生成音频的错误率增大的技术问题。
[0005]
根据本公开实施例的一个方面,提供了一种语音合成的方法,包括:获取待合成语音的中文文本;生成与中文文本对应的文本向量,其中文本向量与中文文本中包含的中文词汇相关联;利用预先训练的模型对文本向量进行计算,生成与文本向量对应的梅尔频谱;以及根据梅尔频谱确定与中文文本对应的音频。
[0006]
根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
[0007]
根据本公开实施例的另一个方面,还提供了一种语音合成的装置,包括:数据获取模块,用于获取待合成语音的中文文本;文本向量生成模块,用于生成与中文文本对应的文本向量,其中文本向量与中文文本中包含的中文词汇相关联;频谱生成模块,用于利用预先训练的模型对文本向量进行计算,生成与文本向量对应的梅尔频谱;以及音频生成模块,用于根据梅尔频谱确定与中文文本对应的音频。
[0008]
根据本公开实施例的另一个方面,还提供了一种语音合成的装置,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取待合成语音的中文文本;生成与中文文本对应的文本向量,其中文本向量与中文文本中包含的中文词
汇相关联;利用预先训练的模型对文本向量进行计算,生成与文本向量对应的梅尔频谱;以及根据梅尔频谱确定与中文文本对应的音频。
[0009]
在本公开实施例中,可以将中文文本转化为对应的文本向量,其中文本向量与中文文本中包含的中文词汇相关联。然后利用模型生成与该文本向量对应的梅尔频谱,最终将梅尔频谱转化为对应的音频文件。本方案在生成文本向量的过程中可以直接根据中文文本包含的词汇生成文本向量,与现有技术相比,本方案不需要将文本转化成拼音然后根据拼音生成向量。因此,达到了避免多音字在转化成拼音出现错误对结果造成影响的技术效果。因此,解决了现有技术中存在的语音合成过程中需要将中文文本转换成拼音,由于中文汉字有很多多音字,因此在中文转拼音就容易转换错误,导致生成音频的错误率增大的技术问题。
附图说明
[0010]
此处所说明的附图用来提供对本公开的进一步理解,构成本技术的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
[0011]
图1是用于实现根据本公开实施例1所述的方法的计算设备的硬件结构框图;
[0012]
图2是根据本公开实施例1的第一个方面所述的语音合成的方法的流程示意图;
[0013]
图3是根据本公开实施例1所述的模型预测过程的示意图;
[0014]
图4是根据本公开实施例2所述的语音合成的装置的示意图;以及
[0015]
图5是根据本公开实施例3所述的语音合成的装置的示意图。
具体实施方式
[0016]
为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
[0017]
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0018]
实施例1
[0019]
根据本实施例,还提供了一种语音合成的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0020]
本实施例所提供的方法实施例可以在服务器或者类似的计算设备中执行。图1示
出了一种用于实现语音合成的方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
[0021]
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
[0022]
存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的语音合成的方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的语音合成的方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0023]
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。
[0024]
显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
[0025]
此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
[0026]
在上述运行环境下,根据本实施例的第一个方面,提供了一种语音合成的方法,该方法例如可以应用于语音合成系统的服务器。图2示出了该方法的流程示意图,参考图2所示,该方法包括:
[0027]
s202:获取待合成语音的中文文本;
[0028]
s204:生成与中文文本对应的文本向量,其中文本向量与中文文本中包含的中文词汇相关联;
[0029]
s206:利用预先训练的模型对文本向量进行计算,生成与文本向量对应的梅尔频谱;以及
[0030]
s208:根据梅尔频谱确定与中文文本对应的音频。
[0031]
正如背景技术中所述的,目前训练网络时,首先进行训练数据的准备,数据主要是录音数据与录音数据对应的文本,先将录音音频转换为梅尔频谱,然后再将音频对应的文本转换成拼音,然后对拼音通过字母索引(abcdefghijgklmnopqrstuvwsyz12345总共26个字母拼音,比如

我’的拼音

wo3’3是音调转换成的向量为[23,16,29])进行向量转换,但是,中文汉字有很多多音字,在生成多音字的拼音的过程中,中文转拼音就容易转换错误,然后再通过拼音传入网络进行模型预测,此时生成的音频就会是错误的音频,生成录音的错误率就会很大。
[0032]
针对背景技术中存在的技术问题,本实施例技术方案在步骤s202中,服务器首先获取待合成语音的中文文本。例如,在需要将文本合成语音的情况下,服务器可以实时接收待合成语音的中文文本或者从数据库获取离线处理的中文文本。在一个具体实例中,该中文文本例如是“我爱北京天安门”。
[0033]
进一步地,在步骤s204中,服务器生成与中文文本对应的文本向量,即:将“我爱北京天安门”转化成对应的文本向量。其中文本向量与该中文文本中包含的中文词汇相关联,例如上述的中文文本包含的中文词汇依次是:

我’、

爱’、

北京’、

天安门’,在生成文本向量的的过程中,直接根据

我’、

爱’、

北京’、

天安门’等中文词汇生成。该操作与现有技术相比不需要将中文词汇转化为汉语拼音,然后根据汉语拼音生成向量,而是直接根据中文词汇生成文本向量。
[0034]
进一步地,在步骤s206中,服务器利用预先训练的模型对文本向量进行计算,生成与文本向量对应的梅尔频谱。参考图3所示,其中该模型在训练过程中首先准备录音以及录音文本,这里的录音文本大概3万条,录音文本需要对常用词数量15万的词典进行全覆盖,对缺少的文本进行补充,同时让录音人员进行文本录制,大概录音总时长15个小时,并将录音的音频文件生成一个[4*80]维的梅尔频谱数据文件(这里的4例如是训练数据中“我爱北京天安门”分词后是4个词,80是梅尔频谱训练的固定参数)。录制完成后,将录音对应的文本转化为上述的文本向量。然后,将梅尔频谱数据文件以及对应的文本向量传入端到端网络进行训练,该端到端的网络结构包括encoder和decoder两部分。这里首先将文本向量传入encoder结构,这里的encoder结构例如可以是一个三层的cnn再加上一个双向的lstm,文本向量进入encoder后会生成一个特征向量,特征向量传入decoder网络结构进行解码输出,decoder的目标是文本对应音频的梅尔频谱,也就是[4*80]的特征数据。decoder网络结构主要包括lstm,softmax网络,整个训练过程大概需要15万步数,这里的训练的损失函数是对比训练生成的[4*80]数据与真实音频的[4*80]数据,通过loss函数的梯度下降,来对整体网络结构的参数进行更新学习,15万步后loss值收敛以后,模型训练完成。在模型使用过程中,可以将文本向量输入至该模型中,输出与文本向量对应的梅尔频谱。
[0035]
最终,服务器根据梅尔频谱确定与中文文本对应的音频。例如:在生成好梅尔频谱的情况下,服务器将生成的梅尔频谱传入声码器输出音频文件,即与中文文本对应的音频。从而,完成文本转语音的过程。
[0036]
从而通过这种方式,服务器可以将中文文本转化为对应的文本向量,其中文本向量与中文文本中包含的中文词汇相关联,然后利用模型生成与该文本向量对应的梅尔频谱,最终将梅尔频谱转化为对应的音频文件。本方案在生成文本向量的过程中可以直接根据中文文本包含的词汇生成文本向量,与现有技术相比,本方案不需要将文本转化成拼音
然后根据拼音生成向量。因此,达到了避免多音字在转化成拼音出现错误对结果造成影响的技术效果。因此,解决了现有技术中存在的语音合成过程中需要将中文文本转换成拼音,由于中文汉字有很多多音字,因此在中文转拼音就容易转换错误,导致生成音频的错误率增大的技术问题。
[0037]
可选地,生成与中文文本对应的文本向量,包括:生成与中文文本中包含的连续的中文词汇对应的词向量;以及将词向量依次进行拼接生成句向量,根据句向量生成文本向量。
[0038]
具体地,在生成与中文文本对应的文本向量的操作中,服务器首先生成与中文文本中包含的连续的中文词汇对应的词向量。例如:上述的中文文本包含的连续的中文词汇为“我”、“爱”、“北京”、“天安门”,服务器可以将中文词汇转化成对应的词向量。在一个优选实例中,服务器例如可以利用word2vec模型生成与中文文本中包含的连续的中文词汇对应的词向量,每个词向量例如可以是512维的。进一步地,服务器将词向量依次进行拼接生成句向量,根据句向量生成文本向量(将拼接后的句向量作为该文本向量)。上述的每个词向量为512为,则对四个词向量进行拼接可以得到[4*512]的句向量(即文本向量)。从而,通过这种方式生成的文本向量可以实现与中文文本的词汇相关联。
[0039]
可选地,根据句向量生成文本向量,包括:生成与连续的中文词汇的词性对应的第一词性向量,并将第一词性向量进行拼接生成第二词性向量;以及将句向量和第二词性向量进行拼接,生成文本向量。
[0040]
具体地,在根据句向量生成文本向量的操作中,服务器还可以生成与连续的中文词汇的词性对应的第一词性向量。上述的中文词汇对应的词性依次是“主语”、“谓语”、“宾语”、“宾语”,即“我”对应于“主语”、“爱”对应于“谓语”、“北京”对应于“宾语”、“天安门”对应于“宾语”。服务器将词性转化为对应的词性向量(对应于第一词性向量)。在一个优选实例中,服务器例如可以利用one-hot编码生成与每个词性对应的词性向量(即第一词性向量),还可以采用现有技术中其他方式生成该第一词性向量。进一步地,服务器将得到的每个词性对应的第一词性向量进行拼接,得到第二词性向量。在一个具体实例中,经过one-hot编码得到的四个第一词性向量,每个第一词性向量对应于一位有效码,因此将四个第一词性向量拼接可以生成一个一维的长度为4的词性向量(对应于第二词性向量)。最终,将上述的将句向量和该第二词性向量进行拼接,生成文本向量。即将两个向量(句向量和第二词性向量)拼接成一个[4*513]的文本向量。从而通过这种方式,在生成文本向量的过程中可以引入词汇对应的词性,因此可以使得最终生成的音频更加自然。
[0041]
可选地,生成与中文文本中包含的连续的中文词汇对应的词向量,包括:对中文文本进行分词操作,确定中文文本中包含的连续的中文词汇;以及生成与中文文本中包含的连续的中文词汇对应的词向量。
[0042]
具体地,在生成与中文文本中包含的连续的中文词汇对应的词向量的操作中,服务器可以首先对中文文本进行分词操作,确定中文文本中包含的连续的中文词汇,其中分词的方式可以采用现有技术中的分词工具,例如:jieba分词。因此可以得到中文文本中包含的连续的中文词汇。进一步地,服务器将每个中文词汇生成为对应的词向量,最终得到连续的中文词汇对应的词向量。
[0043]
可选地,生成与连续的中文词汇的词性对应的第一词性向量,包括:确定与连续的
中文词汇中每个中文词汇对应的词性;以及生成与每个词性对应的第一词性向量。
[0044]
具体地,在生成与连续的中文词汇的词性对应的第一词性向量的操作中,服务器首先确定与连续的中文词汇中每个中文词汇对应的词性,即上述的中文文本中“我”对应于“主语”、“爱”对应于“谓语”、“北京”对应于“宾语”、“天安门”对应于“宾语”。然后,生成与每个词性对应的第一词性向量。即将每个词性(主语、谓语、宾语)转化为对应的词性向量(第一词性向量)。从而,可以得到每个中文词汇的词性对应的词性向量。
[0045]
可选地,确定与连续的中文词汇中每个中文词汇对应的词性,包括:根据依存句法分析算法确定与连续的中文词汇中每个中文词汇对应的词性。具体的,在确定与连续的中文词汇中每个中文词汇对应的词性的操作中,服务器例如可以采用依存句法分析算法确定每个中文词汇对应的词性。
[0046]
可选地,利用预先训练的模型对文本向量进行计算,生成与文本向量对应的梅尔频谱,包括:利用模型的编码器生成与文本向量对应的特征向量;以及利用模型的解码器对特征向量进行计算,生成与文本向量对应的梅尔频谱。
[0047]
具体地,该模型例如可以是encoder-decoder结构,包括编码器和解码器。其中,编码器包含一个字符嵌入层(characterembedding),一个3层卷积,一个双向lstm层。输入文本向量为例如是513维的,然后穿过一个三层卷积,每层卷积包含513个5x1的卷积核,即每个卷积核横跨5个字符,卷积层会对输入的字符序列进行大跨度上下文建模(类似于n-grams),这里使用卷积层获取上下文主要是由于实践中rnn很难捕获长时依赖;卷积层后接批归一化(batchnormalization),使用relu进行激活;最后一个卷积层的输出被传送到一个双向的lstm层用以生成编码特征。解码器是一个自回归循环神经网络,它从编码的输入序列预测输出声谱图,一次预测一帧。上一步预测出的频谱首先被传入一个“pre-net”,每层由256个隐藏relu单元组成的双层全连接层,pre-net作为一个信息瓶颈层(boottleneck),对于学习注意力是必要的。pre-net的输出和注意力上下文向量拼接在一起,传给一个两层堆叠的由1024个单元组成的单向lstm。lstm的输出再次和注意力上下文向量拼接在一起,然后经过一个线性投影来预测目标频谱帧。最后,目标频谱帧经过一个5层卷积的“post-net”来预测一个残差叠加到卷积前的频谱帧上,用以改善频谱重构的整个过程。post-net每层由5x1卷积核组成,后接批归一化层,除了最后一层卷积,每层批归一化都用tanh激活。并行于频谱帧的预测,解码器lstm的输出与注意力上下文向量拼接在一起,投影成一个标量后传递给sigmoid激活函数,来预测输出序列是否已经完成的概率。利用预先训练的模型对文本向量进行计算,生成与文本向量对应的梅尔频谱的操作中,服务器首先将句向量传入encoder结构,文本向量进入encoder后会生成一个特征向量,然后将该特征向量传入decoder网络结构进行解码输出,decoder的目标是文本对应音频的梅尔频谱,即生成与文本向量对应的梅尔频谱。
[0048]
可选地,在生成与中文文本对应的文本向量的操作中,服务器还可以利用bert模型生成与中文文本对应的文本向量。通过bert模型生成的文本向量可以与文本更加关联,可以进一步地提升语音合成的准确性。
[0049]
此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质。所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
[0050]
此外,需要补充说明的是,参考图3所示,本方案主要包括以下步骤:
[0051]
1.准备录音文本,这里的录音文本大概3万条,录音文本需要对常用词数量15万的词典进行全覆盖,对缺少的文本进行补充,同时让录音人员进行文本录制,大概录音总时长15个小时。
[0052]
2.录制完成后,将文本通过分词工具进行分词,通过依存句法分析树,生成每个词的词性,比如

我爱北京天安门’,分词后

我’主语,

爱’谓语,

北京’宾语,

天安门’宾语,将每个分词转换生成词向量,这里词向量的词典是15万的常用词词典,这里词向量通过word2vec来进行生成,将每个词向量拼接起来生成句向量,这里分词后是4个词,句向量是[4*512]的词向量,同时将每个词的词性,按照one-hot编码传入,生成一个一维的长度为4的词性向量,将两个向量进行拼接,拼接成一个[4*513]的句向量,然后将

我爱北京天安门’录制好的音频文件生成一个[4*80]维的梅尔频谱数据文件(这里的4是我爱北京天安门分词后是4个词,80是梅尔频谱训练的固定参数)一起传入端到端网络结构
[0053]
3.传入端到端网络进行训练,这里首先将句向量传入encoder结构,这里的encoder结构是一个三层的cnn再加上一个双向的lstm,句向量进入encoder后会生成一个特征向量,特征向量传入decoder网络结构进行解码输出,decoder的目标是文本对应音频的梅尔频谱,也就是第一步[4*80]的特征数据,decoder网络结构主要包括lstm,softmax网络,整个训练过程大概需要15万步数,这里的训练的损失函数是对比训练生成的[4*80]数据与真实音频的[4*80]数据,通过loss函数的梯度下降,来对整体网络结构的参数进行更新学习,15万步后loss值收敛以后,模型训练完成。
[0054]
4.模型预测,主要是将文本通过训练的方式生成一个句向量,例如

北京你好’,分词后是句向量与词性拼接后是[2*513]的一个向量,传入训练好的模型,预测生成梅尔频谱,生成梅尔频谱后传入声码器输出音频文件给用户使用。
[0055]
本技术通过对训练数据向量的改造,完美解决了因多音字问题而造成语音合成系统准确率偏低的问题。此外,还能够提升端到端语音合成系统的准确率,目前端到端语音合成系统中有很大错误发生在多音字模块当中,通过去除多音字模块,直接将文本转换成向量可以避免多音字模块的错误,很大提升了端到端语音合成系统的准确率。
[0056]
本方案还可以通过将中文文本通过bert预训练模型转换成向量,作为输入数据传入到端到端网络进行训练的过程。
[0057]
从而根据本实施例,可以将中文文本转化为对应的文本向量,其中文本向量与中文文本中包含的中文词汇相关联,然后利用模型生成与该文本向量对应的梅尔频谱,最终将梅尔频谱转化为对应的音频文件。本方案在生成文本向量的过程中可以直接根据中文文本包含的词汇生成文本向量,与现有技术相比,本方案不需要将文本转化成拼音然后根据拼音生成向量。因此,达到了避免多音字在转化成拼音出现错误对结果造成影响的技术效果。因此,解决了现有技术中存在的语音合成过程中需要将中文文本转换成拼音,由于中文汉字有很多多音字,因此在中文转拼音就容易转换错误,导致生成音频的错误率增大的技术问题。
[0058]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明
所必须的。
[0059]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0060]
实施例2
[0061]
图4示出了根据本实施例所述的语音合成的装置400,该装置400与根据实施例1的第一个方面所述的方法相对应。参考图4所示,该装置400包括:数据获取模块410,用于获取待合成语音的中文文本;文本向量生成模块420,用于生成与中文文本对应的文本向量,其中文本向量与中文文本中包含的中文词汇相关联;频谱生成模块430,用于利用预先训练的模型对文本向量进行计算,生成与文本向量对应的梅尔频谱;以及音频生成模块440,用于根据梅尔频谱确定与中文文本对应的音频。
[0062]
可选地,文本向量生成模块420,包括:词向量生成子模块,用于生成与中文文本中包含的连续的中文词汇对应的词向量;以及文本向量生成子模块,用于将词向量依次进行拼接生成句向量,根据句向量生成文本向量。
[0063]
可选地,文本向量生成子模块,包括:词性向量生成单元,用于生成与连续的中文词汇的词性对应的第一词性向量,并将第一词性向量进行拼接生成第二词性向量;以及文本向量生成单元,用于将句向量和第二词性向量进行拼接,生成文本向量。
[0064]
可选地,词向量生成子模块,包括:分词单元,用于对中文文本进行分词操作,确定中文文本中包含的连续的中文词汇;以及词向量生成单元,用于生成与中文文本中包含的连续的中文词汇对应的词向量。
[0065]
可选地,词性向量生成单元,包括:词性确定子单元,用于确定与连续的中文词汇中每个中文词汇对应的词性;以及词性向量生成子单元,用于生成与每个词性对应的第一词性向量。
[0066]
可选地,词性确定子单元根据依存句法分析算法确定与连续的中文词汇中每个中文词汇对应的词性。
[0067]
可选地,频谱生成模块430,包括:编码子模块,用于利用模型的编码器生成与文本向量对应的特征向量;以及解码子模块,用于利用模型的解码器对特征向量进行计算,生成与文本向量对应的梅尔频谱。
[0068]
可选地,文本向量生成模块420,包括:bert模块,用于利用bert模型生成与中文文本对应的文本向量。
[0069]
可选地,词向量生成单元利用word2vec模型生成与中文文本中包含的连续的中文词汇对应的词向量。
[0070]
从而根据本实施例,可以将中文文本转化为对应的文本向量,其中文本向量与中文文本中包含的中文词汇相关联,然后利用模型生成与该文本向量对应的梅尔频谱,最终将梅尔频谱转化为对应的音频文件。本方案在生成文本向量的过程中可以直接根据中文文本包含的词汇生成文本向量,与现有技术相比,本方案不需要将文本转化成拼音然后根据
拼音生成向量。因此,达到了避免多音字在转化成拼音出现错误对结果造成影响的技术效果。因此,解决了现有技术中存在的语音合成过程中需要将中文文本转换成拼音,由于中文汉字有很多多音字,因此在中文转拼音就容易转换错误,导致生成音频的错误率增大的技术问题。
[0071]
实施例3
[0072]
图5示出了根据本实施例所述的语音合成的装置500,该装置500与根据实施例1的第一个方面所述的方法相对应。参考图5所示,该装置500包括:处理器510;以及存储器520,与处理器510连接,用于为处理器510提供处理以下处理步骤的指令:获取待合成语音的中文文本;生成与中文文本对应的文本向量,其中文本向量与中文文本中包含的中文词汇相关联;利用预先训练的模型对文本向量进行计算,生成与文本向量对应的梅尔频谱;以及根据梅尔频谱确定与中文文本对应的音频。
[0073]
可选地,生成与中文文本对应的文本向量,包括:生成与中文文本中包含的连续的中文词汇对应的词向量;以及将词向量依次进行拼接生成句向量,根据句向量生成文本向量。
[0074]
可选地,根据句向量生成文本向量,包括:生成与连续的中文词汇的词性对应的第一词性向量,并将第一词性向量进行拼接生成第二词性向量;以及将句向量和第二词性向量进行拼接,生成文本向量。
[0075]
可选地,生成与中文文本中包含的连续的中文词汇对应的词向量,包括:对中文文本进行分词操作,确定中文文本中包含的连续的中文词汇;以及生成与中文文本中包含的连续的中文词汇对应的词向量。
[0076]
可选地,生成与连续的中文词汇的词性对应的第一词性向量,包括:确定与连续的中文词汇中每个中文词汇对应的词性;以及生成与每个词性对应的第一词性向量。
[0077]
可选地,确定与连续的中文词汇中每个中文词汇对应的词性,包括:根据依存句法分析算法确定与连续的中文词汇中每个中文词汇对应的词性。
[0078]
可选地,利用预先训练的模型对文本向量进行计算,生成与文本向量对应的梅尔频谱,包括:利用模型的编码器生成与文本向量对应的特征向量;以及利用模型的解码器对特征向量进行计算,生成与文本向量对应的梅尔频谱。
[0079]
可选地,生成与中文文本对应的文本向量,还包括:利用bert模型生成与中文文本对应的文本向量。
[0080]
可选地,生成与中文文本中包含的连续的中文词汇对应的词向量,包括:利用word2vec模型生成与中文文本中包含的连续的中文词汇对应的词向量。
[0081]
从而根据本实施例,可以将中文文本转化为对应的文本向量,其中文本向量与中文文本中包含的中文词汇相关联,然后利用模型生成与该文本向量对应的梅尔频谱,最终将梅尔频谱转化为对应的音频文件。本方案在生成文本向量的过程中可以直接根据中文文本包含的词汇生成文本向量,与现有技术相比,本方案不需要将文本转化成拼音然后根据拼音生成向量。因此,达到了避免多音字在转化成拼音出现错误对结果造成影响的技术效果。因此,解决了现有技术中存在的语音合成过程中需要将中文文本转换成拼音,由于中文汉字有很多多音字,因此在中文转拼音就容易转换错误,导致生成音频的错误率增大的技术问题。
[0082]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0083]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0084]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0085]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0086]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0087]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0088]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1