本发明涉及语音处理技术领域,尤其涉及一种语音转换方法、电子装置及计算机可读存储介质。
背景技术:
自然风格迁移(neuralstyletransfer),是人工智能领域新兴的重要领域,尤其在图像领域已经取得很多的进展,如图像转换方面image-to-imagetranslation,绘画风格迁移等。
但在语音领域,相关的研究取得的进展仍然比较少,目前语音转换技术中最接近人声效果的信号->声波采用的是wavenet,其特点为自回归,需要对样本数据中所有样本数据进行学习训练,音质效果特别好,然而这种方法存在以下问题:1)需要大量用户和转换目标的内容成对的语音数据,而在实际应用过程中难以获取较多的成对语音数据支持训练,使得模型效果不佳,无法得到高质量的转换语音;2)鉴于需要对整个样本中所有样本数据进行学习训练,造成训练过程特别慢。
因此,亟需提供一种能快速转换出高质量的转换语音的方法。
技术实现要素:
鉴于以上内容,本发明提供一种语音转换方法、电子装置及计算机可读存储介质,其主要目的在于实现实时、高质量的语音转换。
为实现上述目的,本发明提供一种语音转换方法,该方法包括:
步骤s1,接收用户通过客户端发出的语音转换指令,所述语音转换指令中包括待转换的真实语音及目标音色;
步骤s2,从所述真实语音中提取出第一声学特征,将所述真实语音的第一声学特征输入预先训练好的与所述目标音色对应的第一转换模型进行音色转换,输出所述真实语音的与所述目标音色对应的第二声学特征;
步骤s3,基于所述第二声学特征,构建与所述目标音色对应的有关所述真实语音的第一频谱图;
步骤s4,将所述第一频谱图输入预先训练好的第二转换模型进行音质转换,输出与所述目标音色对应的有关所述真实语音的第二频谱图;及
步骤s5,基于语音重建算法对所述第二频谱图进行还原,得到与所述目标音色对应的有关所述真实语音的目标语音,并通过所述客户端将所述目标语音反馈给用户。
此外,为实现上述目的,本发明还提供一种电子装置,该装置包括:存储器、处理器,所述存储器中存储有可在所述处理器上运行的语音转换程序,所述语音转换程序被所述处理器执行时可实现如上所述语音转换方法中的任意步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括语音转换程序,所述语音转换程序被处理器执行时,可实现如上所述语音转换方法中的任意步骤。
本发明提出的语音转换方法、电子装置及计算机可读存储介质,接收用户发出的携带真实语音及目标音色的转换指令,从真实语音中提取出第一声学特征,并将第一声学特征的输入第一转换模型中得到第二声学特征,基于第二声学特征构建低音质的第一频谱图,然后将第一频谱图输入第二转换模型中得到高音质的第二频谱图,利用第二频谱图还原出语音信号得到与目标音色对应的目标语音。1.通过将语音转换的过程划分为:低音质的语音转换(音色转换)及高音质的语音转换(音质转换)两部分,由于本发明第一部分仅需达到低音质的语音转换,故仅需要少量的语音数据对,解决了因无法获取大量的语音数据对使得样本数据缺失造成的模型训练效果不佳的问题,提高了语音转换效率;2.利用第二转换模型度将低音质的第一频谱图转换为高音质的第二频谱图,为后续实现高质量的语音转换奠定基础;3.利用应用于图像处理领域的pix2pix模型构建第一转换模型和第二转换模型,通过对模型结构进行相应的改变,一方面适应音频处理,另一方面加快了模型收敛速度,提高模型训练速度。
附图说明
图1为本发明语音转换方法较佳实施例的流程图;
图2为本发明电子装置较佳实施例的示意图;
图3为图2中语音转换程序的程序模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种语音转换方法。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
参照图1所示,为本发明语音转换方法较佳实施例的流程图。
在本实施例中,该方法包括:步骤s1-步骤s5。
步骤s1,接收用户通过客户端发出的语音转换指令,所述语音转换指令中包括待转换的真实语音及目标音色。
以下以电子装置作为执行主体对本发明各实施例进行说明。用户通过客户端发出携带真实语音及目标音色的语音转换指令,电子装置接收到语音转换指令后,提取真实语音进行语音转换处理,将真实语音的音色转换为目标音色,并将转换后的语音片段反馈给客户端。
所述真实语音为用户本人音色的语音片段,所述目标音色为目标人物的音色,其中,目标人物为用户从指定目标人物集中选择的人物,例如,卡通人物、明星等。
所述客户端有语音采集单元,例如,麦克风等。客户端安装有app,用户通过客户端app发出语音转换指令。
步骤s2,从所述真实语音中提取出第一声学特征,将所述真实语音的第一声学特征输入预先训练好的与所述目标音色对应的第一转换模型进行音色转换,输出所述真实语音的与所述目标音色对应的第二声学特征。
第一声学特征为真实语音对应的声学特征,第二声学特征指根据第一声学特征转换出的所述真实语音与目标音色对应的声学特征。
需要说明的是,所述第一声学特征并不是指某一个声学相关特征,而是有多个预设的声学相关特征组合得到的组合特征向量。上述第一声学特征利用开源语音工具包pyworld提取得到。在本实施例中,所述从所述真实语音中提取出第一声学特征,包括:
计算所述真实语音中的第一预设声学相关特征及第二预设声学相关特征;
对所述第二预设声学相关特征进行转换,得到转换后的第二预设声学相关特征;及
基于所述第一预设声学相关特征及所述转换后的第二预设声学相关特征,组合生成所述第一声学特征。
上述第一预设声学相关特征包括基频(f0)、非周期信号(ap)等声学相关特征,上述第二预设声学相关特征包括频谱包络(spectrumenvelope)这一声学相关特征,上述转换后的第二预设声学相关特征为梅尔倒谱(mel-cepstrum)。
在本实施例中,使用dio算法计算出所述真实语音的基频,使用cheaptrick算法计算所述真实语音的频谱包络。另外,使用pysptk语音工具包,使用sp2mc,将频谱包络转换成梅尔倒谱。并基于如上声学特征,拼接成一个组合特征向量,作为所述真实语音的第一声学特征输入第一转换模型中,模型,输出的即为转换后的目标音色对应的组合特征向量,即,第二声学特征。
在本实施例中,上述预先训练好的第一转换模型为pix2pix模型。可以理解的是,鉴于上述第一声学特征是一维的、围绕时间轴的特征量,故在本实施例中,将模型中的二维卷积层改为一维卷积层,使pix2pix模型适用于本实施例中的一维声学特征转换。
需要说明的是,第一转换模型是解决onetoone的语音转换,即说话人a到说话人b的转换,不支持多人转换,也就是说,一个a->b的模型只能解决从a到b的转换,每个不同的a->b的转换模型都需要单独训练。
步骤s3,基于所述第二声学特征,构建与所述目标音色对应的有关所述真实语音的第一频谱图。
其中,第一频谱图为低音质的频谱图,所述第二声学特征于所述第一声学特征相似,也是由多个单独的声学相关特征组合形成的组合特征向量。
在本实施例中,所述基于所述第二声学特征,构建与所述目标音色对应的有关所述真实语音的第一频谱图,包括:
对所述第二声学特征进行拆分,得到所述第二声学特征对应的第三预设声学相关特征及第四预设声学相关特征;
对所述第四预设声学相关特征进行转换,得到转换后的第四预设声学相关特征;及
将所述转换后的第四预设声学相关特征作为所述第一频谱图。
上述第三预设声学相关特征包括所述第二声学特征对应的基频、非周期信号等声学相关特征,上述第四预设声学相关特征包括所述第二声学特征对应的梅尔倒谱,上述转换后的第四预设声学相关特征包括所述第二声学特征对应的梅尔谱图对应的频谱包络。
首先从第二声学特征这一组合特征向量中拆分提取出基频、非周期信号及梅尔倒谱等声学相关特征,然后,使用pysptk语音工具包,使用mc2sp对提取出的梅尔倒谱进行转换得到频谱包络,将频谱包络作为所述真实语音的第一频谱图。
需要说明的是,梅尔谱图->频谱包络的操作与频谱包络->梅尔谱图的过程刚好想法,且梅尔倒谱与频谱之间的转换均通过信号学中的傅里叶变换实现,这里不作赘述。
步骤s4,将所述第一频谱图输入预先训练好的第二转换模型进行音质转换,输出与所述目标音色对应的有关所述真实语音的第二频谱图。
上述第二频谱图为高音质的频谱图,使用第二转换模型对第一频谱图进行转换的目的在于将低音质的频谱图转换为高音质的频谱图,为后续输出高音质的转换语音奠定基础。
在本实施例中,上述预先训练好的第二转换模型为pix2pix模型。需要说明的是,鉴于第一频谱图中包括:时间、频率、振幅等信息,可以将第一频谱图视为单通道二维图像,故在本实施例中使用二维pix2pix模型作为第二转换模型。
步骤s5,基于语音重建算法对所述第二频谱图进行还原,得到与所述目标音色对应的有关所述真实语音的目标语音,并通过所述客户端将所述目标语音反馈给用户。
在获得高音质的第二频谱图后,需将其转换为语音信号以反馈给用户,,所述基于语音重建算法对所述第二频谱图进行还原,得到与所述目标音色对应的有关所述真实语音的目标语音,包括:
获取所述第二声学特征的第三预设声学相关特征;
利用预设语音重建算法对所述第三预设声学相关特征及所述第二频谱图进行合成,生成所述第二频谱图对应的语音信号;及
将所述第二频谱图对应的语音信号作为与所述目标音色对应的有关所述真实语音的目标语音。
本实施例中,使用pyworld工具包的合成方法world.sp,基于基频、频谱包络、非周期信号等声学相关特征直接合成语音信号。
其中,world是基于vocoder的语音合成工具,vocoder的作用主要是:提取语音信号的相关参数;根据相关参数合成出最终的语音。现有技术中的一些vocoder如下:
straight-可以产生高音质的合成效果,但是速度慢;
real-timestraight-在straight基础上简化了算法,虽然速度变快,但是以损失性能为代价;
tandem-straight-相比straight性能差不多,但是不能实现实时合成;
world相比于tandem-straight,它在性能不变的前提下,减少了计算复杂度,实现了实时的合成。
在其他实施例中,所述预先训练好的第一转换模型训练步骤包括:
获取第一预设数量的原说话人(sourcespeaker)和目标说话人(targetspeaker)的语音数据对;
分别提取所述第一预设数量的语音数据对中各语音数据的声学特征,生成第一预设数量的声学特征对,作为样本数据;
将所述样本数据按照预设比例(例如,4:1)划分为训练集及验证集,利用所述训练集对所述一维pix2pix模型进行训练;
计算所述一维pix2pix模型的loss值,当loss值满足预设条件时训练结束,确定所述一维pix2pix模型为所述目标说话人对应的第一转换模型。
例如,上述语音数据对即原说话人a和目标说话人b的说的内容一样的成对语音(paireddata),不需要非常多,少量即可(例如,80-100对)。
在生成样本数据的过程中,需要为样本数据的声学特征对中各声学特征标注对应的说话人,例如,原说话人a,目标说话人b。提取语音数据的声学特征与上述实施例中提取第一声学特征的步骤一致,这里不再赘述。训练过程中,模型输入为:声学特征对(原说话人a的声学特征,目标说话人的声学特征),输出(模拟目标说话人音色的语音的声学特征)。
需要说明的是,不同环境下采集的样本数据对应的收敛条件不完全相同。以在安静环境下使用手机录制采样率16k的语音训练集为例,当generatorloss=0.2左右时会趋近于稳定,不再收敛,此时可终止训练。
所述第一转换模型训练得到的是一个声学特征转换的模型,其目的在于,利用少量的语音数据对模拟出与目标说话人音色相似的转换模型,完成说话人a到说话人b的转换,解决了因无法获取大量语音数据对造成的模型效果差的问题。为了保证模型准换结果更贴近目标音色,可人工检测转换效果。
在其他实施例中,所述预先训练好的第二转换模型的训练步骤包括:
利用所述第一转换模型获取第二预设数量的目标说话人的声学特征,基于所述第二预设数量的目标说话人的声学特征构建出大量的第一频谱图;
获取第三预设数量的目标说话人的语音数据,分别提取所述第三预设数量的目标说话人的语音数据中各语音数据的声学特征,基于所述声学特征构建出第三预设数量的第二频谱图;
基于所述第一频谱图及第二频谱图生成样本数据;
将所述样本数据按照预设比例(例如,4:1)划分为训练集及验证集,利用所述训练集对所述二维pix2pix模型进行训练;
计算所述所述二维pix2pix模型的loss值,当loss值满足预设条件时训练结束,确定所述二维pix2pix模型为第二转换模型。
在本实施例中,提取声学特征、构建频谱图的步骤与上述实施例中提取第一声学特征、构建第一频谱图的步骤一致,这里不再赘述。需要说明的是,为了提高模型准确性,需要大量的目标说话人的低音质频谱图及高音质频谱图,故第二预设数量和第三预设数量相对需要设置为较大值,第二预设数量和第三预设数量远大于第一预设数量,其中,第二预设数量与第三预设数量可以相同也可以不同。第一、第二、第三预设阈值均为预先设置的值,可根据实际情况进行调整。
上述第一频谱图为低音质频谱图,作为样本数据中的自变量x,上述第二频谱图为高音质频谱图,也可称之为全量频谱图,作为样本数据中的因变量y。在模型训练过程中,计算模型的loss值,loss值达到一定条件后会趋于稳定,不再收敛,此时可终止训练。
在低音质->高音质的语音转换任务中,目的在于提供一个低音质频谱图到高音质频谱图的转换模型。模型训练过程中,需准备大量的目标说话人b的数据(即,转换目标的语音数据),即高音质频谱图数据,根据第一转换模型的输出(即低音质频谱图),两者构建一个(低质->高质)的数据关系,同理,数据对进入模型,对构建的二维pix2pix模型进行训练,得到一个从低音质频谱图到高音质频谱图的转换模型。
在其他实施例中,为了提高第一转换模型的训练速度,可适应性地对所述一维pix2pix模型的其他结构进行调整。
在本实施例中,采用的是pix2pix模型中的u-net结构。原结构中卷积核尺寸为4*4。为了适应语音处理,在构建模型结构时,除了将卷积层及反卷积层改为一维机构外,还将u-net结构中下采样的第一层和上采样的最后一层的卷积核大小修改为3*3。
以u-net结构中下采样为例,原结构是:
input_shape,64,kernel_size=4->
in_size=64,out_size=128,kernel_size=4->
in_size=128,out_size=256,kernel_size=4->
in_size=256,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4
调整后地后的结构为:
in_size=input_shape,out_size=64,kernel_size=3->
in_size=64,out_size=128,kernel_size=4->
in_size=128,out_size=256,kernel_size=4->
in_size=256,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4
以上网络结构的改变,一方面是为了适应音频处理,另一方面是为了加快模型收敛速度,从而提高模型的训练速度。
需要说明的是,以上网络结构的改变同样使用于第二转换模型,这里不作赘述。
上述实施例提出的语音转换方法,接收用户发出的携带真实语音及目标音色的转换指令,从真实语音中提取出第一声学特征,并将第一声学特征的输入第一转换模型中得到第二声学特征,基于第二声学特征构建低音质的第一频谱图,然后将第一频谱图输入第二转换模型中得到高音质的第二频谱图,利用第二频谱图还原出语音信号得到与目标音色对应的目标语音。1.通过将语音转换的过程划分为:低音质的语音转换(音色转换)及高音质的语音转换(音质转换)两部分,由于本发明第一部分仅需达到低音质的语音转换,故仅需要少量的语音数据对,解决了因无法获取大量的语音数据对使得样本数据缺失造成的模型训练效果不佳的问题,提高了语音转换效率;2.利用第二转换模型度将低音质的第一频谱图转换为高音质的第二频谱图,为后续实现高质量的语音转换奠定基础;3.利用应用于图像处理领域的pix2pix模型构建第一转换模型和第二转换模型,通过对模型结构进行相应的改变,一方面适应音频处理,另一方面加快了模型收敛速度,提高模型训练速度。
本发明还提出一种电子装置。参照图2所示,为本发明电子装置较佳实施例的示意图。
在本实施例中,电子装置1可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有数据处理功能的终端设备,服务器可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等。
该电子装置1包括存储器11、处理器12,及网络接口13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。
存储器11在另一些实施例中也可以是所述电子装置1的外部存储设备,例如该电子装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括该电子装置1的内部存储单元也包括外部存储设备。
存储器11不仅可以用于存储安装于该电子装置1的应用软件及各类数据,例如语音转换程序10等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如语音转换程序10等。
网络接口13可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该电子装置1与其他电子设备之间建立通信连接,例如,客户端(图中未示出)。
图2仅示出了具有组件11-13的电子装置1,本领域技术人员可以理解的是,图2示出的结构并不构成对电子装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
可选地,该电子装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。
可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。其中,显示器也可以称为显示屏或显示单元,用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
在图2所示的电子装置1实施例中,作为一种计算机存储介质的存储器11中存储语音转换程序10的程序代码,处理器12执行语音转换程序10的程序代码时,实现如下步骤:
接收步骤,接收用户通过客户端发出的语音转换指令,所述语音转换指令中包括待转换的真实语音及目标音色。
用户通过客户端发出携带真实语音及目标音色的语音转换指令,电子装置接收到语音转换指令后,提取真实语音进行语音转换处理,将真实语音的音色转换为目标音色,并将转换后的语音片段反馈给客户端。
所述真实语音为用户本人音色的语音片段,所述目标音色为目标人物的音色,其中,目标人物为用户从指定目标人物集中选择的人物,例如,卡通人物、明星等。
所述客户端有语音采集单元,例如,麦克风等。客户端安装有app,用户通过客户端app发出语音转换指令。
第一转换步骤,从所述真实语音中提取出第一声学特征,将所述真实语音的第一声学特征输入预先训练好的与所述目标音色对应的第一转换模型进行音色转换,输出所述真实语音的与所述目标音色对应的第二声学特征。
第一声学特征为真实语音对应的声学特征,第二声学特征指根据第一声学特征转换出的所述真实语音与目标音色对应的声学特征。
需要说明的是,所述第一声学特征并不是指某一个声学相关特征,而是有多个预设的声学相关特征组合得到的组合特征向量。上述第一声学特征利用开源语音工具包pyworld提取得到。在本实施例中,所述从所述真实语音中提取出第一声学特征,包括:
计算所述真实语音中的第一预设声学相关特征及第二预设声学相关特征;
对所述第二预设声学相关特征进行转换,得到转换后的第二预设声学相关特征;及
基于所述第一预设声学相关特征及所述转换后的第二预设声学相关特征,组合生成所述第一声学特征。
上述第一预设声学相关特征包括基频(f0)、非周期信号(ap)等声学相关特征,上述第二预设声学相关特征包括频谱包络(spectrumenvelope)这一声学相关特征,上述转换后的第二预设声学相关特征为梅尔倒谱(mel-cepstrum)。
在本实施例中,使用dio算法计算出所述真实语音的基频,使用cheaptrick算法计算所述真实语音的频谱包络。另外,使用pysptk语音工具包,使用sp2mc,将频谱包络转换成梅尔倒谱。并基于如上声学特征,拼接成一个组合特征向量,作为所述真实语音的第一声学特征输入第一转换模型中,模型,输出的即为转换后的目标音色对应的组合特征向量,即,第二声学特征。
在本实施例中,上述预先训练好的第一转换模型为pix2pix模型。可以理解的是,鉴于上述第一声学特征是一维的、围绕时间轴的特征量,故在本实施例中,将模型中的二维卷积层改为一维卷积层,使pix2pix模型适用于本实施例中的一维声学特征转换。
需要说明的是,第一转换模型是解决onetoone的语音转换,即说话人a到说话人b的转换,不支持多人转换,也就是说,一个a->b的模型只能解决从a到b的转换,每个不同的a->b的转换模型都需要单独训练。
构建步骤,基于所述第二声学特征,构建与所述目标音色对应的有关所述真实语音的第一频谱图。
其中,第一频谱图为低音质的频谱图,所述第二声学特征于所述第一声学特征相似,也是由多个单独的声学相关特征组合形成的组合特征向量。
在本实施例中,所述基于所述第二声学特征,构建与所述目标音色对应的有关所述真实语音的第一频谱图,包括:
对所述第二声学特征进行拆分,得到所述第二声学特征对应的第三预设声学相关特征及第四预设声学相关特征;
对所述第四预设声学相关特征进行转换,得到转换后的第四预设声学相关特征;及
将所述转换后的第四预设声学相关特征作为所述第一频谱图。
上述第三预设声学相关特征包括所述第二声学特征对应的基频、非周期信号等声学相关特征,上述第四预设声学相关特征包括所述第二声学特征对应的梅尔倒谱,上述转换后的第四预设声学相关特征包括所述第二声学特征对应的梅尔谱图对应的频谱包络。
首先从第二声学特征这一组合特征向量中拆分提取出基频、非周期信号及梅尔倒谱等声学相关特征,然后,使用pysptk语音工具包,使用mc2sp对提取出的梅尔倒谱进行转换得到频谱包络,将频谱包络作为所述真实语音的第一频谱图。
需要说明的是,梅尔谱图->频谱包络的操作与频谱包络->梅尔谱图的过程刚好想法,且梅尔倒谱与频谱之间的转换均通过信号学中的傅里叶变换实现,这里不作赘述。
第二转换步骤,将所述第一频谱图输入预先训练好的第二转换模型进行音质转换,输出与所述目标音色对应的有关所述真实语音的第二频谱图。
上述第二频谱图为高音质的频谱图,使用第二转换模型对第一频谱图进行转换的目的在于将低音质的频谱图转换为高音质的频谱图,为后续输出高音质的转换语音奠定基础。
在本实施例中,上述预先训练好的第二转换模型为pix2pix模型。需要说明的是,鉴于第一频谱图中包括:时间、频率、振幅等信息,可以将第一频谱图视为单通道二维图像,故在本实施例中使用二维pix2pix模型作为第二转换模型。
还原及反馈步骤,基于语音重建算法对所述第二频谱图进行还原,得到与所述目标音色对应的有关所述真实语音的目标语音,并通过所述客户端将所述目标语音反馈给用户。
在获得高音质的第二频谱图后,需将其转换为语音信号以反馈给用户,,所述基于语音重建算法对所述第二频谱图进行还原,得到与所述目标音色对应的有关所述真实语音的目标语音,包括:
获取所述第二声学特征的第三预设声学相关特征;
利用预设语音重建算法对所述第三预设声学相关特征及所述第二频谱图进行合成,生成所述第二频谱图对应的语音信号;及
将所述第二频谱图对应的语音信号作为与所述目标音色对应的有关所述真实语音的目标语音。
本实施例中,使用pyworld工具包的合成方法world.sp,基于基频、频谱包络、非周期信号等声学相关特征直接合成语音信号。
其中,world是基于vocoder的语音合成工具,vocoder的作用主要是:提取语音信号的相关参数;根据相关参数合成出最终的语音。现有技术中的一些vocoder如下:
straight-可以产生高音质的合成效果,但是速度慢;
real-timestraight-在straight基础上简化了算法,虽然速度变快,但是以损失性能为代价;
tandem-straight-相比straight性能差不多,但是不能实现实时合成;
world相比于tandem-straight,它在性能不变的前提下,减少了计算复杂度,实现了实时的合成。
在其他实施例中,所述预先训练好的第一转换模型训练步骤包括:
获取第一预设数量的原说话人(sourcespeaker)和目标说话人(targetspeaker)的语音数据对;
分别提取所述第一预设数量的语音数据对中各语音数据的声学特征,生成第一预设数量的声学特征对,作为样本数据;
将所述样本数据按照预设比例(例如,4:1)划分为训练集及验证集,利用所述训练集对所述一维pix2pix模型进行训练;
计算所述一维pix2pix模型的loss值,当loss值满足预设条件时训练结束,确定所述一维pix2pix模型为所述目标说话人对应的第一转换模型。
例如,上述语音数据对即原说话人a和目标说话人b的说的内容一样的成对语音(paireddata),不需要非常多,少量即可(例如,80-100对)。
在生成样本数据的过程中,需要为样本数据的声学特征对中各声学特征标注对应的说话人,例如,原说话人a,目标说话人b。提取语音数据的声学特征与上述实施例中提取第一声学特征的步骤一致,这里不再赘述。训练过程中,模型输入为:声学特征对(原说话人a的声学特征,目标说话人的声学特征),输出(模拟目标说话人音色的语音的声学特征)。
需要说明的是,不同环境下采集的样本数据对应的收敛条件不完全相同。以在安静环境下使用手机录制采样率16k的语音训练集为例,当generatorloss=0.2左右时会趋近于稳定,不再收敛,此时可终止训练。
所述第一转换模型训练得到的是一个声学特征转换的模型,其目的在于,利用少量的语音数据对模拟出与目标说话人音色相似的转换模型,完成说话人a到说话人b的转换,解决了因无法获取大量语音数据对造成的模型效果差的问题。为了保证模型准换结果更贴近目标音色,可人工检测转换效果。
在其他实施例中,所述预先训练好的第二转换模型的训练步骤包括:
利用所述第一转换模型获取第二预设数量的目标说话人的声学特征,基于所述第二预设数量的目标说话人的声学特征构建出大量的第一频谱图;
获取第三预设数量的目标说话人的语音数据,分别提取所述第三预设数量的目标说话人的语音数据中各语音数据的声学特征,基于所述声学特征构建出第三预设数量的第二频谱图;
基于所述第一频谱图及第二频谱图生成样本数据;
将所述样本数据按照预设比例(例如,4:1)划分为训练集及验证集,利用所述训练集对所述二维pix2pix模型进行训练;
计算所述所述二维pix2pix模型的loss值,当loss值满足预设条件时训练结束,确定所述二维pix2pix模型为第二转换模型。
在本实施例中,提取声学特征、构建频谱图的步骤与上述实施例中提取第一声学特征、构建第一频谱图的步骤一致,这里不再赘述。需要说明的是,为了提高模型准确性,需要大量的目标说话人的低音质频谱图及高音质频谱图,故第二预设数量和第三预设数量相对需要设置为较大值,第二预设数量和第三预设数量远大于第一预设数量,其中,第二预设数量与第三预设数量可以相同也可以不同。第一、第二、第三预设阈值均为预先设置的值,可根据实际情况进行调整。
上述第一频谱图为低音质频谱图,作为样本数据中的自变量x,上述第二频谱图为高音质频谱图,也可称之为全量频谱图,作为样本数据中的因变量y。在模型训练过程中,计算模型的loss值,loss值达到一定条件后会趋于稳定,不再收敛,此时可终止训练。
在低音质->高音质的语音转换任务中,目的在于提供一个低音质频谱图到高音质频谱图的转换模型。模型训练过程中,需准备大量的目标说话人b的数据(即,转换目标的语音数据),即高音质频谱图数据,根据第一转换模型的输出(即低音质频谱图),两者构建一个(低质->高质)的数据关系,同理,数据对进入模型,对构建的二维pix2pix模型进行训练,得到一个从低音质频谱图到高音质频谱图的转换模型。
在其他实施例中,为了提高第一转换模型的训练速度,可适应性地对所述一维pix2pix模型的其他结构进行调整。
在本实施例中,采用的是pix2pix模型中的u-net结构。原结构中卷积核尺寸为4*4。为了适应语音处理,在构建模型结构时,除了将卷积层及反卷积层改为一维机构外,还将u-net结构中下采样的第一层和上采样的最后一层的卷积核大小修改为3*3。
以u-net结构中下采样为例,原结构是:
input_shape,64,kernel_size=4->
in_size=64,out_size=128,kernel_size=4->
in_size=128,out_size=256,kernel_size=4->
in_size=256,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4
调整后地后的结构为:
in_size=input_shape,out_size=64,kernel_size=3->
in_size=64,out_size=128,kernel_size=4->
in_size=128,out_size=256,kernel_size=4->
in_size=256,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4->
in_size=512,out_size=512,kernel_size=4
以上网络结构的改变,一方面是为了适应音频处理,另一方面是为了加快模型收敛速度,从而提高模型的训练速度。
需要说明的是,以上网络结构的改变同样使用于第二转换模型,这里不作赘述。
上述实施例提出的电子装置1,接收用户发出的携带真实语音及目标音色的转换指令,从真实语音中提取出第一声学特征,并将第一声学特征的输入第一转换模型中得到第二声学特征,基于第二声学特征构建低音质的第一频谱图,然后将第一频谱图输入第二转换模型中得到高音质的第二频谱图,利用第二频谱图还原出语音信号得到与目标音色对应的目标语音,并将目标语音反馈给客户端。1.通过将语音转换的过程划分为:低音质的语音转换(音色转换)及高音质的语音转换(音质转换)两部分,由于本发明第一部分仅需达到低音质的语音转换,故仅需要少量的语音数据对,解决了因无法获取大量的语音数据对使得样本数据缺失造成的模型训练效果不佳的问题,提高了语音转换效率;2.利用第二转换模型度将低音质的第一频谱图转换为高音质的第二频谱图,为后续实现高质量的语音转换奠定基础;3.利用应用于图像处理领域的pix2pix模型构建第一转换模型和第二转换模型,通过对模型结构进行相应的改变,一方面适应音频处理,另一方面加快了模型收敛速度,提高模型训练速度。
可选地,在其他的实施例中,语音转换程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器12所执行,以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
参照图3所示,为图2中语音转换程序10的程序模块示意图,该实施例中,语音转换程序10可以被分割为模块110-150,所述模块110-150所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
接收模块110,用于接收用户通过客户端发出的语音转换指令,所述语音转换指令中包括待转换的真实语音及目标音色;
第一转换模块120,用于从所述真实语音中提取出第一声学特征,将所述真实语音的第一声学特征输入预先训练好的与所述目标音色对应的第一转换模型进行音色转换,输出所述真实语音的与所述目标音色对应的第二声学特征;
构建模块130,用于基于所述第二声学特征,构建与所述目标音色对应的有关所述真实语音的第一频谱图;
第二转换模块140,用于将所述第一频谱图输入预先训练好的第二转换模型进行音质转换,输出与所述目标音色对应的有关所述真实语音的第二频谱图;及
还原及反馈模块150,用于对所述第二频谱图进行还原,得到与所述目标音色对应的有关所述真实语音的目标语音,并通过所述客户端将所述目标语音反馈给用户。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中包括语音转换程序10,所述语音转换程序10被处理器执行时实现如上所述的语音转换方法中的任意步骤,在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
1.一种语音转换方法,适用于电子装置,其特征在于,该方法包括:
步骤s1,接收用户通过客户端发出的语音转换指令,所述语音转换指令中包括待转换的真实语音及目标音色;
步骤s2,从所述真实语音中提取出第一声学特征,将所述真实语音的第一声学特征输入预先训练好的与所述目标音色对应的第一转换模型进行音色转换,输出所述真实语音的与所述目标音色对应的第二声学特征;
步骤s3,基于所述第二声学特征,构建与所述目标音色对应的有关所述真实语音的第一频谱图;
步骤s4,将所述第一频谱图输入预先训练好的第二转换模型进行音质转换,输出与所述目标音色对应的有关所述真实语音的第二频谱图;及
步骤s5,基于语音重建算法对所述第二频谱图进行还原,得到与所述目标音色对应的有关所述真实语音的目标语音,并通过所述客户端将所述目标语音反馈给用户。
2.根据权利要求1所述的语音转换方法,其特征在于,所述从所述真实语音中提取出第一声学特征,包括:
计算所述真实语音中的第一预设声学相关特征及第二预设声学相关特征;
对所述第二预设声学相关特征进行转换,得到转换后的第二预设声学相关特征;及
基于所述第一预设声学相关特征及所述转换后的第二预设声学相关特征,组合生成所述第一声学特征。
3.根据权利要求1所述的语音转换方法,其特征在于,所述基于所述第二声学特征,构建与所述目标音色对应的有关所述真实语音的第一频谱图,包括:
对所述第二声学特征进行拆分,得到所述第二声学特征对应的第三预设声学相关特征及第四预设声学相关特征;
对所述第四预设声学相关特征进行转换,得到转换后的第四预设声学相关特征;及
将所述转换后的第四预设声学相关特征作为所述第一频谱图。
4.根据权利要求1所述的语音转换方法,其特征在于,所述基于语音重建算法对所述第二频谱图进行还原,得到与所述目标音色对应的有关所述真实语音的目标语音,包括:
获取所述第二声学特征的第三预设声学相关特征;
利用预设语音重建算法对所述第三预设声学相关特征及所述第二频谱图进行合成,生成所述第二频谱图对应的语音信号;及
将所述第二频谱图对应的语音信号作为与所述目标音色对应的有关所述真实语音的目标语音。
5.根据权利要求1至4中任意一项所述的语音转换方法,其特征在于,所述第一声学特征为组合特征向量,包括所述真实语音的基频、非周期信息、频谱包络,所述第二声学特征为所述第一声学特征经过音色转换得到的声学特征。
6.根据权利要求5所述的语音转换方法,其特征在于,所述第一预设声学相关特征包括所述真实语音的基频、非周期信息;所述第二预设声学相关特征包括所述真实语音的频谱包络;所述转换后的第二预设声学相关特征为所述真实语音的频谱包络对应的梅尔倒谱。
7.根据权利要求6所述的语音转换方法,其特征在于,所述第一转换模型为一维pix2pix模型,所述第一转换模型的训练步骤包括:
获取第一预设数量的原说话人和目标说话人的语音数据对;
分别提取所述第一预设数量的语音数据对中各语音数据的声学特征,生成第一预设数量的声学特征对,作为样本数据;
将所述样本数据按照预设比例划分为训练集及验证集,利用所述训练集对所述一维pix2pix模型进行训练;
计算所述一维pix2pix模型的loss值,当loss值满足预设条件时训练结束,确定所述一维pix2pix模型为所述目标说话人对应的第一转换模型。
8.根据权利要求7所述的语音转换方法,其特征在于,所述第二转换模型为二维pix2pix模型,所述第二转换模型的训练步骤包括:
利用所述第一转换模型获取第二预设数量的目标说话人的声学特征,基于所述第二预设数量的目标说话人的声学特征构建出大量的第一频谱图;
获取第三预设数量的目标说话人的语音数据,分别提取所述第三预设数量的目标说话人的语音数据中各语音数据的声学特征,基于所述声学特征构建出第三预设数量的第二频谱图;
基于所述第一频谱图及第二频谱图生成样本数据;
将所述样本数据按照预设比例划分为训练集及验证集,利用所述训练集对所述二维pix2pix模型进行训练;
计算所述所述二维pix2pix模型的loss值,当loss值满足预设条件时训练结束,确定所述二维pix2pix模型为第二转换模型。
9.一种电子装置,其特征在于,该装置包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的语音转换程序,所述语音转换程序被所述处理器执行时可实现如下步骤:
接收用户通过客户端发出的语音转换指令,所述语音转换指令中包括待转换的真实语音及目标音色;
从所述真实语音中提取出第一声学特征,将所述真实语音的第一声学特征输入预先训练好的与所述目标音色对应的第一转换模型进行音色转换,输出所述真实语音的与所述目标音色对应的第二声学特征;
基于所述第二声学特征,构建与所述目标音色对应的有关所述真实语音的第一频谱图;
将所述第一频谱图输入预先训练好的第二转换模型进行音质转换,输出与所述目标音色对应的有关所述真实语音的第二频谱图;及
基于语音重建算法对所述第二频谱图进行还原,得到与所述目标音色对应的有关所述真实语音的目标语音,并通过所述客户端将所述目标语音反馈给用户。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括语音转换程序,所述语音转换程序被处理器执行时,可实现如权利要求1至8中任意一项所述的语音转换方法的步骤。
技术总结