技术简介:
本专利针对传统HiFi-GAN模型生成器复杂度高、效率低的问题,提出采用改进的Transformer模型替换生成器,通过滑动窗口或扩大滑动窗口优化多头自注意力机制,有效降低模型复杂度,提升计算速度与性能,实现更高效、轻量化的语音合成。
关键词:Transformer优化,语音合成方法
1.本发明涉及语音合成技术领域,尤其涉及一种语音合成方法、系统、设备及存储介质。
背景技术:2.语音合成(speech synthesis)技术是指计算机通过分析将任意文本转换为流畅语音的技术,是人机交互的重要渠道,在智能客服、虚拟主播、虚拟歌姬、小说播报等多个场景下发挥着重要的作用。语音合成系统一般包括文本前端模块、声学模型模块和声码器三个模块,文本前端模块用于将原始文本转换为字符或者音素,声学模型模块用于将字符或者音素转换为声学特征,如线性频谱图、梅尔频谱图、lpc(linear predictive coding,线性预测编码)等,声码器将声学特征转换为语音波形。
3.现有的最佳声码器模型为hifi-gan,hifi-gan为基于gan(generative adversarial nets,生成对抗网络)的高效编解码模型,hifi-gan包括一个生成器和两个判别器,但是在一些对语音合成实时性要求较高的情形下,hifi-gan的计算效率和合成速度依然不能满足这些情况下的要求,因此,亟需一种计算复杂度低、合成速度快的语音合成方法。
技术实现要素:4.本发明提供一种语音合成方法、系统、设备及存储介质,其主要目的在于降低目标声码器的计算复杂度,有效提高语音合成效率。
5.第一方面,本发明实施例提供一种语音合成方法,包括:
6.获取待合成文本的声学特征;
7.将所述待合成文本的声学特征输入训练后的目标声码器中,获取目标语音,其中,所述目标声码器模型为神经网络模型,所述目标声码器模型通过利用改进的transformer模型替换掉hifi-gan模型中的生成器得到,改进的transformer模型通过滑动窗口或扩大滑动窗口对transformer模型中的多头自注意力机制进行改进后得到。
8.优选地,所述滑动窗口表示窗口的大小是固定的,所述扩展滑动窗口表示滑动窗口的大小是动态、且逐渐变大的。
9.优选地,所述目标声码器包括所述改进的transformer模型和两个判别器,所述将所述待合成文本的声学特征输入训练后的目标声码器中之前还包括:
10.通过样本文本、所述样本文本对应的标准语音对所述改进的transformer模型和所述两个判别器进行训练,得到训练后的目标声码器。
11.优选地,所述改进的transformer模型包括第一线性层、改进的以多头自注意力为核心的网络层、若干块层和第二线性层,其中,所述快层包括上采样层和若干改进的以多头自注意力为核心的网络层。
12.优选地,所述改进的transformer模型通过滑动窗口或扩大滑动窗口对
transformer模型中的多头自注意力机制进行改进后得到,通过如下步骤获得:
13.通过所述滑动窗口或所述扩大滑动窗口对多头自注意力机制进行改进,得到所述改进的以多头自注意力为核心的网络层,以进一步得到所述改进的transformer模型。
14.优选地,所述通过所述滑动窗口对多头自注意力机制进行改进,通过如下公式计算得到:
[0015][0016]
其中,attention(q,k,v)1表示通过所述滑动窗口对多头自注意力机制进行改进后的输出,q、k和v表示输入向量,dk表示k的维度,sw(k)表示对k进行滑动窗口,sw(v)表示对v进行滑动窗口。
[0017]
优选地,所述通过所述扩大滑动窗口对多头自注意力机制进行改进,通过如下公式计算得到:
[0018][0019]
其中,attention(q,k,v)2表示所述通过所述扩展滑动窗口对多头自注意力机制进行改进后的输出,q、k和v表示输入向量,dk表示k的维度,b表示位置偏差参数。
[0020]
第二方面,本发明实施例提供一种语音合成系统,包括:
[0021]
声学特征模块,用于获取待合成文本的声学特征;
[0022]
语音合成模块,用于将所述待合成文本的声学特征输入训练后的目标声码器中,获取目标语音,其中,所述目标声码器模型为神经网络模型,所述目标声码器模型通过利用改进的transformer模型替换掉hifi-gan模型中的生成器得到,改进的transformer模型通过滑动窗口或扩大滑动窗口对transformer模型中的多头自注意力机制进行改进后得到。
[0023]
第三方面,本发明实施例提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述语音合成方法的步骤。
[0024]
第四方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述语音合成方法的步骤。
[0025]
本发明实施例提出一种语音合成方法、系统、设备及存储介质,通过滑动窗口或扩大滑动窗口对transformer模型中的多头自注意力机制进行改进,得到改进的transformer模型,既能降低模型的复杂度,提高模型性能;然后通过将改进的transformer模型替换掉hifi-gan模型中的生成器,得到目标声码器,使得该语音合成方法能同时结合transformer模型和hifi-gan模型的优势,与传统的hifi-gan模型相比,该语音合成方法计算复杂度更低,占用空间更小,并且计算速度更快。
附图说明
[0026]
图1为本发明实施例提供的一种语音合成方法的应用场景图;
[0027]
图2为本发明实施例提供的一种语音合成方法的流程图;
[0028]
图3为本发明实施例中改进的transformer模型的结构示意图;
[0029]
图4为本发明实施例提供的一种语音合成系统的结构示意图;
[0030]
图5为本发明实施例中提供的一种计算机设备的结构示意图。
[0031]
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0032]
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0033]
图1为本发明实施例提供的一种语音合成方法的应用场景图,如图1所示,用户在客户端输入待合成文本,客户端获取到该待合成文本后,对待合成文本进行特征提取,提取出该待合成文本的声学特征,并将该待合成文本的声学特征发送给服务端,服务端接收到该待合成文本后,执行该一种语音合成方法,得到目标语音。
[0034]
需要说明的是,服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。客户端可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。客户端和服务端可以通过蓝牙、usb(universal serial bus,通用串行总线)或者其他通讯连接方式进行连接,本发明实施例在此不做限制。
[0035]
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,ai(artificial intelligence,简称人工智能)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
[0036]
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习、深度学习等几大方向。
[0037]
图2为本发明实施例提供的一种语音合成方法的流程图,如图2所示,该方法包括:
[0038]
s210,获取待合成文本的声学特征;
[0039]
首先获取待合成文本的声学特征,该待合成文本是指待合成的文本字符,该文本字符通常是一个句子,包括至少一个文字,当该语音合成方法应用于智能客户场景时,该待合成文本就是智能客服系统根据用户输入信息作出的应对语句,通过该语音合成方法将应对语句转换为应对语音,并反馈给客户;当该语音合成方法应用在虚拟歌姬场景时,该待合成文本就是该虚拟歌姬唱歌的歌词;当该语音合成方法应用在小说播报、新闻播报等场景时,该待合成文本就是小说文字文本、新闻文字稿件。该待合成文本具体可以根据实际情况进行确定,本发明实施例对此不做具体限定。
[0040]
声学特征表示语音声学特性的物理量,也是声音诸要素声学表现的统称,如表示音色的能量集中区、共振峰频率、共振峰强度和带宽,以及表示语音韵律特性的时长、基频、平均语声功率等,常见的声学特征有线性频谱图、梅尔频谱图、lpc等,本发明实施例中的声学特征是指梅尔频谱。梅尔频谱是根据人类听觉系统的特点发明的,人类对频率的感知并不是线性的,并且对低频信号的感知要比高频信号敏感,例如,人们可以比较容易地发现500和1000hz的区别,确很难发现7500和8000hz的区别,通过对短时傅里叶变换的频率轴施加一个非线性变换,再用相对比较低的维度对频率范围进行压缩。相比语言特征和其它声学特征而言,梅尔频谱能更好的表征更低层次的音频信号。
[0041]
根据待合成文本,提取出该待合成文本的声学特征,可以通过如下几种方法实现。第一种,对待合成文本进行文本正则化(text normalization)处理和g2p(grapheme-to-phoneme,单词转音素)处理,得到待合成文本对应的音素;待合成文本进行文本正则化处理,即将待合成文本中的表达进行规范化和消歧,以便于后续的待合成文本处理流程,例如将62%转换为百分之六十二,将编号27149转换为编号二七一四九;待合成文本在被正则化后就会进行单词转音素得到音素串(音素是构成音节的最小单位)。然后将音素输入到声学模型中,得到待合成文本的声学特征,声学模型的任务是还原语音中蕴含的音色信息、韵律信息和情感信息等等,常见的声学模型有tacotron、tacotron2等,具体可以根据实际情况进行确定,本发明实施例对此不做具体限定。第二种,基于神经网络的声学特征提取方法,先获取样本文本和梅尔频谱样本,接着对样本文本进行滤波处理,去除样本文本中的无用字符,比如特殊字符,并将阿拉伯文字转换为对应的文本单词,将中文文本字符转换为拼音字符或者音素字符,以得到标准格式的样本文本。接着对梅尔频谱样本进行降噪处理和滤波处理,得到干净的、整洁的梅尔频谱样本,并将预处理后的样本文本和梅尔频谱样本进行对齐,将对齐后的数据作为训练数据。利用训练数据对声学特征提取模型进行训练,当训练精度达到要求后,训练结束,得到训练后的声学特征提取模型;再将该待合成文本输入到训练后的声学特征提取模型中,即可得到该待合成文本的声学特征。以上两种方法均为比较常见的获取文本声学特征的方法,在具体实施时可以根据实际情况进行选择,本发明实施例对此不做具体的限定。
[0042]
s220,将所述待合成文本的声学特征输入训练后的目标声码器中,获取目标语音,其中,所述目标声码器模型为神经网络模型,所述目标声码器模型通过利用改进的transformer模型替换掉hifi-gan模型中的生成器得到,改进的transformer模型通过滑动窗口或扩大滑动窗口对transformer模型中的多头自注意力机制进行改进后得到。
[0043]
声码器将声学特征转换为波形的过程中需要解决“信息缺失的补全问题”,信息缺失是指,在音频波形转换为频谱图时,存在相位信息的缺失;在频谱图转换为mel频谱图时,存在频域压缩导致的信息缺失。假设音频的采样率是16khz,即1s的音频有16000个采样点,一帧的音频有10ms,则1s中包含100帧,每一帧有160个采样点,声码器的作用就是将一个频谱帧变成音频波形的160个采样点,所以声码器中一般会包含上采样模块。基于此,san(selfattention,自注意力机制)是一种对自然语言和图像进行建模的有效方法,但是由于san的计算复杂度相对于输入序列的二次增长,当传统的san应用于高采样率的波形生成时,其计算复杂度会非常大。为了解决该问题,本发明实施例中通过滑动窗口或扩展滑动窗口对san进行改进。而transformer模型是基于多头自注意力机制提出的神经网络模型,而多头自注意力机制是在san的基础上进行扩展得到,transformer模型常常应用于语音合成、语音转换等场景,因此通过滑动窗口或扩大滑动窗口对transformer模型中的多头自注意力机制进行改进,可以得到改进的transformer模型。
[0044]
具体地,本发明实施例中,可以是通过滑动窗口对transformer模型中的多头自注意力机制进行改进,得到改进的transformer模型,仅仅通过滑动窗口对多头自注意力机制进行改进,可以降低模型的复杂程度,从而降低计算量,但是此时模型的感受野(receptive field)比较小,网络参数较多,导致模型性能不佳,感受野是指卷积神经网络每一层输出的特征图(feature map)上的像素点映射回输入图像上的区域大小,通俗点的解释是,特征图
上一点相对于原图的大小,也是卷积神经网络特征所能看到输入图像的区域。当该语音合成方法应用在对速度和效率要求比较高、而对合成质量要求不太高的场景时,比如有声书阅读等等场景,可以只通过滑动窗口对多头自注意力机制进行改进即可。还可以是单单通过扩展滑动窗口对transformer模型中的多头自注意力机制进行改进,得到改进的transformer模型,仅仅通过扩展滑动窗口对多头注意力机制进行改进,该扩展滑动窗口可以在保证与滑动窗口相同计算量的前提下,扩大模型的感受野,提高模型性能,因此扩展滑动窗口对多头自注意力机制进行改进后得到的模型比滑动窗口进行改进得到的模型效果更好。当该语音合成方法应用在对合成准确度要求较高、而实时性、合成速度要求不高的场景时,比如自媒体中文字转语音等场景下,可以仅仅通过扩展滑动窗口对transformer模型中的多头自注意力机制进行改进即可。本发明实施例中给出了两种对多头自注意力机制进行改进的方法,针对不同应用场景的不同要求,可以选择合适的改进方法。为了便于说明技术方案,本发明实施例以滑动窗口和扩展滑动窗口同时对多头自注意力机制进行改进为例进行说明。
[0045]
得到改进的transformer模型后,hifi-gan模型是目前效果最好的声码器模型,为了得到本发明实施例中的目标声码器模型,利用改进的transformer模型替换掉hifi-gan模型中的生成器,得到目标声码器。hifi-gan模型的主体结构主要包括两个部分,生成器和判别器,生成器以梅尔频谱作为输入,生成音频波形数据,判别器主要是在hifi-gan模型训练过程中用来判定模型的输出与标签之间的差异程度。由于改进后的transformer模型在高采样率波形生成方面具有较好的效果,因此利用改进的transformer模型替换掉hifi-gan模型中的生成器,可以使得目标声码器相比传统的hifi-gan模型,模型复杂度更低,占用空间更小,并且具有较大的感受野。
[0046]
为了对本发明实施例提出的语音合成方法效果进行验证,将该目标声码器与其它几种声码器的性能进行比较,比较试验都是在lj-speech数据集上进行的,该数据集包含一位演讲者的13100个音频片段,总长度约为24小时,音频格式为16位pcm,采样频率为22.05khz。将原始音频谱图80波段作为输入,fft大小、跳数和窗口大小分别为1024、256和1024。
[0047]
对于模型配置:首先使用线性层对80波段梅尔频谱进行转换,将其转换成隐藏表示维度,用h
int
表示,本发明实施例提供一大一小的h
int
表示两种配置下的目标声码器模型,ours(small)表示h
int
为128时的目标声码器模型,ours(big)表示表示h
int
为512时的目标声码器模型。将最流行的gan声码器:hifi-gan和melgan作为参考模型。hifi-ganv1和hifi-ganv2为现有技术中提出的两个不同的hifi-gan模型。
[0048]
本发明实施例中采用mos(mean opinion score,平均意见评分)来评估合成语音的质量,从测试集中随机抽取20个语音片段,使用本发明实施例提出的目标声码器进行语音合成和其它声码器进行语音合成,每个语音片段合成20次,得到平均合成速度,在计算合成速度时,需要排除cpu和gpu之间的传输数据的时间开销。表1为本发明实施例中不同语音合成方法中模型大小和综合速度比较表,表2为本发明实施例中不同语音合成方法中模型mos比较表,从表1和表2中可以得出,本发明实施例提出的首隐藏维度较大的目标声码器,在需要更少参数的情况下,实现与最佳hifi-ganv1模型相同的mos排名,本发明实施例提出的首隐藏维度较小的目标声码器,其模型参数为0.57m,合成22.05khz高保真语音的速度比
实时快113倍,与hifi-ganv2和melgan相比具有较强的竞争力。
[0049]
表1
[0050][0051]
表2
[0052][0053]
综上,本发明实施例提出一种语音合成方法,通过滑动窗口或扩大滑动窗口对transformer模型中的多头自注意力机制进行改进,得到改进的transformer模型,既能降低模型的复杂度,又能扩大模型的感受野,提高模型性能;然后通过将改进的transformer模型替换掉hifi-gan模型中的生成器,得到目标声码器,使得该语音合成方法能结合改进的transformer模型和hifi-gan模型的优势,与传统的hifi-gan模型相比,该语音合成方法计算复杂度更低,占用空间更小,并且计算速度更快。
[0054]
在上述实施例的基础上,优选地,所述滑动窗口表示窗口的大小是固定的,所述扩展滑动窗口表示滑动窗口的大小是动态、且逐渐变大的。
[0055]
本发明实施例中通过滑动窗口或者扩展滑动窗口来降低多头自注意力机制中数据的计算量,对于现有技术中多头自注意力机制,需要计算输入序列中每个数据与其它数据的交互情况,这导致多头自注意力机制的计算量偏大;为了减少计算量,就需要选择合适的数据量来计算交互情况,因此通过滑动窗口对来确定其它数据的范围,可以将其它数据指定为窗口内的数据,而对于窗口外的数据则不需要计算交互情况,从而可以有效降低该多头自注意力机制的计算量;由于滑动窗口在每次数据计算过程中窗口大小是恒定的,虽然减小了计算量,但是也使得注意力过分集中在窗口内的数据,利用滑动窗口对多头自注意力机制进行改进后的模型感受野较小。为了扩大感受野,采用扩展滑动窗口对多头自注意力机制进行改进,扩展滑动窗口同样是将其它数据限定在窗口内,而不需要计算与窗口外数据的交互,从而扩展滑动窗口与滑动窗口的计算复杂度是相同的,与滑动窗口不同的是,该扩展滑动窗口在每次聚合中窗口的大小是在改变的,并且越变越大,直到覆盖整个序
列为止,在每次注意力的计算中,数据与其它数据之间的交互计算也越来越大,避免了注意力的过分集中,从而增大了模型的感受野。
[0056]
在上述实施例的基础上,优选地,所述目标声码器包括所述改进的transformer模型和两个判别器,所述将所述待合成文本的声学特征输入训练后的目标声码器中之前还包括:
[0057]
通过样本文本、所述样本文本对应的标准语音对所述改进的transformer模型和所述两个判别器进行训练,得到训练后的目标声码器。
[0058]
具体地,本发明实施例中,目标声码器包括改进的transformer模型和两个判别器,在利用目标声码器进行推理之前,需要先对目标声码器进行训练,进行训练时,改进的transformer模型和两个判别器均需要参与。需要说明的是,本发明实施例中的目标声码器属于神经网络中的一种,该目标声码器的训练过程可以分为三个步骤:定义前向传播的输出结果;按照定义损失函数以及反向传播优化的算法;最后生成会话并以样本文本作为输入、以所述样本文本对应的标准语音作为标签反复运行反向传播优化算法。
[0059]
其中,神经元是构成神经网络的最小单位,一个神经元可以有多个输入和一个输出,每个神经元的输入既可以是其它神经元的输出,也可以是整个神经网络的输入。该神经网络的输出即是所有神经元的输入加权和,不同输入的权重就是神经元参数,神经网络的优化过程就是优化神经元参数取值的过程。神经网络的效果及优化的目标是通过损失函数来定义的,损失函数给出了神经网络的输出结果与真实标签之间差距的计算公式,监督学习为神经网络训练的一种方式,其思想就是在已知答案的标注数据集上,该神经网络给出的结果要尽量接近真实的答案(即标签)。通过调整神经网络中的参数对训练数据进行拟合,使得神经网络对未知的样本提供预测能力。反向传播算法实现了一个迭代的过程,每次迭代开始的时候,先取一部分训练数据,通过前向传播算法得到神经网络的预测结果。因为训练数据都有正确的答案,所以可以计算出预测结果和正确答案之间的差距。基于这个差距,反向传播算法会相应的更新神经网络参数的取值,使得和真实答案更加接近。
[0060]
通过上述方法完成训练过程后,即可利用完成训练后的目标声码器进行推理。在进行推理时,只需要将待合成文本的声学特征输入到训练后改进的transformer模型中,即可得到目标语音,判别器的作用是判定训练过程中生成的推理语音和标准语音之间的差距,以此来调节目标声码器的模型参数,因此,判别器在推理过程中并不参与。
[0061]
在上述实施例的基础上,优选地,所述改进的transformer模型包括第一线性层、改进的以多头自注意力为核心的网络层、若干块层和第二线性层,其中,所述快层包括上采样层和若干改进的以多头自注意力为核心的网络层。
[0062]
图3为本发明实施例中改进的transformer模型的结构示意图,如图3所示,本发明实施例中改进的transformer模型由1个第一线性层、以改进的多头自注意力为核心的网络层、n个相同的块和第二线性层组成。梅尔频谱首先经过第一线性层和以改进的多头自注意力为核心的网络层,然后送入n个相同的块层中,每个块包含1个上采样层和k个以改进的以多头自注意力为核心的网络层,最后利用第二线性层将隐藏矢量投影到波形输出。上采样层是通过一叠转秩的卷积层来实现的,每个改进的以多头自注意力为核心的网络层由一个多头自注意力层和一个位置前馈线性层组成,且每个模块后都加一个残余连接和一个线性层。
[0063]
在上述实施例的基础上,优选地,所述改进的transformer模型通过滑动窗口或扩大滑动窗口对transformer模型中的多头自注意力机制进行改进后得到,通过如下步骤获得:
[0064]
通过滑动窗口或扩大滑动窗口对多头自注意力机制进行改进,得到所述改进的以多头自注意力为核心的网络层,以进一步得到所述改进的transformer模型。
[0065]
多头自注意力机制由多个自注意力头并行工作构成,每个注意力头都将注意力机制应用于自己的输入,假设x为输入序列,计算多头自注意力机制的公式如下:
[0066][0067]
y=concat(head1,
…
,headh)wo+x, (2)
[0068]
其中,wq、wk、wv、wo表示所有共享位置的线性变换,y是输出序列,和x大小相同。将评分函数表示为如下:
[0069][0070]
由于传统的san应用于高采样率的波形生成时,其计算复杂度会非常大,针对该问题,本发明实施例提出如下的解决方法:
[0071]
如前所述,传统的san的计算复杂度相对于序列长度是二次元,因此在对长序列建模时效率较低,为了减少计算复杂度,将计算注意力的范围限定在一个固定大小的滑动窗口上,假设w为窗口大小,基于窗口的自我注意复杂度从o(n2)降低为o(n,w),与窗口大小呈线性关系。具体通过如下公式计算得到:
[0072][0073]
其中,attention(q,k,v)1表示通过所述滑动窗口对多头自注意力机制进行改进后的输出,q、k和v表示输入向量,dk表示k的维度,sw(k)表示对k进行滑动窗口,sw(v)表示对v进行滑动窗口。
[0074]
另外,扩展滑动窗口是指在滑动窗口的基础上增加窗口的大小,音频数据的采样率,通常在8khz(电话信道)和48khz(高保真音频)之间,应用在语音合成场景时,通常需要生成更长的数列,通常为数百万个样本而不是几十个单词,对于神经网络来说,学习长期以来关系是一个相当大的挑战。上述利用滑动窗口来计算注意力,接收场的大小收到窗口大小的限制,使得模型的感受野较小,针对该问题,本发明实施例中利用扩展滑动窗口来扩大接收场,从而使感受野变大,利用扩展滑动窗口运行san以恒定的比例因子增加接收场,同时不增加计算成本。
[0075]
在具体实现扩张滑动窗口时,由于注意机制的位置是不敏感的,为了利用序列的顺序信息,在计算自我注意时需要在序列中注入一些位置信息,通过对每个注意头增加一个位置偏差来实现,具体通过如下公式计算得到:
[0076][0077]
其中,attention(q,k,v)2表示所述通过所述扩展滑动窗口对多头自注意力机制
进行改进后的输出,q、k和v表示输入向量,dk表示k的维度,b表示位置偏差参数。
[0078]
表3
[0079][0080]
表3为本发明实施例中提供的三种不同的注意力机制的复杂度和感受野对比表,如表3所示,表中n表示序列长度,d表示扩展参数,从表中可以看出,滑动窗口改进的自我注意力机制和扩展滑动窗口改进的自我注意力机制的复杂度相同,与原始的自我注意力机制相比,其复杂度均降低很多,并且扩展滑动窗口的感受野为滑动窗口的n倍,利用扩展滑动窗口可以在保持复杂度不变的情况下扩大感受野。
[0081]
图4为本发明实施例提供的一种语音合成系统的结构示意图,如图4所示,该系统包括声学特征模块410和语音合成模块420,其中:
[0082]
声学特征模块410用于获取待合成文本的声学特征;
[0083]
语音合成模块420用于将所述待合成文本的声学特征输入训练后的目标声码器中,获取目标语音,其中,所述目标声码器模型为神经网络模型,所述目标声码器模型通过利用改进的transformer模型替换掉hifi-gan模型中的生成器得到,改进的transformer模型通过滑动窗口或扩大滑动窗口对transformer模型中的多头自注意力机制进行改进后得到。
[0084]
在上述实施例的基础上,优选地,所述滑动窗口表示窗口的大小是固定的,所述扩展滑动窗口表示滑动窗口的大小是动态、且逐渐变大的。
[0085]
在上述实施例的基础上,优选地,所述目标声码器包括所述改进的transformer模型和两个判别器,所述语音合成系统还包括训练模块,其中:
[0086]
所述训练模块用于通过样本文本、所述样本文本对应的标准语音对所述改进的transformer模型和所述两个判别器进行训练,得到训练后改进的transformer模型;将训练后改进的transformer模型作为训练后的目标声码器。
[0087]
在上述实施例的基础上,优选地,所述改进的transformer模型包括第一线性层、改进的以多头自注意力为核心的网络层、若干块层和第二线性层,其中,所述快层包括上采样层和若干改进的以多头自注意力为核心的网络层。
[0088]
在上述实施例的基础上,优选地,所述语音合成模块包括改进单元,其中:
[0089]
所述改进单元用于通过滑动窗口或扩大滑动窗口对多头自注意力机制进行改进,得到所述改进的以多头自注意力为核心的网络层,以进一步得到所述改进的transformer模型。
[0090]
在上述实施例的基础上,优选地,所述改进单元通过如下公式实现:
[0091][0092]
其中,attention(q,k,v)1表示通过所述滑动窗口对多头自注意力机制进行改进后的输出,q、k和v表示输入向量,dk表示k的维度,sw(k)表示对k进行滑动窗口,sw(v)表示对v进行滑动窗口。
[0093]
在上述实施例的基础上,优选地,所述改进单元通过如下公式实现:
[0094][0095]
其中,attention(q,k,v)2表示所述通过所述扩展滑动窗口对多头自注意力机制进行改进后的输出,q、k和v表示输入向量,dk表示k的维度,b表示位置偏差参数。
[0096]
上述语音合成系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0097]
图5为本发明实施例中提供的一种计算机设备的结构示意图,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括计算机存储介质、内存储器。该计算机存储介质存储有操作系统、计算机程序和数据库。该内存储器为计算机存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行语音合成方法过程中生成或获取的数据,如待合成文本、声学特征。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语音合成方法。
[0098]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的语音合成方法的步骤。或者,处理器执行计算机程序时实现语音合成系统这一实施例中的各模块/单元的功能。
[0099]
在一实施例中,提供一计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中语音合成方法的步骤。或者,该计算机程序被处理器执行时实现上述语音合成系统这一实施例中的各模块/单元的功能。
[0100]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0101]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0102]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。