基于生成式对抗网络的情感语音自动生成方法及装置与流程

专利2022-06-29  80


本发明属于情感识别领域,具体涉及一种生成式对抗网络的情感语音自动生成方法及装置。



背景技术:

随着人机交互方式的日益更新和发展,人机交互方式已经从机械时代进入多媒体用户界面时代。近些年来,由于语音识别技术,语音生成技术的发展,人们逐渐抛弃了键盘,鼠标,触摸屏等传统的与机器的交互方式。而计算机也有了具备像人一样的具有“听”和“说”的能力。“听”实际上就是语音识别技术,这一方面已经有了迅速的发展,使计算机“听”的能力有了大幅度的提高。“说”指的就是语音生成技术。语音生成技术在自然处理、信号处理和随机过程处理等方法的推动下获得很大的发展。语音生成技术的应用广泛,如随着书籍无纸化的不断发展,在电子书的基础上出现了网络听书的方式,网络听说因为其方便、节省时间并且声优的声音会随书籍情节的改变进行语调、情感的改变,更有代入感的优点,迅速受到大家的欢迎。但是因为目前市场上已出版书籍数量巨大,而聘请声优为整本书进行配音成本较高,因此导致能够进行网络听书的书籍类型和数量较少,不能够满足大多数使用者的需要。使用语音生成技术可以给有声书的合成带来巨大的便利,可以节省成本,而使用传统语音生成技术合成的声音存在情感表现力弱,语音的表达比较僵硬,不自然,不存在身份信息等缺点。

在语音领域,语音识别技术,语音生成技术发展的同时,声纹识别和语音情感识别技术也有了巨大的发展。目前,声纹识别技术已经应用到人们日常生活的各个角落。比如银行、证券等行业利用声纹识别技术对电话,远程炒股等业务中对用户身份进行确认,提高了商业领域交易的安全性;在公安司法领域,对于各种电话勒索,绑架,电话人身攻击等案件,利用声纹识别技术可以在一段录音中查找出嫌疑人或缩小侦查范围。语音情感识别技术也在生活中得到了广泛的应用,比如在电话服务中心,通过语音情感识别技术,识别顾客的情绪,合理地进行反馈可以很大的提高顾客的满意度;在汽车驾驶领域,利用语音情感识别,结合图像识别,可以有效的观测驾驶员的精神状态,可以有效防止驾驶疲劳,路怒症等情况的发生;在安全监控系统中加入语音情感识别技术,可以对公共场所因为情绪失控而发生暴力的情况进行监控,从而有效避免暴力事件的发生。

由于声纹识别和语音情感识别的广泛应用以及优异的性能,使用声纹识别模型和语音情感识别模型指导语音生成模型生成带有情感的,更加自然的语音成为可能。



技术实现要素:

针对目前语音生成技术所合成的语音表现力差,不自然,不带有情感色彩,不能按指定身份合成语音的缺陷,本发明提供了一种基于生成式对抗网络的情感语音自动生成方法及装置,该方法可以使生成的语音更加自然,使生成的语音带有情感色彩身份信息等,扩大语音生成技术的应用场景。

本发明的技术方案为:

一种生成式对抗网络的情感语音自动生成方法,包括以下步骤:

(1)准备语音数据集、语音情感数据集以及语言数据集;

(2)利用语音数据集训练基于rescnn构建的声纹识别模型,利用语音情感数据集训练基于cnn构建的语音情感识别模型,利用语言数据集训练语音生成模型;

(3)以多个语音生成模型作为生成器,以声纹识别模型和语音情感识别模型作为判别器,构成生成式对抗网络,利用语音数据集、语音情感数据集以及语言数据集对生成式对抗网络进行再训练,获得能够生成特定身份特定情感语音的语音生成模型。

(4)利用该语音生成模型自动生成情感语音。

优选地,所述语音数据集为librispeech语音数据集,所述语音情感数据集为emo-db语音情感数据集,所述语言数据集为northamericanenglish数据集。

优选地,利用语音数据集训练基于rescnn构建的声纹识别模型包括以下步骤:

对语音音频进行分帧,并对每帧语音信号加窗处理后进行短时傅里叶变换,获得语音信号的频谱,计算语音信号的频谱的功率谱后,对功率谱通过一组梅尔尺度的三角形滤波器组后计算梅尔倒普系数,计算倒普系数的一阶和二阶差分值,最终得到64维的fbank系数作为声纹识别模型的输入;

根据rescnn构建声纹识别模型,在语音数据集随机选择一条语音当做anchor,再从同一个说话者的语音中随机选择一条语音当做positive,再从不同的说话者的语音中随机选择一条语音当做negative,组成anchor-positive-negative对;

以tripletloss作为损失函数l,以损失函数最小为目标,利用anchor-positive-negative对对声纹识别模型进行训练;

其中,表示语音anchor与语音negative的余弦相似度,表示语音anchor与语音positive的余弦相似度,α是设定的阈值,[] =max(x,0)。

优选地,利用语音情感数据集训练基于cnn构建的语音情感识别模型包括以下步骤:

对音频进行分帧,并对每帧语音信号加窗处理后进行短时傅里叶变换,计算短时傅里叶变换结果的功率谱,并对功率谱进行归一化处理,获得声谱图;

根据cnn构建语音情感识别模型,以交叉熵作为损失函数l(xi),以损失函数最小为目标,利用声谱图对语音情感识别模型进行训练,

l(xi)=-[yilogyipre (1-yi)log(1-yipre)]

其中,yi表示真实标签,yipre为声谱图样本xi经过语音情感识别模型输出的置信度。

优选地,利用语言数据集训练语音生成模型包括以下步骤:

构建语音生成模型,该语音生成模型主要包括依次连接的cbhg模块、编码器、解码器、后处理单元和语音生成单元,其中,

所述cbhg模块由维卷积滤波器组、高速公路网络(highwaynetwork)以及双向门控循环单元的循环神经网络组成;

所述编码器由第一pre-net模块组成,该第一pre-net模块包括两个隐藏层以及两个隐藏层之间的全连接层;

所述解码器由同依次连接的第二pre-net模块,attention-rnn,decoder-rnn组成,该第二pre-net模块的结构与第一pre-net模块相同,该attention-rnn的结构为一层包含256个gru的rnn,该decode-rnn为两层residualgru,其输出为输入与经过residualgru的输出之和;

所述后处理单元采用cbhg模块,该cbhg模块的结构与上述cbhg模块的结构相同。

所述语音生成单元采用griffin-lim算法将后处理网单元的输出合成为语音;

以交叉熵作为损失函数,以损失函数最小为目标,利用语言数据集声对语音生成模型进行训练。

优选地,利用语音数据集、语音情感数据集以及语言数据集对生成式对抗网络进行再训练包括以下步骤:

(a)利用步骤(3)训练得到的语音生成模型生成大量的语音数据,更改声纹识别模型结构使声纹识别模型从k分类变成k 1分类,第k 1类表示输入的语音数据为语音生成模型合成的语音数据,该语音数据对应假说话者;

(b)固定声纹识别模型和语音情感识别模型的参数,训练多个语音生成模型的参数,使得第i个语音生成模型能够生成第i个说话者的第i类情感的语音;

(c)当所有语音生成模型训练好后,固定语音生成模型参数,将语音生成模型生成的语音打上第k 1类语音的类标,使用生成的语音数据训练声纹识别模型和语音情感识别模型,使声纹识别模型和语音情感识别模型的识别真实样本和虚假样本的能力提高;

(d)重复步骤(b)和(c),直到语音生成模型、声纹识别模型和语音情感识别模型实现纳什均衡为止,得到能够生成特定身份特定情感语音的语音生成模型。

一种基于生成式对抗网络的情感语音自动生成装置,包括计算机存储器、计算机处理器以及存储在所述计算机存储器中并可在所述计算机处理器上执行的计算机程序,所述计算机处理器执行所述计算机程序时实现上述基于生成式对抗网络的情感语音自动生成方法。

本发明的有益效果主要表现在:

利用声纹识别模型和语音情感识别模型指导训练多个语音生成模型,使这些语音生成模型可以分别生成不同身份信息和不同情感类别的语音,利用训练好的语音生成模型生成的语音训练分别声纹识别模型和语音情感识别模型,在提高声纹识别模型和语音情感识别模型的识别精度后,再训练语音生成模型,使整个网络达到纳什均衡,最后获得的多个语音生成模型可以分别生成特定情感特定身份的语音。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。

图1是实施例提供的生成式对抗网络的结构示意图;

图2是实施例提供的基于生成式对抗网络的情感语音自动生成方法的流程图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

下面对本发明提供的一种基于生成式对抗网络的情感语音自动生成方法实施例进行介绍,参见图1,2,具体包括以下步骤:

1)数据集准备:准备用于训练声纹识别模型的librispeech语音数据集,取该librispeech语音数据集中的train-clean-100数据集训练声纹识别模型;准备用于训练语音情感识别模型的emo-db语音情感数据集,准备用于训练语音生成模型的northamericanenglish数据集。

2)训练声纹识别模型:利用步骤1)中的train-clean-100数据集训练声纹识别模型,该数据集中的各个文件夹中存放的就是不同说话人的语音,其文件名就是类标。在训练完后用测试集进行测试,使识别精度达到要求,若达不到要求,则修改模型的结构参数,继续训练模型,直到模型精度达到要求,使模型能识别出某一语音的说话人。其具体步骤如下:

step1:提取数据集语音中的特征向量:将语音以25ms为帧长进行分帧处理,在该时间段内,语音信号视作稳定状态。对分帧之后的语音信号加窗函数避免高频部分信号泄露。在分帧加窗后,对语音信号进行短时傅里叶变换,获得语音信号的频谱;

step2:对语音信号的频谱取模平方,获得语音信号的功率谱;

step3:将语音信号的功率谱通过一组梅尔尺度的三角形滤波器组后计算梅尔倒普系数,计算倒普系数的一阶和二阶差分值,最终得到64维的fbank系数作为声纹识别模型的输入。

step4:搭建基于rescnn的声纹识别模型。该声纹识别模型的结构由resblock残差块和卷积神经网络组成。

step5:设置声纹识别模型的相关参数并进行训练。声纹识别模型在训练阶段首先在数据集中随机选择一条语音当做anchor,再从同一个说话人的语音中随机选择一条语音当做positive,再从不同的说话人的语音中随机选择一条语音当做negative,组成anchor-positive-negative对,使用tripletloss作为损失函数l训练网络。

其中,表示语音anchor与语音negative的余弦相似度,表示语音anchor与语音positive的余弦相似度,α是设定的阈值,式中[] =max(x,0)。通过随机梯度下降,使得来自同一个人的语音向量相似度尽可能大,不是同一个说话者的向量相似度尽可能小。

step6:用测试集测试声纹识别模型的准确率,确保达到预设的识别准确率,否则修改模型的结构参数重新进行训练。

3)训练语音情感识别模型:利用1)中的emo-db语音情感数据集训练语音情感识别模型。该emo-db语音情感数据集中的语音文件按照后缀名前的两个字母划分为不同情感,如03a01fa.wav中的fa表示一类情感,03b01lb.wav中的lb表示另一种情感。将该emo-db语音情感数据集按一定比例划分为训练集和测试集,利用训练集训练语音情感识别模型,用测试集测试语音情感识别模型的识别精度,使其能够达到预设的识别精度,并能使其识别某一语音的情感类别。其具体步骤如下:

step1:对于emo-db语音情感数据集中的语音进行分帧加窗后进行傅里叶变换获得原始语音信号的频谱,根据所获得的频谱求信号的功率谱,对功率谱进行最大最小归一化后可以获得原始语音信号的声谱图。

step2:搭建基于cnn的语音情感识别模型。该语音情感识别模型的结构有13个卷积层,3个全连接层

step3:设置语音情感识别模型的相关参数并进行训练,设声谱图样本xi经过语音情感识别模型输出的置信度为yipre,用交叉熵作损失函数:

l(xi)=-[yilogyipre (1-yi)log(1-yipre)](2)

其中yi表示真实标签。

step4:用测试数据集测试语音情感识别模型的识别准确率,确保达到预设的识别准确率,否则修改模型的结构和参数重新进行训练。

4)预训练语音生成模型:利用1)中的northamericanenglish数据集训练多个语音生成模型。将该数据集按一定比例划分为训练集和测试集,利用训练集训练多个语音生成模型,使之能根据输入的文本正确生成对应的语音。利用测试集测试语音生成模型的合成效果,若达不到理想的效果,则修改这些模型的参数重新训练,使之达到理想的效果。其具体步骤如下:

step1:搭建多个语音生成模型。这些语音生成模型主要由cbhg模块、编码器、解码器、后处理单元和语音生成单元组成。

step2:搭建chbg模块由一维卷积滤波器组,一个高速公路网络,和双向门控循环单元的循环神经网络组成;

step3:构建编码器,该编码器主要由第一pre-net模块组成,该第一pre-net模块两个隐藏层,层与层之间的连接均是全连接。第一层的隐藏单元数目与输入单元数目一致,第二层的隐藏单元数目为第一层的一半;两个隐藏层采用的激活函数均为relu;

step4:构建解码器,该解码器主要由第二pre-net,attention-rnn,decoder-rnn组成,该第二pre-net模块与编码器的第一pre-net结构相同,attention-rnn的结构为一层包含256个gru的rnn,将第二pre-net的输出作为输入,经过gru单元后输出到decoder-rnn中。decode-rnn为两层residualgru,它的输出为输入与经过gru单元的输出之和;

step5:后处理单元采用cbhg结构;

step6:语音生成单元采用griffin-lim算法将后处理单元的输出合成为语音。使用交叉熵作为损失函数,用northamericanenglish数据集初步训练多个语音生成模型g,使g能够根据文本生成对应的语音;

5)预训练生成对抗网络,将步骤2)中的声纹识别模型作为判别器d1,将步骤3)中的语音情感识别模型作为判别器d2;将步骤4)中的语音生成模型作为gi,利用如图1所式的模型训练体系训练整个网络。其具体步骤如下:

step1:利用预训练好的语音生成模型生成大量语音数据,形成数据集,加到步骤1)中的声纹识别数据集中,更改声纹识别模型的结构,重新训练声纹识别模型,使声纹识别模型从k分类变成k 1分类;其中第k 1类表示假的说话人,即这个语音是合成的;对语音情感识别模型进行相同操作。

step2:固定声纹识别模型d1和语音情感识别模型d2的参数,训练语音生成模型gi的参数。由于声纹识别模型d1和语音情感模型d2实际上是一个多分类器,而对于语音生成模型g来说,之所以设置多个语音生成模型gi,其主要目的是为了避免生成式对抗网络中存在的模式崩溃的问题。对于第i个语音生成模型gi,通过声纹识别模型d1和语音情感识别模型d2对其进行训练,使其生成第i个说话人,第i类情感的语音。在训练过程中,由于声纹识别模型的输出是置信度,因此在训练第i个语音生成模型时,只关注声纹识别模型输出置信度矩阵中的第i个置信度值,使其尽可能的高,即使生成的语音尽可能的接近第i个说话人的特征,使第k 1个置信度尽可能的底。在训练过程中,由于语音情感识别模型的输出是置信度,因此在训练第i个语音生成模型时,只关注语音情感识别模型输出置信度矩阵中的第i个置信度值,使其尽可能高,即使生成的语音尽可能的接近第i类情感,使第k 1个置信度尽可能的低。

step3:当所有语音生成模型gi的生成效果均比较理想时,固定gi参数,将gi生成的语音打上第k 1类语音的类标,使用生成的语音训练声纹识别模型和语音情感识别模型,使声纹识别模型和语音情感识别模型的识别真实样本和虚假样本的能力提高。

step4:重复step2,step3,直到语音生成网络gi和声纹识别模型d1,语音情感识别模型d2实现纳什均衡,即语音生成网络gi与声纹识别模型d1和语音情感识别模型d2之间进行博弈,趋于均衡,也即声纹识别模型对于语音生成网络生成的语音无法准确判断其指定的说话人,语音情感识别模型对于语音生成网络生成的语音无法准确判断其指定的情感类别,每个gi可以生成特定身份特定情感的语音。整个过程的损失函数为:

其中,表示第i个语音生成模型gi生成的语音,表示第i个语音生成模型生成的音频属于第i个说话人的概率。表示第i个语音生成模型生成的音频属于第i类情感的概率。d1i(xi)表示对于说话人音频xi属于第i个说话人的概率。d2i(xi)表示对于音频xi属于第i类情感的概率。xi~p1data表示xi属于正常的声纹识别数据集中的第i个说话人的音频,xi~p2data表示xi属于正常的语音情感数据集中第i类的音频。对于公式(3),各个语音生成模型的目的就是为了让第i个语音生成模型生成的语音更加接近第i个说话人,在情感上更加接近第i类情感。公式(4)和公式(5)是为了让模型对真实数据集的识别精度更高,让模型对生成器生成的语音的鉴别能力更高。

实施例还提供了一种基于生成式对抗网络的情感语音自动生成装置,包括计算机存储器、计算机处理器以及存储在所述计算机存储器中并可在所述计算机处理器上执行的计算机程序,所述计算机处理器执行所述计算机程序时实现上述基于生成式对抗网络的情感语音自动生成方法。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。


技术特征:

1.一种生成式对抗网络的情感语音自动生成方法,其特征在于,包括以下步骤:

(1)准备语音数据集、语音情感数据集以及语言数据集;

(2)利用语音数据集训练基于rescnn构建的声纹识别模型,利用语音情感数据集训练基于cnn构建的语音情感识别模型,利用语言数据集训练语音生成模型;

(3)以多个语音生成模型作为生成器,以声纹识别模型和语音情感识别模型作为判别器,构成生成式对抗网络,利用语音数据集、语音情感数据集以及语言数据集对生成式对抗网络进行再训练,获得能够生成特定身份特定情感语音的语音生成模型。

(4)利用该语音生成模型自动生成情感语音。

2.如权利要求1所述的生成式对抗网络的情感语音自动生成方法,其特征在于,所述语音数据集为librispeech语音数据集,所述语音情感数据集为emo-db语音情感数据集,所述语言数据集为northamericanenglish数据集。

3.如权利要求1所述的生成式对抗网络的情感语音自动生成方法,其特征在于,利用语音数据集训练基于rescnn构建的声纹识别模型包括以下步骤:

对语音音频进行分帧,并对每帧语音信号加窗处理后进行短时傅里叶变换,获得语音信号的频谱,计算语音信号的频谱的功率谱后,对功率谱通过一组梅尔尺度的三角形滤波器组后计算梅尔倒普系数,计算倒普系数的一阶和二阶差分值,最终得到64维的fbank系数作为声纹识别模型的输入;

根据rescnn构建声纹识别模型,在语音数据集随机选择一条语音当做anchor,再从同一个说话者的语音中随机选择一条语音当做positive,再从不同的说话者的语音中随机选择一条语音当做negative,组成anchor-positive-negative对;

以tripletloss作为损失函数l,以损失函数最小为目标,利用anchor-positive-negative对对声纹识别模型进行训练;

其中,表示语音anchor与语音negative的余弦相似度,表示语音anchor与语音positive的余弦相似度,α是设定的阈值,[] =max(x,0)。

4.如权利要求1所述的生成式对抗网络的情感语音自动生成方法,其特征在于,利用语音情感数据集训练基于cnn构建的语音情感识别模型包括以下步骤:

对音频进行分帧,并对每帧语音信号加窗处理后进行短时傅里叶变换,计算短时傅里叶变换结果的功率谱,并对功率谱进行归一化处理,获得声谱图;

根据cnn构建语音情感识别模型,以交叉熵作为损失函数l(xi),以损失函数最小为目标,利用声谱图对语音情感识别模型进行训练,

l(xi)=-[yilogyipre (1-yi)log(1-yipre)]

其中,yi表示真实标签,yipre为声谱图样本xi经过语音情感识别模型输出的置信度。

5.如权利要求1所述的生成式对抗网络的情感语音自动生成方法,其特征在于,利用语言数据集训练语音生成模型包括以下步骤:

构建语音生成模型,该语音生成模型主要包括依次连接的cbhg模块、编码器、解码器、后处理单元和语音生成单元,其中,

所述cbhg模块由维卷积滤波器组、高速公路网络以及双向门控循环单元的循环神经网络组成;

所述编码器由第一pre-net模块组成,该第一pre-net模块包括两个隐藏层以及两个隐藏层之间的全连接层;

所述解码器由同依次连接的第二pre-net模块,attention-rnn,decoder-rnn组成,该第二pre-net模块的结构与第一pre-net模块相同,该attention-rnn的结构为一层包含256个gru的rnn,该decode-rnn为两层residualgru,其输出为输入与经过residualgru的输出之和;

所述后处理单元采用cbhg模块;

所述语音生成单元采用griffin-lim算法将后处理网单元的输出合成为语音;

以交叉熵作为损失函数,以损失函数最小为目标,利用语言数据集声对语音生成模型进行训练。

6.如权利要求1所述的生成式对抗网络的情感语音自动生成方法,其特征在于,利用语音数据集、语音情感数据集以及语言数据集对生成式对抗网络进行再训练包括以下步骤:

(a)利用步骤(3)训练得到的语音生成模型生成大量的语音数据,更改声纹识别模型结构使声纹识别模型从k分类变成k 1分类,第k 1类表示输入的语音数据为语音生成模型合成的语音数据,该语音数据对应假说话者;

(b)固定声纹识别模型和语音情感识别模型的参数,训练多个语音生成模型的参数,使得第i个语音生成模型能够生成第i个说话者的第i类情感的语音;

(c)当所有语音生成模型训练好后,固定语音生成模型参数,将语音生成模型生成的语音打上第k 1类语音的类标,使用生成的语音数据训练声纹识别模型和语音情感识别模型,使声纹识别模型和语音情感识别模型的识别真实样本和虚假样本的能力提高;

(d)重复步骤(b)和(c),直到语音生成模型、声纹识别模型和语音情感识别模型实现纳什均衡为止,得到能够生成特定身份特定情感语音的语音生成模型。

7.一种基于生成式对抗网络的情感语音自动生成装置,包括计算机存储器、计算机处理器以及存储在所述计算机存储器中并可在所述计算机处理器上执行的计算机程序,其特征在于,所述计算机处理器执行所述计算机程序时实现上述基于生成式对抗网络的情感语音自动生成方法。

技术总结
本发明公开了一种生成式对抗网络的情感语音自动生成方法,包括:(1)准备语音数据集、语音情感数据集以及语言数据集;(2)利用语音数据集训练基于ResCNN构建的声纹识别模型,利用语音情感数据集训练基于CNN构建的语音情感识别模型,利用语言数据集训练语音生成模型;(3)以多个语音生成模型作为生成器,以声纹识别模型和语音情感识别模型作为判别器,构成生成式对抗网络,利用语音数据集、语音情感数据集以及语言数据集对生成式对抗网络进行再训练,获得能够生成特定身份特定情感语音的语音生成模型。(4)利用该语音生成模型自动生成情感语音。该方法可以使生成的语音更加自然且带有情感色彩身份信息。

技术研发人员:陈晋音;叶林辉;郑海斌
受保护的技术使用者:浙江工业大学
技术研发日:2020.02.24
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-46142.html

最新回复(0)