CN114283777A - 语音合成的方法、装置及存储介质 - Google Patents
语音合成的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114283777A CN114283777A CN202010988010.6A CN202010988010A CN114283777A CN 114283777 A CN114283777 A CN 114283777A CN 202010988010 A CN202010988010 A CN 202010988010A CN 114283777 A CN114283777 A CN 114283777A
- Authority
- CN
- China
- Prior art keywords
- information
- determining
- target
- voice
- pronunciation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本申请公开了一种语音合成的方法、装置及存储介质。其中,该方法包括:获取用于语音合成的目标文本信息和与目标文本信息对应的目标语音信息;确定与目标语音信息对应的声纹特征向量;以及根据目标文本信息、声纹特征向量以及预先训练的语音合成模型,生成梅尔频谱特征,并根据梅尔频谱特征确定目标合成语音。
Description
技术领域
本申请涉及语音合成技术领域,特别是涉及一种语音合成的方法、装置及存储介质。
背景技术
目前在语音合成技术当中,主要是直接使用端到端语音网络结构来合成语音,主要是通过深度学习技术,引入注意力机制,给用户进行使用。这个端到端网络结构主要是一个Encoder–Decoder结构的网络模型。在进行语音合成的过程中,首先将文本通过one-hot的方式转换成一个向量,传入Encoder网络,通过Encoder网络输出一个向量,这个向量是这个文本的一种表示结构,这个表示结构可以将它与文本对应的音频产生联系,再将这个Encoder生成的向量传入到Decoder网络结构中,生成对应的音频文件。但是,现有的使用端到端网络结构来合成语音的方式,用户传入文本端到端网络结构生成语音,不做任何处理,只有文本到语音的转换,没有很好地引入说话人的网络结构,从而导致所合成的语音质量差。
此外,目前在对端到端网络结构进行训练的过程中,需要进行大量录音数据的录制,短的需要8个小时的录音数据,长的需要12个小时的录音数据,这时如果业务方需要新增一个录音人,又要进行重复的录制工作,然后进行网络结构的训练。因此,训练端到端语音网络结构对录制量的需求非常大。
针对上述的现有技术中存在的直接使用端到端网络结构来合成语音的方式,由于不做任何处理,只有文本到语音的转换,从而导致所合成的语音质量差,并且训练端到端语音网络结构对录制量的需求非常大的技术问题,目前尚未提出有效的解决方案。
发明内容
本公开的实施例提供了一种语音合成的方法、装置及存储介质,以至少解决现有技术中存在的直接使用端到端网络结构来合成语音的方式,由于不做任何处理,只有文本到语音的转换,从而导致所合成的语音质量差,并且训练端到端语音网络结构对录制量的需求非常大的技术问题。
根据本公开实施例的一个方面,提供了一种语音合成的方法,包括:获取用于语音合成的目标文本信息和与目标文本信息对应的目标语音信息;确定与目标语音信息对应的声纹特征向量;以及根据目标文本信息、声纹特征向量以及预先训练的语音合成模型,生成梅尔频谱特征,并根据梅尔频谱特征确定目标合成语音。
根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
根据本公开实施例的另一个方面,还提供了一种语音合成的装置,包括:获取模块,用于获取用于语音合成的目标文本信息和与目标文本信息对应的目标语音信息;确定模块,用于确定与目标语音信息对应的声纹特征向量;以及生成模块,用于根据目标文本信息、声纹特征向量以及预先训练的语音合成模型,生成梅尔频谱特征,并根据梅尔频谱特征确定目标合成语音。
在本公开实施例中,不再是仅仅将目标文本信息传入语音合成模型,而是根据与该目标文本信息对应的目标语音信息确定声纹特征向量,然后将目标文本信息和声纹特征向量一同传入语音合成模型,并根据语音合成模型输出的梅尔频谱特征确定目标合成语音。从而,很好地引入声纹特征向量,大大提高了所确定的目标合成语音的质量。并且,通过引入说话人识别模型,将说话人模型输出与一份高质量的语音数据一起训出一个单说话人的高质量语音合成模型,在新来说话人后,只需对模型进行简单的迁移和微调,进行快速的训练,生成出一个基于新说话人的新的语音合成模型。从而,快速解决只有少量样本,同时需要一个高质量的语音合成模型的需求。进而解决了现有技术中存在的直接使用端到端网络结构来合成语音的方式,由于不做任何处理,只有文本到语音的转换,从而导致所合成的语音质量差,并且训练端到端语音网络结构对录制量的需求非常大的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是用于实现根据本公开实施例1所述的方法的计算设备的硬件结构框图;
图2是根据本公开实施例1的第一个方面所述的语音合成的方法的流程示意图;
图3是根据本公开实施例1所述的语音合成的方法的整体流程示意图;
图4是根据本公开实施例1所述的对语音合成模型进行训练的流程示意图;
图5是根据本公开实施例2所述的语音合成的装置的示意图;以及
图6是根据本公开实施例3所述的语音合成的装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本实施例,提供了一种语音合成的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例所提供的方法实施例可以在服务器或者类似的计算设备中执行。图1示出了一种用于实现语音合成的方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的语音合成的方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的语音合成的方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
在上述运行环境下,根据本实施例的第一个方面,提供了一种语音合成的方法。图3示出了该方法的流程示意图,参考图2所示,该方法包括:
S202:获取用于语音合成的目标文本信息和与目标文本信息对应的目标语音信息;
S204:确定与目标语音信息对应的声纹特征向量;以及
S206:根据目标文本信息、声纹特征向量以及预先训练的语音合成模型,生成梅尔频谱特征,并根据梅尔频谱特征确定目标合成语音。
正如背景技术中所述的,目前在语音合成技术当中,主要是直接使用端到端语音网络结构来合成语音,主要是通过深度学习技术,引入注意力机制,给用户进行使用。这个端到端网络结构主要是一个Encoder–Decoder结构的网络模型。在进行语音合成的过程中,首先将文本通过one-hot的方式转换成一个向量,传入Encoder网络,通过Encoder网络输出一个向量,这个向量是这个文本的一种表示结构,这个表示结构可以将它与文本对应的音频产生联系,再将这个Encoder生成的向量传入到Decoder网络结构中,生成对应的音频文件。但是,现有的使用端到端网络结构来合成语音的方式,用户传入文本端到端网络结构生成语音,不做任何处理,只有文本到语音的转换,没有很好地引入说话人的网络结构,从而导致所合成的语音质量差。
针对背景技术中存在的技术问题,在本实施例中,首先获取用于语音合成的目标文本信息和与所述目标文本信息对应的目标语音信息,然后确定与目标语音信息对应的声纹特征向量(d-vector向量)。其中,可以通过将目标语音信息输入现有的说话人识别模型,并将说话人识别模型输出的声纹特征向量确定为与目标语音信息对应的声纹特征向量。最后,根据目标文本信息、声纹特征向量以及预先训练的语音合成模型,生成梅尔频谱特征,并根据梅尔频谱特征确定目标合成语音。其中,语音合成模型可以为现有的Encoder–Decoder结构的网络模型,并且可以通过将生成的梅尔频谱特征传入声码器输出音频文件作为目标合成语音。
从而,通过这种方式,不再是仅仅将目标文本信息传入语音合成模型,而是根据与该目标文本信息对应的目标语音信息确定声纹特征向量,然后将目标文本信息和声纹特征向量一同传入语音合成模型,并根据语音合成模型输出的梅尔频谱特征确定目标合成语音。从而,很好地引入声纹特征向量,大大提高了所确定的目标合成语音的质量。进而解决了现有技术中存在的直接使用端到端网络结构来合成语音的方式,由于不做任何处理,只有文本到语音的转换,从而导致所合成的语音质量差技术问题。
可选地,预先训练的语音合成模型包括编码器和解码器,并且根据目标文本信息、声纹特征向量以及预先训练的语音合成模型,生成梅尔频谱特征的操作,包括:根据目标文本信息和编码器,生成发音特征向量;将声纹特征向量和发音特征向量进行拼接;以及利用解码器对拼接后的声纹特征向量和发音特征向量进行计算,生成梅尔频谱特征。
具体地,预先训练的音频生成模型例如可以是Encoder–Decoder结构的网络模型,包括编码器(Encoder网络)和解码器(Decoder网络)。其中,Encoder网络主要由一个3层的卷积神经网络和一个双向的循环神经网络组成,Decoder网络主要由循环神经网络构成。参照图3所示,在根据目标文本信息、声纹特征向量以及预先训练的语音合成模型,生成梅尔频谱特征的操作过程中,首先根据目标文本信息确定一个文本向量,然后将文本向量传入已经训练好的语音合成模型中的编码器(Encoder网络),编码器输出一个发音特征向量。其中所输出的发音特征向量是这个文本向量对应音频特征的一种表示结构。进一步地,将声纹特征向量和发音特征向量进行拼接,并将拼接后的得到的向量输入语音合成模型中的解码器(Decoder网络),解码器输出音频的梅尔频谱特征。其中,声纹特征向量例如为[1,3,5],发音特征向量例如为[6,9,15],则拼接后的得到的向量为[1,3,5,6,9,15]。
可选地,根据目标文本信息和编码器,生成发音特征向量的操作,包括:确定与目标文本信息的发音特征对应的第一发音特征信息;以及利用编码器对第一发音特征信息进行计算,确定发音特征向量。
具体地,根据目标文本信息和编码器,生成发音特征向量的操作过程中,首先确定与目标文本信息的发音特征对应的第一发音特征信息,其中目标文本信息例如为“我爱中国”,此时与“我爱中国”对应的文本拼音信息为“woaizhongguo”,从而可以根据文本拼音信息(即,woaizhongguo)确定与目标文本信息对应的第一发音特征信息。然后,利用编码器对第一发音特征信息进行计算,确定发音特征向量。即将第一发音特征信息输入编码器,输出发音特征向量。
可选地,确定与目标文本信息的发音特征对应的第一发音特征信息的操作,包括:确定目标文本信息包含的文字序列;依次确定文字序列中的文字对应的拼音信息,其中拼音信息包括拼音的字母以及文字的声调;利用预设的排序规则确定拼音信息中包含的字母和声调的序号,其中排序规则用于描述二十六个英文字母和五个音调的顺序;以及根据字母和声调的序号分别确定与文字序列中的文字对应的第二发音特征信息,并依次将文字序列中的文字对应的第二发音特征信息进行拼接,确定第一发音特征信息。
具体地,首先确定文本信息包含的文字序列,例如上述的文本信息为“我爱中国”,对应的文字序列为:“我”、“爱”、“中”、“国”。然后依次确定文字序列中文字对应的拼音信息,其中拼音信息包括拼音的字母以及文字的声调,例如:“我”的拼音信息包括的字母为:“w”、“o”,声调为“三声”;同理“爱”的拼音信息包括的字母为:“a”、“i”,声调为“四声”,其他的文字同理于上述的方式,此处不再赘述。然后,利用预设的排序规则确定拼音信息中包含的字母和的声调的序号,其中排序规则用于描述二十六个英文字母以及五个音调的顺序。在一个具体实例中,排序规则例如是abcdefghijklmnopqrstuvwxyz12345,其中12345分别表示“一声”、“二声”、“三声”、“四声”、“轻声”。
进一步地,可以利用上述的排序规则确定拼音信息中包含的字母和的声调的序号,例如:在“我”字中,“w”的序号为23,“o”的序号为15,“三声”的序号为29,同理“爱”字中“a”的序号为1、“i”的序号为9、“四声”的序号为30。然后,根据字母和的声调的序号确定与文字对应的第二发音特征信息,第二发音特征信息例如可以是向量形式。例如:以上述的“我”和“爱”字为例,“我”字对应的第二发音特征信息为[23,15,29],“爱”字对应的第二发音特征信息为[1,9,30]。最后,依次将文字序列中的文字对应的第二发音特征信息进行拼接,确定第一发音特征信息,即:将第二发音特征信息依次进行拼接,拼接后的信息为该第一发音特征信息,例如:“我”字对应的第二发音特征信息[23,15,29]与“爱”字对应的第二发音特征信息[1,9,30]拼接后得到的第一发音特征信息为[23,15,29,1,9,30]。从而通过这种方式,生成的第一发音特征信息可以与文字的拼音以及声调相关,因此可以使得最终合成的语音更加自然。
可选地,确定与目标语音信息对应的声纹特征向量的操作,包括:确定目标语音信息的MFCC特征;以及根据MFCC特征和预先训练的说话人识别模型,生成声纹特征向量。具体地,参照图3所示,确定与目标语音信息对应的声纹特征向量的操作过程中,首先确定目标语音信息的MFCC特征,然后将MFCC特征输入预先训练好的说话人识别模型,输出一个声纹特征向量。
可选地,该方法还包括:根据以下步骤训练语音合成模型:获取已完成质量检测的第一样本语音信息以及与第一样本语音信息对应的第一样本文本信息;确定第一样本语音信息的实际梅尔频谱特征;利用预先训练的说话人识别模型,生成与第一样本语音信息对应的输出声纹特征向量;利用语音合成模型中的编码器,生成与第一样本文本信息对应的输出发音特征向量;利用语音合成模型中的解码器,生成与拼接后的输出发音特征向量和输出声纹特征向量对应的输出梅尔频谱特征;以及将实际梅尔频谱特征和输出梅尔频谱特征进行比较,并根据比较的结果调节语音合成模型。
具体地,在进行语音合成之前还需要训练上述的语音合成模型。具体为,首先获取已完成质量检测的第一样本语音信息以及与第一样本语音信息对应的第一样本文本信息。其中,可以准备一份20000条的语料(对应于第一样本文本信息),语料覆盖所有的中文拼音,同时覆盖15万的常用词组,让录音人在录音棚对语料进行录制,同时安排质检人员对语料进行质量检测(例如,纠错检查),保证语料的准确性,从而得到已完成质量检测的第一样本语音信息。然后确定第一样本语音信息的实际梅尔频谱特征,作为训练该语音合成模型的目标数据。即,将获取到的第一样本语音信息转换生成对应的梅尔频谱特征,此处的梅尔频谱特征为已完成质量检测的第一样本语音信息的实际梅尔频谱特征。
进一步地,将第一样本语音信息输入已训练好的说话人识别模型,生成与第一样本文本信息对应的输出声纹特征向量(d-vector向量)。然后将第一样本文本信息传入语音合成模型中的编码器,生成与第一样本文本信息对应的输出发音特征向量。然后将输出发音特征向量和输出声纹特征向量进行拼接后一同传入语音合成模型中的解码器,生成一个输出梅尔频谱特征。最后将实际梅尔频谱特征和输出梅尔频谱特征进行比较,并根据比较的结果调节语音合成模型。其中,整个网络的损失函数是通过输出梅尔频谱特征和实际梅尔频谱特征进行比较而来的,通过将损失函数的梯度下降,来更新整个语音合成模型的参数,从而训练出一个单说话人的高质量的语音合成模型。从而,在本实施例中,通过引入说话人识别模型,将说话人模型输出与一份高质量的语音数据一起训出一个单说话人的高质量的语音合成模型。
可选地,该方法还包括:获取第二样本语音信息以及与第二样本语音信息对应的第二样本文本信息,其中第二样本语音信息为未进行质量检测的语音信息,并且第二样本语音信息的数据量小于第一样本语音信息的数据量;以及利用第二样本语音信息以及第二样本文本信息对语音合成模型进行迁移学习训练。
正如背景技术中所述的,目前在对端到端网络结构进行训练的过程中,需要进行大量录音数据的录制,短的需要8个小时的录音数据,长的需要12个小时的录音数据,这时如果业务方需要新增一个录音人,又要进行重复的录制工作,然后进行网络结构的训练。因此,训练端到端语音网络结构对录制量的需求非常大。
针对背景技术中存在的技术问题,在本实施例中,由于在语音合成的过程中,很好的引入说话人识别模型,并且语音合成模型是通过将说话人模型输出与一份高质量的语音数据一起训出来的,因此在新来说话人后,只需对语音合成模型进行部分网络结构的冻结,同时进行部分网络结构的微调,并添加新的loss值,从而达到快速收敛,加快训练速度,同时减少过拟合,生成出一个基于新说话人的新的高质量的语音合成模型。
具体为,首先获取第二样本语音信息以及与第二样本语音信息对应的第二样本文本信息。其中第二样本语音信息为新增样本数据,即新说话人的语音数据,未进行质量检测,并且第二样本语音信息的数据量小于第一样本语音信息的数据量。例如:参照上述的,第一样本语音信息为录音人在录音棚对一份20000条的、同时覆盖所有的中文拼音和15万的常用词组的语料,而第二样本语音信息可以为大概只有三十分钟左右的少量音频数据,且不需要进行质量检测,第二样本文本信息同为少量的与第二样本语音信息对应的文本数据。
在这样的少量的第二样本语音信息和对应的第二样本文本信息的情况下,可以先将第二样本语音信息传入已经训练好的说话人模型,生成一个d-vector向量。然后将第二样本文本信息传入语音合成模型进行训练,这里训练不是重新进行训练,是在上述训练好的网络结构上进行迁移学习训练。此时的训练方法是,将第二样本文本信息传入到Encoder网络结构中,通过上述训练好的的模型参数直接输出一个表示结构,此时Encoder网络结构中的参数不会更新,再将第二样本语音信息的d-vector向量与这个表示结构进行拼接,传入Decoder网络结构进行训练,这里Decoder网络结构的参数初始化为上述训练好的Decoder网络结构参数,开始进行语音合成模型参数微调训练,参数会随训练过程中进行更新。其中,这里训练的loss值同时加入d-vector向量的相似度对比值,既生成的合成语音的d-vector向量与训练数据(即,第二样本语音信息)的d-vector向量的相似度,当loss值收敛后,停止训练,一个基于新说话人的语音合成模型训练完成。
从而,通过这种方式,在新来说话人后,只需对语音合成模型进行部分网络结构的冻结,同时进行部分网络结构的微调,并添加新的loss值,从而达到快速收敛,加快训练速度,同时减少过拟合,生成出一个基于新说话人的新的高质量的语音合成模型。达到了在新来说话人后,只需对模型进行简单的迁移和微调,进行快速的训练,生成出一个基于新说话人的新的语音合成模型的技术效果。进而解决了现有技术中存在的训练端到端语音网络结构对录制量的需求非常大的技术问题。
可选地,该方法还包括:根据以下步骤训练说话人识别模型:获取多个音频数据,其中多个音频数据分别为多个不同说话人的音频数据;确定与多个音频数据对应的多个MFCC特征;利用说话人识别模型和多个MFCC特征,确定与多个音频数据分别对应的多个输出声纹特征向量;对多个输出声纹特征向量进行两两比较,并根据比较的结果判定与进行比较的输出声纹特征向量对应的音频数据是否为同一说话人的音频数据;以及根据判定的输出结果和预设的实际结果,调节说话人识别模型。
在本实施例中,还需要对说话人识别模型进行训练,具体为,首先获取多个音频数据,其中多个音频数据分别为多个不同说话人的音频数据。例如:准备大量说话人数据,这里对说话人的数据的准备方式可以采用大量的开源数据,或者通过视频、电视、电影中的配音数据,整合在一起,大概需要2000个以上的说话人,这里只需要音频数据,不需要文本,所以对数据的要求比较低,数据比较容易获得。
进一步地,确定与多个音频数据对应的多个MFCC特征。即,在本实施例中,说话人模型模型的输入是音频的MFCC特征,训练完成后,输出的是音频的d-vector特征。这里判断两个人是否为同一说话人的方法是,例如,传入A和B的声音进入说话人识别模型,输出Ad-vector向量和Bd-vector向量,然后通过比较两个向量的相似度,并根据比较的结果判定与进行比较的输出声纹特征向量对应的音频数据是否为同一说话人的音频数据。例如,当相似度大于0.7(这里的0.7是一个经验值,一般大于0.7则两个说话人的声音较为相似)时则判断两个声音为同一个说话人,否则不是同一个人说话人。
此外,以下示出了对语音合成模型和说话人识别模型进行训练的完整流程:
1)准备大量说话人数据,这里对说话人的数据的准备方式可以采用大量的开源数据,或者通过视频,电视,电影中的配音数据,整合在一起,大概需要2000个以上的说话人,这里只需要音频数据,不需要文本,所以对数据的要求比较低,数据比较容易获得。
2)将数据传入说话人模型进行训练,这里说话人模型模型的输入是音频的mfcc特征,训练完成后,输出的音频的d-vector特征。这里判断两个人是否为同一说话人的方法是,例如,传入A,B的声音进入说话人识别模型,输出Ad-vector向量,Bd-vector向量。通过比较两个向量的相似度,当相似度大于0.7(这里的0.7是一个经验值,一般大于0.7则两个说话人的声音较为相似)则判断两个声音为同一个说话人,否则不是同一个人说话人。
3)准备一份20000条的语料,语料覆盖所有的中文拼音,同时覆盖15万的常用词组,让录音人在录音棚对语料进行录制,同时安排质检人员对语料进行纠错检查,保证语料的准确性。
4)将录制好的文本,转换成拼音,在通过abcdefghijklmnopqrsuvwsyz12345这26个字母外加5个音调的索引,换成一个向量,比如‘爱’字的拼音是“ai4”4是声调,向量就是[1,9,30],将音频转换成梅尔频谱,当做训练的target(目标)数据,同时将一条音频传入之前训练好的说话人识别模型,生成出一个d-vector(声纹特征)向量,将文本传入encoder-decoder模型进行训练,这里将d-vector向量,拼接在encoder输出的表示向量上,一起传入decoder模型进行训练,训练完成后一个单说话人的网络结构训练完成。
5)这时,又来了一个说话人C,大概只有几十分钟的少少量数据和文本,此时先将C的声音传入说话人识别模型,生成出一个d-vector,然后将少量数据对应的文本,通过步骤4)的方法传入encoder-decoder网络结构进行训练,这里训练不是重新进行训练,是在步骤4)训练好的网络结构上进行迁移学习训练。此时的训练方法是,将文本传入到encoder结构中,通过步骤4)训练好的的模型参数直接输出一个表示结构,此时encoder结构中的参数不会更新,再将说话人C的d-vector与这个表示结构进行拼接,传入decoder进行训练,这里decoder网络结构的参数初始化为步骤4)训练好的decoder模型参数,开始进行模型参数微调训练,参数会随训练过程中进行更新,这里训练的loss值同时加入d-vector的相似度对比值,既生成的录音的d-vector与训练数据的d-vector的相似度,当loss值收敛后,停止训练,一个基于说话人C的语音合成模型训练完成。
从而,本专申请通过引入说话人识别模型,将说话人模型输出与一份高质量的语音数据一起训出一个单说话人的高质量语音合成模型,在新来说话人后,只需对模型进行简单的迁移和微调,进行快速的训练,生成出一个基于新说话人的新的语音合成模型。从而,快速解决只有少量样本,同时需要一个高质量的语音合成模型的需求。
综上所述,本发明达到了以下所述的技术效果:
1)通过引入说话人识别模型,将说话人模型输出与一份高质量的语音数据一起训出一个单说话人的高质量语音合成模型。
2)在新来说话人后,只需对模型进行部分网络结构的冻结,同时进行部分网络结构的微调,并添加新的loss值,从而达到快速收敛,加快训练速度,同时减少过拟合,生成出一个基于新说话人的新的高质量的语音合成模型。
此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质。存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图5示出了根据本实施例所述的语音合成的装置500,该装置500与根据实施例1的第一个方面所述的方法相对应。参考图5所示,该装置500包括:获取模块510,用于获取用于语音合成的目标文本信息和与目标文本信息对应的目标语音信息;确定模块520,用于确定与目标语音信息对应的声纹特征向量;以及生成模块530,用于根据目标文本信息、声纹特征向量以及预先训练的语音合成模型,生成梅尔频谱特征,并根据梅尔频谱特征确定目标合成语音。
可选地,预先训练的语音合成模型包括编码器和解码器,并且生成模块530包括:第一生成子模块,用于根据目标文本信息和编码器,生成发音特征向量;拼接子模块,用于将声纹特征向量和发音特征向量进行拼接;以及第二生成子模块,用于利用解码器对拼接后的声纹特征向量和发音特征向量进行计算,生成梅尔频谱特征。
可选地,第一生成子模块包括:第一确定单元,用于确定与目标文本信息的发音特征对应的第一发音特征信息;以及第二确定单元,用于利用编码器对第一发音特征信息进行计算,确定发音特征向量。
可选地,第一确定单元包括:第一确定子单元,用于确定目标文本信息包含的文字序列;第二确定子单元,用于依次确定文字序列中的文字对应的拼音信息,其中拼音信息包括拼音的字母以及文字的声调;第三确定子单元,用于利用预设的排序规则确定拼音信息中包含的字母和声调的序号,其中排序规则用于描述二十六个英文字母和五个音调的顺序;以及第四确定子单元,用于根据字母和声调的序号分别确定与文字序列中的文字对应的第二发音特征信息,并依次将文字序列中的文字对应的第二发音特征信息进行拼接,确定第一发音特征信息。
可选地,确定模块520包括:第一确定子模块,用于确定目标语音信息的MFCC特征;以及第三生成子模块,用于根据MFCC特征和预先训练的说话人识别模型,生成声纹特征向量。
可选地,装置500还包括:第一训练模块,用于训练语音合成模型,并且第一训练模块包括:第一获取子模块,用于获取已完成质量检测的第一样本语音信息以及与第一样本语音信息对应的第一样本文本信息;第二确定子模块,用于确定第一样本语音信息的实际梅尔频谱特征;第四生成子模块,用于利用预先训练的说话人识别模型,生成与第一样本语音信息对应的输出声纹特征向量;第五生成子模块,用于利用语音合成模型中的编码器,生成与第一样本文本信息对应的输出发音特征向量;第六生成子模块,用于利用语音合成模型中的解码器,生成与拼接后的输出发音特征向量和输出声纹特征向量对应的输出梅尔频谱特征;以及第一比较模块,用于将实际梅尔频谱特征和输出梅尔频谱特征进行比较,并根据比较的结果调节语音合成模型。
可选地,第一训练模块还包括:第二获取子模块,用于获取第二样本语音信息以及与第二样本语音信息对应的第二样本文本信息,其中第二样本语音信息为未进行质量检测的语音信息,并且第二样本语音信息的数据量小于第一样本语音信息的数据量;以及迁移学习训练子模块,用于利用第二样本语音信息以及第二样本文本信息对语音合成模型进行迁移学习训练。
可选地,装置500还包括:第二训练模块,用于训练说话人识别模型,并且第二训练模块包括:第三获取子模块,用于获取多个音频数据,其中多个音频数据分别为多个不同说话人的音频数据;第三确定子模块,用于确定与多个音频数据对应的多个MFCC特征;第四确定子模块,用于利用说话人识别模型和多个MFCC特征,确定与多个音频数据分别对应的多个输出声纹特征向量;第二比较子模块,用于对多个输出声纹特征向量进行两两比较,并根据比较的结果判定与进行比较的输出声纹特征向量对应的音频数据是否为同一说话人的音频数据;以及调节子模块,用于根据判定的输出结果和预设的实际结果,调节说话人识别模型。
从而根据本实施例,不再是仅仅将目标文本信息传入语音合成模型,而是根据与该目标文本信息对应的目标语音信息确定声纹特征向量,然后将目标文本信息和声纹特征向量一同传入语音合成模型,并根据语音合成模型输出的梅尔频谱特征确定目标合成语音。从而,很好地引入声纹特征向量,大大提高了所确定的目标合成语音的质量。并且,通过引入说话人识别模型,将说话人模型输出与一份高质量的语音数据一起训出一个单说话人的高质量语音合成模型,在新来说话人后,只需对模型进行简单的迁移和微调,进行快速的训练,生成出一个基于新说话人的新的语音合成模型。从而,快速解决只有少量样本,同时需要一个高质量的语音合成模型的需求。进而解决了现有技术中存在的直接使用端到端网络结构来合成语音的方式,由于不做任何处理,只有文本到语音的转换,从而导致所合成的语音质量差,并且训练端到端语音网络结构对录制量的需求非常大的技术问题。
实施例3
图6示出了根据本实施例所述的语音合成的装置600,该装置600与根据实施例1的第一个方面所述的方法相对应。参考图6所示,该装置600包括:处理器610;以及存储器620,与处理器610连接,用于为处理器610提供处理以下处理步骤的指令:获取用于语音合成的目标文本信息和与目标文本信息对应的目标语音信息;确定与目标语音信息对应的声纹特征向量;以及根据目标文本信息、声纹特征向量以及预先训练的语音合成模型,生成梅尔频谱特征,并根据梅尔频谱特征确定目标合成语音。
可选地,预先训练的语音合成模型包括编码器和解码器,并且根据目标文本信息、声纹特征向量以及预先训练的语音合成模型,生成梅尔频谱特征的操作,包括:根据目标文本信息和编码器,生成发音特征向量;将声纹特征向量和发音特征向量进行拼接;以及利用解码器对拼接后的声纹特征向量和发音特征向量进行计算,生成梅尔频谱特征。
可选地,根据目标文本信息和编码器,生成发音特征向量的操作,包括:确定与目标文本信息的发音特征对应的第一发音特征信息;以及利用编码器对第一发音特征信息进行计算,确定发音特征向量。
可选地,确定与目标文本信息的发音特征对应的第一发音特征信息的操作,包括:确定目标文本信息包含的文字序列;依次确定文字序列中的文字对应的拼音信息,其中拼音信息包括拼音的字母以及文字的声调;利用预设的排序规则确定拼音信息中包含的字母和声调的序号,其中排序规则用于描述二十六个英文字母和五个音调的顺序;以及根据字母和声调的序号分别确定与文字序列中的文字对应的第二发音特征信息,并依次将文字序列中的文字对应的第二发音特征信息进行拼接,确定第一发音特征信息。
可选地,确定与目标语音信息对应的声纹特征向量的操作,包括:确定目标语音信息的MFCC特征;以及根据MFCC特征和预先训练的说话人识别模型,生成声纹特征向量。
可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:根据以下步骤训练语音合成模型:获取已完成质量检测的第一样本语音信息以及与第一样本语音信息对应的第一样本文本信息;确定第一样本语音信息的实际梅尔频谱特征;利用预先训练的说话人识别模型,生成与第一样本语音信息对应的输出声纹特征向量;利用语音合成模型中的编码器,生成与第一样本文本信息对应的输出发音特征向量;利用语音合成模型中的解码器,生成与拼接后的输出发音特征向量和输出声纹特征向量对应的输出梅尔频谱特征;以及将实际梅尔频谱特征和输出梅尔频谱特征进行比较,并根据比较的结果调节语音合成模型。
可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:获取第二样本语音信息以及与第二样本语音信息对应的第二样本文本信息,其中第二样本语音信息为未进行质量检测的语音信息,并且第二样本语音信息的数据量小于第一样本语音信息的数据量;以及利用第二样本语音信息以及第二样本文本信息对语音合成模型进行迁移学习训练。
可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:根据以下步骤训练说话人识别模型:获取多个音频数据,其中多个音频数据分别为多个不同说话人的音频数据;确定与多个音频数据对应的多个MFCC特征;利用说话人识别模型和多个MFCC特征,确定与多个音频数据分别对应的多个输出声纹特征向量;对多个输出声纹特征向量进行两两比较,并根据比较的结果判定与进行比较的输出声纹特征向量对应的音频数据是否为同一说话人的音频数据;以及根据判定的输出结果和预设的实际结果,调节说话人识别模型。
从而根据本实施例,不再是仅仅将目标文本信息传入语音合成模型,而是根据与该目标文本信息对应的目标语音信息确定声纹特征向量,然后将目标文本信息和声纹特征向量一同传入语音合成模型,并根据语音合成模型输出的梅尔频谱特征确定目标合成语音。从而,很好地引入声纹特征向量,大大提高了所确定的目标合成语音的质量。并且,通过引入说话人识别模型,将说话人模型输出与一份高质量的语音数据一起训出一个单说话人的高质量语音合成模型,在新来说话人后,只需对模型进行简单的迁移和微调,进行快速的训练,生成出一个基于新说话人的新的语音合成模型。从而,快速解决只有少量样本,同时需要一个高质量的语音合成模型的需求。进而解决了现有技术中存在的直接使用端到端网络结构来合成语音的方式,由于不做任何处理,只有文本到语音的转换,从而导致所合成的语音质量差,并且训练端到端语音网络结构对录制量的需求非常大的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种语音合成的方法,其特征在于,包括:
获取用于语音合成的目标文本信息和与所述目标文本信息对应的目标语音信息;
确定与所述目标语音信息对应的声纹特征向量;以及
根据所述目标文本信息、所述声纹特征向量以及预先训练的语音合成模型,生成梅尔频谱特征,并根据所述梅尔频谱特征确定目标合成语音。
2.根据权利要求1所述的方法,其特征在于,所述预先训练的语音合成模型包括编码器和解码器,并且根据所述目标文本信息、所述声纹特征向量以及预先训练的语音合成模型,生成梅尔频谱特征的操作,包括:
根据所述目标文本信息和所述编码器,生成发音特征向量;
将所述声纹特征向量和所述发音特征向量进行拼接;以及
利用所述解码器对拼接后的所述声纹特征向量和所述发音特征向量进行计算,生成所述梅尔频谱特征。
3.根据权利要求2所述的方法,其特征在于,根据所述目标文本信息和所述编码器,生成发音特征向量的操作,包括:
确定与所述目标文本信息的发音特征对应的第一发音特征信息;以及
利用所述编码器对所述第一发音特征信息进行计算,确定所述发音特征向量。
4.根据权利要求3所述的方法,其特征在于,确定与所述目标文本信息的发音特征对应的第一发音特征信息的操作,包括:
确定所述目标文本信息包含的文字序列;
依次确定所述文字序列中的文字对应的拼音信息,其中所述拼音信息包括拼音的字母以及所述文字的声调;
利用预设的排序规则确定所述拼音信息中包含的所述字母和所述声调的序号,其中所述排序规则用于描述二十六个英文字母和五个音调的顺序;以及
根据所述字母和所述声调的序号分别确定与所述文字序列中的文字对应的第二发音特征信息,并依次将所述文字序列中的文字对应的第二发音特征信息进行拼接,确定所述第一发音特征信息。
5.根据权利要求1所述的方法,其特征在于,确定与所述目标语音信息对应的声纹特征向量的操作,包括:
确定所述目标语音信息的MFCC特征;以及
根据所述MFCC特征和预先训练的说话人识别模型,生成所述声纹特征向量。
6.根据权利要求1所述的方法,其特征在于,还包括:根据以下步骤训练所述语音合成模型:
获取已完成质量检测的第一样本语音信息以及与所述第一样本语音信息对应的第一样本文本信息;
确定所述第一样本语音信息的实际梅尔频谱特征;
利用预先训练的说话人识别模型,生成与所述第一样本语音信息对应的输出声纹特征向量;
利用所述语音合成模型中的编码器,生成与所述第一样本文本信息对应的输出发音特征向量;
利用所述语音合成模型中的解码器,生成与拼接后的所述输出发音特征向量和所述输出声纹特征向量对应的输出梅尔频谱特征;以及
将所述实际梅尔频谱特征和所述输出梅尔频谱特征进行比较,并根据比较的结果调节所述语音合成模型。
7.根据权利要求6所述的方法,其特征在于,还包括:
获取第二样本语音信息以及与所述第二样本语音信息对应的第二样本文本信息,其中所述第二样本语音信息为未进行质量检测的语音信息,并且所述第二样本语音信息的数据量小于所述第一样本语音信息的数据量;以及
利用所述第二样本语音信息以及所述第二样本文本信息对所述语音合成模型进行迁移学习训练。
8.根据权利要求5所述的方法,其特征在于,还包括:根据以下步骤训练所述说话人识别模型:
获取多个音频数据,其中所述多个音频数据分别为多个不同说话人的音频数据;
确定与所述多个音频数据对应的多个MFCC特征;
利用所述说话人识别模型和所述多个MFCC特征,确定与所述多个音频数据分别对应的多个输出声纹特征向量;
对所述多个输出声纹特征向量进行两两比较,并根据比较的结果判定与进行比较的输出声纹特征向量对应的音频数据是否为同一说话人的音频数据;以及
根据所述判定的输出结果和预设的实际结果,调节所述说话人识别模型。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行权利要求1至8中任意一项所述的方法。
10.一种语音合成的装置,其特征在于,包括:
获取模块,用于获取用于语音合成的目标文本信息和与所述目标文本信息对应的目标语音信息;
确定模块,用于确定与所述目标语音信息对应的声纹特征向量;以及
生成模块,用于根据所述目标文本信息、所述声纹特征向量以及预先训练的语音合成模型,生成梅尔频谱特征,并根据所述梅尔频谱特征确定目标合成语音。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010988010.6A CN114283777A (zh) | 2020-09-18 | 2020-09-18 | 语音合成的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010988010.6A CN114283777A (zh) | 2020-09-18 | 2020-09-18 | 语音合成的方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114283777A true CN114283777A (zh) | 2022-04-05 |
Family
ID=80867431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010988010.6A Pending CN114283777A (zh) | 2020-09-18 | 2020-09-18 | 语音合成的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114283777A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115240630A (zh) * | 2022-07-22 | 2022-10-25 | 山东大学 | 一种中文文本到个性化语音转换方法及系统 |
CN116825081A (zh) * | 2023-08-25 | 2023-09-29 | 摩尔线程智能科技(北京)有限责任公司 | 基于小样本学习的语音合成方法、装置及存储介质 |
-
2020
- 2020-09-18 CN CN202010988010.6A patent/CN114283777A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115240630A (zh) * | 2022-07-22 | 2022-10-25 | 山东大学 | 一种中文文本到个性化语音转换方法及系统 |
CN115240630B (zh) * | 2022-07-22 | 2024-07-30 | 山东大学 | 一种中文文本到个性化语音转换方法及系统 |
CN116825081A (zh) * | 2023-08-25 | 2023-09-29 | 摩尔线程智能科技(北京)有限责任公司 | 基于小样本学习的语音合成方法、装置及存储介质 |
CN116825081B (zh) * | 2023-08-25 | 2023-11-21 | 摩尔线程智能科技(北京)有限责任公司 | 基于小样本学习的语音合成方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112735373B (zh) | 语音合成方法、装置、设备及存储介质 | |
CN109767752B (zh) | 一种基于注意力机制的语音合成方法及装置 | |
Le et al. | Deep shallow fusion for RNN-T personalization | |
CN111583900B (zh) | 歌曲合成方法、装置、可读介质及电子设备 | |
CN110797016B (zh) | 一种语音识别方法、装置、电子设备及存储介质 | |
US7596499B2 (en) | Multilingual text-to-speech system with limited resources | |
CN111369971B (zh) | 语音合成方法、装置、存储介质和电子设备 | |
US20230317055A1 (en) | Method, apparatus, storage medium and electronic device for speech synthesis | |
CN112580335B (zh) | 多音字消歧方法及装置 | |
CN111292719A (zh) | 语音合成方法、装置、计算机可读介质及电子设备 | |
CN112927674A (zh) | 语音风格的迁移方法、装置、可读介质和电子设备 | |
CN113205793B (zh) | 音频生成方法、装置、存储介质及电子设备 | |
CN111930900B (zh) | 标准发音生成方法及相关装置 | |
CN112331176A (zh) | 语音合成方法、装置、存储介质及电子设备 | |
CN111916062B (zh) | 语音识别方法、装置和系统 | |
CN114283777A (zh) | 语音合成的方法、装置及存储介质 | |
CN112185363A (zh) | 音频处理方法及装置 | |
CN114582317A (zh) | 语音合成方法、声学模型的训练方法及装置 | |
CN111383627A (zh) | 一种语音数据处理方法、装置、设备及介质 | |
CN111357049A (zh) | 自动语音识别装置及方法 | |
CN113450760A (zh) | 一种文本转语音的方法、装置及电子设备 | |
CN110930977B (zh) | 一种数据处理方法、装置和电子设备 | |
CN112133285A (zh) | 语音识别方法、装置、存储介质和电子设备 | |
CN114242035A (zh) | 语音合成方法、装置、介质以及电子设备 | |
CN113192484B (zh) | 基于文本生成音频的方法、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |