将文本转换为指定风格语音的方法与流程

文档序号:21279270发布日期:2020-06-26 23:29阅读:428来源:国知局
将文本转换为指定风格语音的方法与流程

本发明属于语音合成技术领域,更为具体地讲,涉及一种将文本转换为指定风格语音的方法。



背景技术:

随着深度学习在语音合成领域的不断深入,语音生成技术逐渐缩小了生成语音与人类语音的差距。语音生成通常是将一个文本通过特定的合成系统转换为一种特定风格的语音。此过程需要经过多个步骤的处理,比如前端文本分析,声学模型,以及音频合成模块。

传统的语音生成方法是拼接式语音合成:先录制单一说话者的大量语音片段,建立一个大型语料库,然后简单地从中进行选择并合成完整的大段音频、词语和句子。这种“机械式”方法使得计算机输出音频经常产生语音毛刺、语调的诡异变化、甚至结巴,并且无法调整语音的语调,强调性音节或情绪。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种将文本转换为指定风格语音的方法,实现单一文本到多种指定风格语音的转换。

为了实现上述发明目的,本发明将文本转换为指定风格语音的方法包括以下步骤:

s1:获取若干不同风格的语音信号,按照预定时间间隔对语音信号进行分割,记分割得到的语音信号数量为n,记第n个语音信号为sn,其中n=1,2,…,n,获取语音信号sn的文本tn以及语音时频图像in,将语音信号按照风格进行分类,记语音信号sn对应的风格分类标签fn;

s2:对于每幅语音时频图像in,标注图中每个字符的信息,字符信息包含该字符的字符类别和字符位置框;记每幅语音时频图像in中所有的位置框信息为该语音时频图像对应的位置框序列cn;

s3:对于每幅语音时频图像in,根据位置框序列cn中每个字符位置框位置,将字符位置框内的像素值置为1,其余像素值置为0,得到语音时频图像in对应的掩码图像

s4:构建双向长短期记忆网络,将各个文本tn转换化文本字符序列,文本字符序列中包含各个字符及其类型,将文本字符序列作为双向长短期记忆网络的输入,将对应的位置框序列cn作为双向长短期记忆网络的输出,对双向长短期记忆网络进行训练;

s5:构建生成对抗网络,包括生成器模块、内容判别器模块,图像来源判别器模块和风格判别器模块,其中生成器模块的输入为掩码图像和原始语音时频图像的级联图像,输出为生成语音时频图像;内容判别器模块的功能是对生成语音信号的文本内容真伪判别,其输入为生成语音信号时频图像经过目标检测识别出来的文本字符序列和真实文本字符序列,输出对预测数据的真否判断结果;图像来源判别器的功能是对语音时频图像的来源进行判别,其输入为生成语音时频图像和原始语音时频图像,其输出为图像来源的预测结果;风格判别器模块的功能是对原始语音时频图和生成语音时频图的语音风格判别,其输入为生成语音时频图像和原始语音时频图像,输出为语音风格分类的预测结果;

将训练样本中的语音时频图像in作为原始语音时频图像,步骤s3所得到的掩码图像作为其对应的掩码图像,文本tn转化得到的文本字符序列作为真实文本字符序列,对生成对抗网络进行训练;

s6:将需要生成语音信号的文本t′的文本字符序列按最大可输入长度切片,将切片后的文本字符序列依次输入到步骤s104训练好的双向长短期记忆网络中,得到相应的字符位置框序列信息并转化为掩码图像,将该掩码图像与指定风格的原始语音时频图像级联后作为生成器模块的输入并生成具有频谱信息的生成语音时频图像,最后将生成语音时频图像转换为语音信号;最后将各个文本字符序列所对应的语音信息按照切片顺序进行整合,即可得到文本t′的语音信号。

本发明将文本转换为指定风格语音的方法,首先获得不同风格的训练样本,对训练样本中的每幅语音时频图像进行字符标注,获取字符的位置框序列和文本字符序列对双向长短期记忆网络进行训练,构建生成对抗网络,将训练样本中的语音时频图像作为原始语音时频图像,掩码图像作为其对应的掩码图像,文本字符序列作为真实文本字符序列,对生成对抗网络进行训练;将需要生成语音信号的文本通过双向长短期记忆网络预测得到字符位置框序列,进而得到掩码图像,将该掩码图像与指定风格的原始语音时频图像级联后作为生成器模块的输入并得到生成语音时频图像,最后转换得到语音信号。采用本发明可以实现单一文本到多种指定风格语音的转换。

附图说明

图1是本发明将文本转换为指定风格语音的方法的具体实施方式流程图;

图2是本实施例中双向长短期记忆网络的时序结构图;

图3是本发明中生成器模块的结构示意图;

图4是本发明中内容判别器模块的结构示意图;

图5是本发明中图像来源判别器模块和风格判别器模块的结构示意图;

图6是本实施例中生成器模块的网络结构图;

图7是本实施例中风格判别器模块的网络结构图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

实施例

图1是本发明将文本转换为指定风格语音的方法的具体实施方式流程图。如图1所示,本发明将文本转换为指定风格语音的方法的具体步骤包括:

s101:获取训练样本:

获取若干不同风格的语音信号,按照预定时间间隔对语音信号进行分割,记分割得到的语音信号数量为n,记第n个语音信号为sn,其中n=1,2,…,n,获取语音信号sn的文本tn以及语音时频图像in,将语音信号按照风格进行分类,记语音信号sn对应的风格分类标签fn。一般来说风格分类标签可以设置为网络的序号,例如fn=1,2,…,k,k表示风格类型数量。

语音信号到语音时频图像的转换方法一般有短时傅里叶变换,小波变换和梅尔倒频谱等,由于短时傅里叶变换,不会损失信号的有效信息,且性能优越,因此本实施例中选用短时傅里叶变换。

s102:训练样本字符信息标注:

对于每幅语音时频图像in,标注图中每个字符的信息,字符信息包含该字符的类别和字符位置框。记每幅语音时频图像in中所有字符的字符框位置为该语音时频图像对应的位置框序列cn。本实施例中字符框位置包含每个字符框的左上角坐标、字符的宽度和高度,假设某语音时频图像in中有dn个字符,那么位置框序列可以表示为其中(xn,d,yn,d)表示第d个字符框的左上角坐标,widthn,d、heightn,d表示第d个字符框的宽和高,d=1,2,…,dn。

s103:生成训练样本掩码图像:

对于每幅语音时频图像in,根据位置框序列cn中每个字符位置框位置,将字符位置框内的像素值置为1,其余像素值置为0,得到语音时频图像in对应的掩码图像

s104:双向长短期记忆网络训练:

构建双向长短期记忆网络,将各个文本tn转换化字符序列,文本字符序列中包含各个字符及其类型,将文本字符序列作为双向长短期记忆网络的输入,将对应的位置框序列cn作为双向长短期记忆网络的输出,对双向长短期记忆网络进行训练。

长短期记忆网络(lstm,longshort-termmemory)是rnn(recurrentneuralnetwork,循环神经网络)的一种。长短期记忆网络由于其设计的特点,非常适合用于对时序数据的建模,如文本数据,在自然语言处理任务中常被用来建模上下文信息。双向长短期记忆网络,是由前向长短期记忆网络与后向长短期记忆网络组合而成,并且将前向和后向长短期网络连接着同一个输出层。使用长短期记忆网络对文本序列进行建模存在无法编码从后到前的信息的问题,而通过双向长短期记忆网络可以更好的捕捉双向的语义依赖。

图2是本实施例中双向长短期记忆网络的时序结构图。如图2所示,本实施例中双向长短期记忆网络采用前向和后向均为128个单元的长短期记忆网络构成双向长短期记忆网络。该结构通过前向长短期记忆网络和后向长短期记忆网络分别给输出层提供输入序列中每一个点的完整的未来和过去的上下文信息。六个权值矩阵在每一个步时被重复的利用,六个权值矩阵分别对应:输入序列到前向和后向隐含层权值矩阵(w1,w3),前向和后向隐含层到隐含层自己的权值矩阵(w2,w5),前向和后向隐含层到输出层的权值矩阵(w4,w6)。在双向长短期记忆网络中向前和向后隐含层之间没有信息流,这保证了展开的网络图结构是非循环的。

在实际训练过程中,计算双向长短期记忆网络所预测的字符框序列和真实字符框序列之间的均方误差作为损失函数,其计算公式如下:

其中,[x′n,d,y′n,d,width′n,d,height′n,d]表示输入文本tn的字符序列所预测得到的字符框序列中第d个字符框的左上角坐标、宽和高。

双向长短期记忆网络需要预先训练,输入文本序列batchsize为1,learningrate的初始值为0.1,优化器使用随机梯度下降法(sgd),训练epoch为2000,根据训练loss和测试loss选取泛化性能最好的双向长短期记忆网络模型用于将文本字符序列转换为字符框序列信息。

s104:训练生成对抗网络:

生成式对抗网络(gan,generativeadversarialnetworks)是一种深度学习模型,包括生成器模块(generativemodel)和判别器模块组(discriminativemodel)。本发明中生成对抗网络包括生成器模块、内容判别器模块、图像来源判别器模块和风格判别器模块,下面分别进行说明。

图3是本发明中生成器模块的结构示意图。如图3所示,本发明中生成器模块的输入为掩码图像和原始语音时频图像的级联图像,输出为生成语音时频图像。生成器模块的目的是学到原始语音时频图像中语音信号的频率漂移,纹理细节等语音信号风格以及掩码图像内容的表征。

图4是本发明中内容判别器模块的结构示意图。如图4所示,本发明中内容判别器模块的功能是对生成语音信号的文本内容进行判别,其输入为两个,一个是生成语音信号时频图像经过目标检测识别出来的文本字符序列,另一个是真实文本字符序列,输出为内容一致性的预测结果。本实施例中选用faster-rcnn作为内容判别器模块,内容真伪损失即为faster-rcnn的分类损失和位置回归损失的和。

图5是本发明中图像来源判别器模块和风格判别器模块的结构示意图。如图5左半部分所示,本发明中图像来源判别器的功能是对语音时频图像的来源进行判别,即判断语音时频图是生成的还是原始的,其输入为生成语音时频图像和原始语音时频图像,输出图像来源的预测结果。如图5右半部分所示,本发明中所指的风格判别器的功能是对原始语音时频图和生成语音时频图的语音风格判别,其输入为生成语音时频图像和原始语音时频图像,目的是判断此对图片所属的风格种类,进而可知此对图片风格是否一致,输出语音风格预测数据。应当注意的是,图像来源判别器模块和风格判别器模块共享预测前的卷积层参数。

将训练样本中的语音时频图像in作为原始语音时频图像,将步骤s103根所得到的掩码图像作为其对应的掩码图像,文本tn转化得到的文本字符序列作为真实文本字符序列,对生成对抗网络进行训练。为了使生成对抗网络所生成的语音时频图像更加接近真实图像,需要对生成对抗网络中各个模块的具体结构进行研究,以优化生成对抗网络的结构。图6是本实施例中生成器模块的网络结构图。表1是本实施例中生成器模块的网络结构参数表。

表1

表1中w、h分别表示语音时频图像的宽和高。

如图6和表1所示,本实施例中生成器模块采用类u-net结构,其具体结构如下:

第1层为卷积层,记为conv1层,使用64个大小为4×4、步长为2的卷积核,对输入的级联后的成对图像进行卷积操作后输出;

第2层为卷积层,记为conv2层,使用128个大小为4×4、步长为2的卷积核,对conv1层输出的特征图进行卷积操作,再进行实例归一化(instancenormalization,in)后输出;实例归一化用于对特征图的长宽维度做归一化,可以加快模型收敛速度,并保持每个图像实例之间的独立。

第3层为卷积层,记为conv3层,使用256个大小为4×4、步长为2的卷积核,对conv2层输出的特征图进行卷积操作,再进行实例归一化后输出;

第4层为卷积层,记为conv4层,使用512个大小为4×4、步长为2的卷积核,对conv3层输出的特征图进行卷积操作,再进行实例归一化后输出;

以上4层卷积层均采用lrelu激活函数,其斜率(leak)为0.2;

第5层为反卷积层,记为deconv1层,使用256个大小为4×4、步长为2的卷积核,对conv4层输出的特征图进行反卷积操作,再进行实例归一化后输出;

第6层为反卷积层,记为deconv2层,使用128个大小为4×4、步长为2的卷积核,对conv3层输出的特征图和deconv1层输出的特征图所构成的级联图像进行反卷积操作,再进行实例归一化后输出;

第7层为反卷积层,记为deconv3层,使用64个大小为4×4、步长为2的卷积核,对conv2层输出的特征图和deconv2层输出的特征图所构成的级联图像进行反卷积操作,再进行实例归一化后输出;

第8层为反卷积层,记为deconv4层,使用3个大小为4×4、步长为2的卷积核,对conv1层输出的特征图和deconv3层输出的特征图所构成的级联图像进行反卷积操作后输出,deconv4层采用tanh函数作为激活函数。

本实施例中以上所有卷积层与反卷积层在卷积和反卷积时均使用samepadding的填充操作,其具体操作为:在卷积操作的特征图填充0,使得卷积操作输出的特征图大小等于输入特征图大小除以卷积步长并向上取整,对于反卷积则是通过填充0使得反卷积后的特征图的边长变为输入特征图边长的2倍。

本发明中内容判别器模块用于进行文本字符序列的比对,作内容序列真伪判别。内容判别器模块不涉及图像操作,实现复杂度低,其具体实现方式不再赘述。

图7是本实施例中图像来源判别器模块和风格判别器模块的网络结构图。表2是本实施例中图像来源判别器模块和风格判别器模块的网络结构参数表。需要注意的是,图像来源判别器模块与风格判别器模块的conv1,conv2,conv3,conv4参数共享。

表2

如图7和表2所示,本实施例中图像来源判别器模块和风格判别器模块的具体结构如下:

第1层为卷积层,记为conv1层,使用64个大小为4×4、步长为2的卷积核,对输入的级联后的成对图像进行卷积操作后输出;

第2层为卷积层,记为conv2层,使用128个大小为4×4、步长为2的卷积核,对conv1层输出的特征图进行卷积操作;

第3层为卷积层,记为conv3层,使用256个大小为4×4、步长为2的卷积核,对conv2层输出的特征图进行卷积操作,再进行实例归一化后输出;

第4层为卷积层,记为conv4层,使用512个大小为4×4、步长为2的卷积核,对conv3层输出的特征图进行卷积操作,再进行实例归一化后输出;

第5层为卷积层,记为conv_r层,使用1个大小为3×3的卷积核,对conv4层输出的特征图进行卷积操作,得到一个图像来源判别矩阵,矩阵中每个元素表示局部图像来源的预测概率,该矩阵与图像来源标签作图像来源判别。图像来源标签不用手动标记,利用代码实现即可得到。在实际情况中,来自生成器图像的来源标签是一个矩阵元素全为1且与图像来源判别矩阵维度一致的矩阵,来自原始数据的图像来源标签维度则是矩阵元素全为0。

第6层为卷积层,记为conv_s层,使用k个大小为(h/16)x(w/16)步长为1的卷积核,对conv4层输出的特征图进行卷积操作,输出k维向量,每个维度的值表示输入在预设k种风格上每一种的概率,与风格标签作风格判别。

对于本实施例中的生成对抗网络,其损失函数包括3个方面,分别是图像来源损失、风格分类损失、判别内容真伪损失,而判别内容真伪损失又包括faster-rcnn里面的字符框的位置损失以及识别出的文本字符序列的字符类别损失,各类损失的具体计算公式可以根据实际情况进行设置。基于以上损失设置,将图像来源判别器模块和风格判别器模块一起作为判别器模块组,和生成器模块进行交替训练。本实施例中的训练策略分为两个阶段,第一阶段基于图像来源损失和风格分类损失对判别器模块组和生成器模块进行交替训练,其中判别器模块组训练5次,生成器训练1次,优化器使用adam,批次大小为32,学习率初始为0.0001,共训练60个周期,一个周期指以特定批次遍历一次训练样本。训练过程中,在30个周期后,每个周期的学习率为上一周期学习率减去0.000003。第二阶段加入内容判别器模块的内容真伪判别损失,对网络参数进行微调,此时批次大小为1,学习率为0.00001,训练周期为30。

s106:文本转换为语音:

将需要生成语音信号的文本t′的文本字符序列按最大可输入长度切片,最大可输入长度一般来说可采用如下方法设置:计算步骤s101中n个文本tn的平均长度l,将l+δl作为最大可输入长度,其中δl为预设的长度余量参数。将切片后的文本字符序列依次输入到步骤s104训练好的双向长短期记忆网络中,得到相应的字符框位置序列信息并转化为掩码图像,将该掩码图像与指定风格的原始语音时频图像联后作为生成器模块的输入并生成具有频谱信息的生成语音时频图像,最后将生成语音时频图像转换为语音信号,在转换时采用与步骤s101中获取语音时频图像的逆方法即可,本实施例中为短时傅里叶变换的逆变换。最后将各个文本字符序列所对应的语音信息按照切片顺序进行整合,即可得到文本t′的语音信号。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1