一种多说话人语音合成方法、装置及计算设备与流程
本公开涉及语音合成技术领域,尤其涉及一种多说话人语音合成方法、装置、可读存储介质及计算设备。
背景技术:
语音合成(texttospeech,tts)是指计算机自动根据文本生成相应语音的技术。目前的语音合成系统需要使用大量的且高质量(需要专业录音设备进行录制)数据,且只能合成一种音色的声音。如需要搭建多个不同说话人音色的语音合成系统,需要耗费大量的财力与物力。
目前主流的优化方法是使用多说话人语音合成技术(multi-speakertts),该技术可以通过一个系统合成出不同音色的声音。具体而言,多说话人语音合成系统在训练时,通过说话人id(speakerid)区分不同说话人的声音。在合成声音阶段,通过传入不同的speakerid,生成不同说话人的声音。该技术相比于传统的单个说话人语音合成系统,可以结合多个说话人的语音数据,一方面增加了数据量,使得模型训练更加充分,另一方面可以提取不同音色声音的共性,使得模型更加鲁棒。
在训练多说话人语音合成系统时,需要准备不同音色说话人的声音数据作为训练数据。通常,为了保持不同声音类型的平衡,会准备数量相当的男生/女生,成人/儿童的声音。但在现实中,往往会出现某一种类型声音数据非常少量的情况,如果训练数据中某种音色声音相对于其他音色声音非常稀少,将会导致最后合成的声音与真实的声音不太像。传统的做法是继续增加该类型的声音数据,这样的确可以改善数据类型不平衡问题,但是由于训练语音合成系统所需的声音数据录制非常昂贵,会大大的提高成本。
技术实现要素:
为此,本公开提供了一种多说话人语音合成方法、装置、可读存储介质及计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
根据本公开实施例的一个方面,提供了一种多说话人语音合成方法,包括:
获取包含至少两种声音类型的多说话人语音数据;
对多说话人语音数据作数据增强处理;
将多说话人语音数据输入多说话人语音合成系统进行数据训练;
在对多说话人语音合成系统完成训练后,向多说话人语音合成系统输入包含指定说话人和指定文本的指令,指示多说话人语音合成系统合成语音。
可选地,对多说话人语音数据作数据增强处理,包括:
根据每种声音类型的说话人语音数据的数据量,确定需要数据增强处理的特定声音类型以及数据增强处理次数;
将特定声音类型的说话人语音数据转化为频域数据;
根据所述数据增强处理次数,依次将所述频域数据的一个或多个指定频率区间的能量值置零,分别生成所述特定声音类型的多个新的说话人语音数据;其中,所述指定频率区间预先在所述频域数据的频率范围内划分。
可选地,确定数据增强处理次数,包括:
根据特定声音类型的说话人语音数据的数据量和其它声音类型的说话人语音数据的数据量的比值,确定数据增强处理次数。
可选地,在所述频域数据的频率范围内划分所述指定频率区间,包括:
根据所述数据增强处理次数确定所述指定频率区间的个数;
根据所述指定频率区间的个数,在所述频域数据的频率范围内划分所述指定频率区间。
可选地,在频域数据的频率范围内均匀地划分指定频率区间;或者,
根据人类语音特征,在频域数据的频率范围内不均匀地划分指定频率区间;或者,
采用机器学习方式,确定多说话人语音合成结果最优的指定频率区间的划分方式。
可选地,将特定声音类型的说话人语音数据转化为频域数据时,使用快速傅里叶变换方法。
可选地,获取包含至少两种声音类型的多说话人语音数据,包括:
获取包括成年男声、成年女声、男童声和女童声中的至少两种声音类型的多说话人语音数据。
根据本公开实施例的又一方面,提供一种多说话人语音合成装置,包括:
数据采集单元,用于获取包含至少两种声音类型的多说话人语音数据;
数据增强单元,用于对多说话人语音数据作数据增强处理;
训练单元,用于将多说话人语音数据输入多说话人语音合成系统进行数据训练;
语音合成单元,用于在对多说话人语音合成系统完成训练后,向多说话人语音合成系统输入包含指定说话人和指定文本的指令,指示多说话人语音合成系统合成语音。
根据本公开实施例的又一方面,提供一种可读存储介质,其上具有可执行指令,当可执行指令被执行时,使得计算机执行上述的多说话人语音合成方法。
根据本公开实施例的又一方面,提供一种计算设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行上述的多说话人语音合成方法。
根据本公开实施例,获取包含至少两种声音类型的多说话人语音数据;对多说话人语音数据作数据增强处理;将多说话人语音数据输入多说话人语音合成系统进行数据训练;在对多说话人语音合成系统完成训练后,向多说话人语音合成系统输入包含指定说话人和指定文本的指令,指示多说话人语音合成系统合成语音;实现了在多说话人语音合成系统中,通过数据增强方法,解决数据不平衡的问题,同时没有增加额外的成本开销;在本公开的另一实施例中,提出一种新颖的数据增强方法,通过屏蔽某段频率上的能量值,达到增加数据的目的,并且验证了该数据增强方法可以训练出更优的多说话人语音合成系统。
附图说明
附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
图1是示例性的计算设备的结构框图;
图2是根据本公开实施例的一种多说话人语音合成方法的流程图;
图3是根据本公开实施例的一种多说话人语音合成方法中数据增强处理的流程图;
图4是根据本公开具体实施例的一种多说话人语音合成方法的流程图;
图5是根据本公开实施例的一种多说话人语音合成装置的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1布置为实现根据本公开的一种多说话人语音合成方法的示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μp)、微控制器(μc)、数字信息处理器(dsp)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个程序122以及程序数据124。在一些实施方式中,程序122可以被配置为在操作系统上由一个或者多个处理器104利用程序数据124执行指令。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个a/v端口152与诸如显示终端或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个i/o端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是个人数字助理(pda)、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。
其中,计算设备100的一个或多个程序122包括用于执行根据本公开的一种多说话人语音合成方法的指令。
传统的语音合成技术都是基于单个说话人数据训练模型,该方案为每个说话人训练不同的模型,最后会得到多个不同的语音合成系统。单说话人语音合成系统有诸多缺陷,如成本高,鲁棒性差,模型冗余。多说话人语音合成技术可以解决上述问题,但在数据不平衡时,会出现数据少的一类声音,合成出的音质差的问题。本公开提供的多说话人语音合成方法可以在不增加额外成本的情况下,有效的缓解数据不平衡的问题。
图2示例性示出根据本公开一个实施例的一种多说话人语音合成方法200的流程图,多说话人语音合成方法200始于步骤s210。
步骤s210中,获取包含至少两种声音类型的多说话人语音数据。
根据音色不同,声音类型可以划分为:男声、女声;或者,成人声(包括成年男声和成年女声)、儿童声(包括男声和女声)等。获取的每种声音类型的多说话人语音数据中,包括一个人或者多个人的说话人语音数据。由于各种声音类型的说话人语音数据的数据量不均衡,例如,男声的数据量较少,不易获得,女声的数据量较高,如果直接将多说话人语音数据应用于多说话人语音合成系统进行数据训练,合成效果不理想,数据量少的说话人的语音合成质量差。
随后,在步骤s220中,对所述多说话人语音数据作数据增强处理。
数据增强,是指在训练数据不足的场景下,通过某种方法实现对数据的扩充。如图3所示,在本公开的一个实施例中,提供了一种多说话人语音数据的数据增强处理方法,包括:
s310、根据每种声音类型的说话人语音数据的数据量,确定需要数据增强处理的特定声音类型以及数据增强处理次数;
具体地,在步骤s310中,确定数据增强处理次数,包括:根据特定声音类型的说话人语音数据的数据量和其它声音类型的说话人语音数据的数据量的比值,确定数据增强处理次数。其中,每个说话人的语音数据的数据量是相同的或不相同的——例如,男声的说话人语音数据有1个人的语音数据,共20帧语音,女声的说话人语音数据包括10个人的语音数据,每个人的数据包含20帧语音,那么,需要对男声数据做数据增强处理,数据增强处理次数为10/1-1=9次;又例如,男声的说话人语音数据有1个人的语音数据,共20帧语音,女声的说话人语音数据包括10个人的语音数据,每个人的数据包含10~30帧的语音,共计200帧语音,数据增强处理次数为200/20-1=9次。
在一种可选实施例中,其它声音类型特指说话人语音数据的数据量最高的声音类型,确定数据增强次数,包括:根据最高的说话人语音数据的数据量和特定声音类型的说话人语音数据的数据量的比值,确定数据增强次数。例如,男声的说话人语音数据有2个人的语音数据,每个人的数据包含20帧语音,女童声的说话人语音数据有1个人的语音数据,共20帧语音,女声的说话人语音数据包括8个人的语音数据,每个人的数据包含20帧语音,那么,需要对男声数据做数据增强处理,数据增强处理次数为160/40-1=3次,以及,需要对女童声数据做数据增强处理,数据增强处理次数为160/20-1=7次。
经过数据增强处理后,不同声音类型的说话人语音数据的数据量相同、或者接近、或者达到满足语音合成质量要求所需的最低比例,从而解决了数据不平衡的问题。然而,训练数据之间保持一定的差异性,是提高模型质量的关键,因此,在步骤s320和步骤s330中,本公开提出了新的数据增强方式。
具体地,在步骤s320中,将特定声音类型的说话人语音数据转化为频域数据,例如,可以通过快速傅里叶变换(fastfouriertransform,fft)方法完成从时域到频域的转化。
随后,在步骤s330中,根据数据增强处理次数,依次将频域数据的一个或多个指定频率区间的能量值置零,分别生成特定声音类型的多个新的说话人语音数据;其中,所述指定频率区间预先在所述频域数据的频率范围内划分。
在一个可选实施例中,预先根据数据增强处理次数确定指定频率区间的个数;根据指定频率区间的个数,在频域数据的频率范围内划分指定频率区间。例如,确定数据增强处理次数为8次,则将频率区间划分为8个区间。
进一步地,在频域数据的频率范围内划分所述指定频率区间,包括:在频域数据的频率范围内均匀地划分指定频率区间;例如,需要将频率区间划分为8个区间,而经过fft后的频域数据的频率范围是1~512,则将512平均地划分为8个频率区间,每个频率区间的长度为64,进而,复制8份相同的语音数据,第一份将fft后的频谱1~64频率段的能量值置0,第二份将fft后的频谱64~128频率段的能量值置0,....,第八份将fft后的频谱448~512频率段的能量值置0。将新扩充的8份数据,作为新的说话人数据,加入原来的训练数据中训练模型。此时原先较少的一类声音(如男声),因为经过数据扩充,已经解决了数据不平衡的问题。
又或者,根据人类语音特征,在频域数据的频率范围内不均匀地划分指定频率区间,实现各个不同指定频率区间的能量值置零后,丢失的信息量大致相同。例如,由于人类语音在各个频段的信息分布不均匀,且日常说话中低频信息量较少,可以设置指定区间中,低频区间的宽度大于中高频区间的宽度。
进一步地,还可以采用机器学习的方式,获取最优效果的频率区间划分方式,从而获得最佳的多说话人语音合成结果。
在上述各实施例中,各个指定频率区间可以存在重叠区域,也可以互不重叠。
随后,在步骤s240中,在对多说话人语音合成系统完成训练后,向多说话人语音合成系统输入包含指定说话人和指定文本的指令,指示多说话人语音合成系统合成语音。
下面给出本公开的具体实施例。
如图4所示,本具体实施例包括如下步骤:
步骤1、将数据较少的一类声音,进行数据增强,首先将该数据扩充m份,然后将每份数据,不同频率上的能量值置0。通过丢弃某段频率上的能量值,声音相比于原声音听起来会有所不同,相当于增加了新的说话人。
步骤2、将通过数据增强得到的m份数据,与原数据进行融合,训练多说话人语音合成系统。
步骤3、模型训练完后,将需要合成的文本输入模型,同时提供需要合成的声音类型的说话人语音(speakerid),可以合成该speakerid对应的声音。
参见图5,本公开实施例提供的一种多说话人语音合成装置包括:
数据采集单元510,用于获取包含至少两种声音类型的多说话人语音数据;
数据增强单元520,用于对多说话人语音数据作数据增强处理;
训练单元530,用于将多说话人语音数据输入多说话人语音合成系统进行数据训练;
语音合成单元540,用于在对多说话人语音合成系统完成训练后,向多说话人语音合成系统输入包含指定说话人和指定文本的指令,指示多说话人语音合成系统合成语音。
可选地,数据增强单元520具体用于:
根据每种声音类型的说话人语音数据的数据量,确定需要数据增强处理的特定声音类型以及数据增强处理次数;
将特定声音类型的说话人语音数据转化为频域数据;
根据数据增强处理次数,依次将频域数据的一个或多个指定频率区间的能量值置零,分别生成特定声音类型的多个新的说话人语音数据;其中,所述指定频率区间预先在所述频域数据的频率范围内划分。
可选地,数据增强单元520用于确定所述数据增强处理次数时,具体用于:
根据特定声音类型的说话人语音数据的数据量和其它声音类型的说话人语音数据的数据量的比值,确定数据增强处理次数。
可选地,数据增强单元520还用于:
根据数据增强处理次数确定所述指定频率区间的个数;
根据指定频率区间的个数,在频域数据的频率范围内划分指定频率区间。
可选地,数据增强单元520用于在频域数据的频率范围内划分指定频率区间时,具体用于:
在频域数据的频率范围内均匀地划分指定频率区间;或者,
根据人类语音特征,在频域数据的频率范围内不均匀地划分指定频率区间;或者,
采用机器学习方式,确定多说话人语音合成结果最优的指定频率区间的划分方式。
可选地,数据增强单元520用于将特定声音类型的说话人语音数据转化为频域数据时,使用快速傅里叶变换fft方法。
可选地,数据采集单元510具体用于:
获取包括成年男声、成年女声、男童声和女童声中的至少两种声音类型的多说话人语音数据。
本公开提供的技术方案,在多说话人语音合成系统中,通过数据增强的方法,解决了数据不平衡的问题,同时没有增加额外的成本开销。同时,提出一种新颖的数据增强方法,通过屏蔽某段频率上的能量值,达到增加数据的目的。通过对比使用和不使用数据增强方法训练的多说话人语音合成系统,可以发现使用数据增强后的系统,对于数量较少的一类音色,合成出的声音音质更好,用户平均意见分(meanopinionscore,mos)也高于不使用数据增强方法的系统。
应当理解,这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本公开的方法和设备,或者本公开的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、cd-rom、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被该机器执行时,该机器变成实践本公开的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的该程序代码中的指令,执行本公开的各种方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
应当理解,为了精简本公开并帮助理解各个公开方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,公开方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本公开的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该公开的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本公开,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本公开的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本公开的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本公开的范围,对本公开所做的公开是说明性的,而非限制性的,本公开的范围由所附权利要求书限定。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除