HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种声音变换系统、方法及应用与流程

2021-01-28 14:01:29|257|起点商标网
一种声音变换系统、方法及应用与流程

本发明涉及语音计算算法领域,尤其涉及一种声音变换系统、方法及所应用的终端。



背景技术:

随着计算机技术的不断发展,人工智能领域的不断深耕,以语音交互为目的的语音机器人逐渐进入大众视野当中。语音机器人的出现改变了现有电话业务的工作性质,目前语音机器人应用房产、教育、金融、旅游等行业中执行语音交互的功能,从而代替人工与用户进行语音交互。

为优化客户体验,利用语音转换技术变换语音机器人声音特征是其中一个重要改进方向。

语音转换技术是语音信号处理的一个研究分支,它涵盖了说话人识别、语音识别及语音合成等领域的内容,拟在保留原有的语义信息不变的情况下改变语音的个性化信息,使特定说话人(即源说话人)的语音听起来像另一个特定说话人(即目标说话人)的语音。语音转换的主要任务包括提取两个特定说话人语音的特征参数并进行映射转换,然后将变换后的参数解码重构成转换后的语音。在此过程中要保证得到的转换后语音的听觉质量和转换后个性特征是否精确。语音转换技术的研究经过多年发展,语音转换领域已经涌现出多种不同的方法,其中以高斯混合模型为代表的统计转换方法已经成为该领域中的经典方法。但是这类算法还是存在某些缺陷,比如:使用高斯混合模型来进行语音转换的经典方法多是基于一对一的语音转换任务,要求源说话人和目标说话人使用的训练语句内容相同,需将频谱特征进行动态时间规整(dynamictimewarping,dtw)逐帧对齐,才能通过模型训练得到频谱特征间的映射关系,这样的语音转换方法在实际应用中不够灵活;使用高斯混合模型来训练映射函数时考虑的是全局变量并通过迭代训练数据,导致计算量骤增,且只有在训练数据充分时,高斯混合模型才能达到较好的转换效果,这不适用于有限的计算资源和设备。



技术实现要素:

为解决上述问题,本发明提出一种非平行语料训练的语音转换方案,摆脱对平行文本的依赖,可以在小样本下实现变声效果,解决在资源、设备有限的条件下难以实现语音转换的技术问题。

本发明采用如下技术方案:

本发明的一个方面,提供一种变换系统,包括:

说话人独立的语音识别模型,至少包括瓶颈层,所述说话人独立的语音识别模型配置为,将输入的源语音的梅尔倒谱特征通过所述瓶颈层变换为源语音的瓶颈特征;

注意力变声网络,其配置为,将源语音的瓶颈特征变换为与目标语音相符的梅尔倒谱特征;

神经网络声码器,其配置为,将与目标语音相符的梅尔倒谱特征转化为语音输出。

进一步地,所述说话人独立的语音识别模型配置为,将输入的源语音的梅尔倒谱特征通过所述瓶颈层变换为源语音的瓶颈特征,并将所述源语音瓶颈特征由所述瓶颈层输出至所述注意力变声网络。

本发明的第二个方面,提供一种声音变换方法,包括:

把源语音的梅尔倒谱特征变换为源语音瓶颈特征;

把源语音的瓶颈特征变换为与目标语音相符的梅尔倒谱特征;

将与目标语音相符的梅尔倒谱特征转化为语音输出。

本发明的第三个方面,提供一种前述声音变换系统的训练方法,

其中包括:

一种说话人独立的语音识别模型的训练方法,包括:

把多人语音识别训练语料中的文字转换成的字符编码的编号和多人语音识别训练语料的梅尔倒谱特征一起输入说话人独立的语音识别模型,运行反向传播算法进行迭代优化,直到说话人独立的语音识别模型收敛。

进一步地,还包括:对所述多人语音识别训练语料进行多人语音识别训练语料预处理,所述多人语音识别训练语料预处理包括去空白和归一化。

一种注意力变声网络的训练方法,包括:

将目标语音的梅尔倒谱特征变换为目标语音的瓶颈特征;

把目标语音的瓶颈特征输入基础注意力变声网络,以目标说话人对应的梅尔倒谱特征作为真实值,用深度迁移学习的方法训练注意力变声网络。

进一步地,将目标语音的梅尔倒谱特征变换为目标语音的瓶颈特征的步骤,使用预先训练的说话人独立的语音识别模型实现。

一种神经网络声码器的训练方法,包括:

把目标语音的梅尔倒谱特征和目标语音的声音信号输入预训练神经网络声码器,用深度迁移学习的方法训练神经网络声码器。

进一步地,所述声音变换系统训练方法还包括:对目标语音进行目标语音预处理,目标语音预处理包括去空白和归一化。

进一步地,所述一种声音变换系统训练方法,还包括:参数提取,以取得多人语音识别训练语料的梅尔倒谱特征、目标语音的梅尔倒谱特征或源语音的梅尔倒谱特征。

本发明的第四个方面,提供一种前述声音变换系统的应用,包括:

一种终端,包括前述的声音变换系统。

一种计算机可读的存储介质,所述计算机可读的存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行前述方法之一。

本发明通过以上技术方案,摆脱对平行文本的依赖,实现任意说话人对多说话人的转换,提高了灵活性,解决在资源、设备有限的条件下难以实现语音转换的技术问题。

具体来说:

1、训练好的说话人独立的语音识别模型可用于任意的源说话人,即说话人独立(speaker-independent,si);说话人独立的语音识别模型训练方法只需要训练一次,后续小样本只需要用训练好的模型提取对应的特征,即可对声音实现实时变换,实现实时变换声音的需求。

2、音频的瓶颈(bottleneck)特征相比语音后验概率(phoneticposteriorgram,ppg)特征,更加抽象,既能反映说话内容并和说话人音色解耦,同时又和音素类别的绑定没有那么紧密,不是明确的一一对应关系,所以一定程度上能缓解asr识别错误导致发音不准的问题。在实际测试时,使用bottleneck特征作声音变换得到的音频,发音的准确率明显高于ppg方法,并且音色没有显著区别。

3、本发明实现了声音变换的快速训练,与一般变声网络相比,数据量需求明显降低,本发明系统训练时间可缩短至5到20分钟,大大减少训练语料的依赖,系统实用性明显增强。

附图说明

图1为说话人独立的语音识别模型(si-asr模型)训练流程图;

图2为注意力变声网络(attention变声网络)训练流程图;

图3为神经网络声码器训练流程图;

图4为声音变换流程图;

图5为注意力变声网络(attention变声网络)架构图;

图6为神经网络声码器网络架构图;

图7为说话人独立的语音识别模型(si-asr模型)网络架构图。

具体实施方式

为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述发明。

本发明实施例一

一种声音变换系统,

包括:

(1)说话人独立的语音识别(ai-asr)模型,采用五层dnn结构,其中第四层使用瓶颈(bottleneck)层,把源语音的梅尔倒谱特征(mfcc)变换为源语音瓶颈特征(bottleneck特征);

asr模型将语音转化为文字,模型会输出音频对应每个词的概率,而ppg就是这种概率的载体。基于ppg的方法,使用ppg作为si-asr模型的输出。

ppg即phoneticposteriorgram,它是一个把每个音频时间帧映射为某个音素类别的后验概率的矩阵。ppg在一定程度上可以表示一段语音说话内容的节奏和韵律信息,同时又去掉了和说话人音色相关的特征,因此它是说话人独立的。ppg定义如下:

p_t=(p(s|x_t),s=1,2,3,⋯,c)

其中,c是音素个数;s是一个音素(数字表示);xt是音频第t帧的mfcc特征;p(s|xt)是音素s的后验概率。

实践中发现,虽然ppg特征可以去掉说话人的音色特征,但由于asr模型对文字的识别存在一定的错误率,模型输出的后验概率有可能是不准确的。这会导致最终变换输出的音频出现个别字发音不准,或者发音错误的情况,甚至会出现噪声等情况。

针对这个问题,本发明说话人独立的语音识别模型设置包括瓶颈层,将输入的源语音的梅尔倒谱特征通过所述瓶颈层变换为源语音的瓶颈特征,并将所述源语音瓶颈特征由所述瓶颈层输出至注意力变声网络。

bottleneck特征的提取和asr模型构建有关系,不同的asr模型对应的深度也不同,以五层dnn神经网络结构为例,可以设置其中某一层层使用bottleneck层(瓶颈层),即一层bottleneck层(dnn)放在四层dnn结构组成asr模型,为取得较佳效果,优选取第三、第四层较佳。

以下作为本发明的一个优选实施方案予以详述,不作为对本发明保护范围的限定,即以本发明权利要求确定的保护范围内,其他仍可解决本发明技术问题。

本实施例采用五层dnn结构,其中第四层使用bottleneck层(瓶颈层),即三层dnn结构、一层bottleneck层(dnn)和一层dnn结构组成asr模型,模型训练好后,输入音频特征,输出bottleneck层结果作为变声特征。bottleneck特征与音频的声学特征不同,是音频的一种语言特征,不包含说话人的音色等信息。用包含大量不同说话人的训练语料训练asr模型,就可以捕获所有说话人的共有信息,去掉说话人的个性信息。bottleneck层一般是模型的中间层,但是为了让输出的特征尽量脱离音色信息,本发明改进网络设计,使bottleneck层尽量靠近asr网络的输出。只有这样,提取的特征才不包含音色信息。因此我们提取asr网络的倒数第二层作为bottleneck特征。实践证明这样可以很好地去除音色信息,同时保留语言信息。

bottleneck特征相比ppg特征更加抽象,既能反映说话内容并和说话人音色解耦,同时又和音素类别的绑定没有那么紧密,不是明确的一一对应关系,所以一定程度上能缓解asr识别错误导致发音不准的问题。在实际测试时,使用bottleneck特征作声音变换得到的音频,发音的准确率明显高于ppg方法,并且音色没有显著区别。

(2)注意力(attention)变声网络,把源语音的瓶颈特征变换为与目标语音相符的梅尔倒谱特征;

attention变声网络基于seq2seq(端对端)架构。主要改进点在于:第一、利用一层双向rnn(bidirectionalrecurrentneuralnetwork,循环神经网络)把si-asr模型输出的bn特征编码为高维特征。第二、结合attention机制,将encode(编码)和decode(解码)联系起来,避免人工对齐产生的不稳定性。第三、简化decoder网络,利用两层dnn网络结构,后面接一层rnn结构,再利用带残差连接的多层selfattention作为post-net,将bn特征转化为声学特征(详见附图5)。

相比ppg方法,我们的变声网络使用更简单直接的声学特征。ppg方法将ppg转化为声码器所需要的特征,还需要结合f0(fundamentalfrequency,基频)和ap(aperiodiccomponent,非周期分量)特征,再利用声码器还原音频。因为f0特征中包含说话人信息,虽然可以使变换后的声音更加饱和,但也牺牲了音色作为代价。而我们的attention变声网络,可以直接预测输出所有需要的声码器参数,而不需要再手动提取f0和ap等滤波器特征。这样,一方面大大简化了网络的输入输出和流程设计,使模型更加简洁高效,另一方面也使得变声以后的音频更像目标说话人。另外,我们的网络规模比较小,运行速度快,可以实现实时变声,目前10s音频,只需要1s变换时间,通过工程化流式封装可以达到实时变声的效果。

(3)神经网络声码器,将与目标语音相符的梅尔倒谱特征转化为语音输出。

神经网络声码器采用wavernn的一种变体,将声学特征还原为音频输出。本发明将声学特征编码成高维空间中的特征,然后利用循环神经网络高维特征还原为音频输出,具体神经网络声码结构参见附图6。

本发明的实施例二

介绍一种声音变换系统训练方法,包括以下a1-a3三个部分:

a1、si-asr模型(说话人独立的语音识别模型)训练阶段。该阶段训练得到attention变声网络(注意力变声网络)训练阶段的特征和声音转换阶段提取bottleneck特征(直译为瓶颈特征,也简称为bn特征)用到的si-asr模型;该模型的训练使用包含很多说话人的训练语料训练而成。训练好之后,可以用于任意的源说话人,也就是说,它是说话人独立的(speaker-independent,si),因此称为si-asr模型;训练好以后,后面直接使用,不需要重复训练。

si-asr模型(说话人独立的语音识别模型)训练阶段包括以下步骤(参见附图1):

b1、对多人asr训练语料进行预处理;

该预处理包括对训练音频去空白和归一化。去空白即检测并裁剪掉音频中过长的停顿、静音(不包括字词之间正常的停顿)。归一化就是把音频数据统一在一定范围内。

对训练语料中的文本进行清洗校对,修正文字和音频对应不准确的情况;对文本进行正则化处理,将数字、年月日、小数、单位符号等转换为汉字。如果模型训练以词为单位,就需要调用分词工具(如jieba,pkuseg等)对文本进行分词。然后把文字转换为拼音和音素。统计语料中出现的所有字、词、拼音或音素,生成词汇表,并统一编码为整数表示,训练以音素为单位。

b2、参数提取,得到训练语料音频的mfcc特征(梅尔倒谱特征);

梅尔频率倒谱系数(mel-scalefrequencycepstralcoefficients,简称mfcc)是语音识别和语音合成领域最常用到的语音特征之一。这种特征不依赖于信号的性质,对输入信号不做任何的假设和限制,有很好的鲁棒性,又利用了听觉模型的研究成果,更符合人耳的听觉特性,而且当信噪比降低时仍然具有较好的识别性能。mfcc的提取过程包括以下步骤:预加重、分帧、加窗、快速傅里叶变换、梅尔滤波、对数运算、离散余弦变换。

b3、si-asr模型训练。

si-asr模型的训练使用kaldi框架。kaldi是一个研究用途的开源语音识别框架。模型采用基于深度神经网络的(deepneuralnetwork,dnn)架构。

把训练语料中的文字转换成字符编码的编号,和音频mfcc特征一起输入si-asr模型,运行反向传播算法进行迭代优化,直到模型收敛。

说话人独立的语音识别模型(si-asr模型)网络架构见图7。

a2、attention变声网络(注意力变声网络)训练阶段。该阶段训练得到基于sequence-to-sequence(端对端)架构和attention机制的变声网络(后面简称attention变声网络),用于声音转换阶段把si-asr模型提取的bn特征变换为声码器所需声学特征。该阶段的变声网络需要针对不同目标说话人分别进行训练。训练好以后,可以将任意源说话人的声音音色转换为目标说话人音色;

attention变声网络训练阶段包括以下步骤(参见附图2):

c1、对目标说话人的目标语音进行预处理;

训练语音预处理包括降噪,去空白,音量归一化等。音频去空白,归一化和b1步骤相同。降噪利用现有的降噪模型对训练语音进行处理,减小噪声的影响。

变换一个人的声音需要大约5~20min,50~200句录音,大大简化了繁琐的录音工作,而且变声不需要文本校验,所以这些训练音频既用于训练attention变声网络,也用于训练神经网络声码器。

c2、参数提取,得到目标语音的mfcc特征和声学特征;

mfcc特征的提取和b2步骤相同。声学特征即神经网络声码器需要的特征。目前我们使用梅尔谱作为声学特征,为了更贴近人耳感知,我们利用梅尔谱作为声学特征。

c3、使用b3中训练好的si-asr模型把mfcc特征变换为bn特征;

c4、加载用大规模语料训练好的基础attention变声网络;

c5、把bn特征输入基础attention变声网络,以声学特征作为真实值groundtruth,用深度迁移学习的方法训练模型。

理论上各种语言的发音差距不是很大,因此可以使用深度迁移学习方法,复用以前训练好的网络参数和学习到的特征,大大降低了模型训练的难度、训练数据需求量和采集成本。

a3、神经网络声码器训练阶段。该阶段训练得到基于深度神经网络的声码器(deepneuralnetworkvocoder,即神经网络声码器),用于把声学特征变换为目标语音信号。

声码器训练阶段包括以下步骤(参见附图3):

d1、对目标说话人的目标语音进行预处理;

这一步和c1中的预处理操作相同。

d2、参数提取,得到目标语音的声学特征;

不同的声码器使用不同的声学特征,目前我们使用梅尔谱作为声学特征。

d3、加载预训练声码器模型;

d4、把声学特征和目标语音的声音信号输入预训练神经网络声码器模型,用深度迁移学习的方法训练模型。

实施例三,一种声音变换方法。

对输入的源语音进行声音变换,变换为目标语音信号输出,也就是声音符合目标说话人声音特点,但说话内容和源语音相同的语音。

声音转换阶段包括以下步骤(参见附图4):

e1、对待转换的源语音进行参数提取,得到mfcc特征;

e2、使用b3中训练好的si-asr模型把mfcc特征变换为bn特征;

e3、使用c5中训练好的attention变声网络把bn特征变换为声学特征(梅尔谱);

e4、使用d4中训练好的神经网络声码器将声学特征(梅尔谱)转换为语音输出。

通过这一方式,训练好的说话人独立的语音识别模型可用于任意的源说话人,即说话人独立(speaker-independent,si);说话人独立的语音识别模型训练方法只需要训练一次,后续小样本只需要用训练好的模型提取对应的特征即可。

实施例四,一种终端,该终端使用实施例一所述的声音变换系统。

所述终端可以为搭载有自动语音应答或提示服务系统的移动终端、pc设备、可穿戴设备等,或者,可以为具有自动语音应答或提示服务功能的语音机器人等,本发明对此不作限定。

实施例五、一种计算机可读的存储介质,所述计算机可读的存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行实施例二a4所述方法进行声音变换,模块训练使用实施例二a1-a3所述方法。

以上显示和描述了本发明的基本原理和主要特征和优点。本领域技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都属于本发明要求保护的范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips