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

基于神经网络的语音克隆方法、系统、设备及存储介质与流程

2021-01-28 12:01:18|223|起点商标网
基于神经网络的语音克隆方法、系统、设备及存储介质与流程

本发明涉及语音克隆,尤其涉及一种基于神经网络的端到端的语音克隆方法、系统、设备及存储介质。



背景技术:

使用外呼系统生成自然语言代替工作人员进行呼叫可以节省大量人力资源,不分时段,质量稳定且不会产生任何负面情绪,对依赖语音播报的服务型企业有优势。在使用外呼系统前通常需要提前录制1000条到2万条不等的音频,时长也在两小时到十几个小时之间,这不仅会占用录音者(即被模仿者)大量的时间,而且对于质检人员来说也极其耗费精力,训练一个模型花费的时间及人力成本极高。并且,现有的语音合成系统无法在短时间内合成不同被模仿者的声音,缺乏特色和亲和力。



技术实现要素:

针对现有技术中的问题,本发明的目的在于提供一种基于神经网络的语音克隆方法、系统、设备及存储介质,通过构建学习网络,训练模型,利用较少语料即可学习不同被模仿者的声音,进而将文本信息转换为语音信息,进行相关场景的外呼语音播报。

本发明实施例提供一种基于神经网络的语音克隆方法,包括如下步骤:

将各训练者的训练文本进行处理获取训练文本向量,录制与所述训练文本对应的训练音频,将所述训练音频处理获取梅尔谱特征;

构建并训练特征提取模型,建立声音特征向量,生成训练者嵌入向量以对各所述训练者进行区分;

建立基于神经网络的声学模型,将所述训练文本向量和所述梅尔谱特征输入所述声学模型进行训练,所述声学模型包括编码器和解码器,在所述编码器的输出端拼接所述训练者嵌入向量后输入所述解码器;

将录制好的目标被模仿人的音频语料以及目标文字输入已训练完成的所述特征提取模型和所述声学模型,输出与所述目标文本对齐的梅尔谱特征;

将所述声学模型输出的梅尔谱特征输入声码器,合成对应的音频信息。

可选的,构建并训练所述特征提取模型,包括如下步骤:

建立基于神经网络的所述特征提取模型;

将所述训练音频输入所述特征提取模型;

提取所述训练音频中的每一个音素,在向量空间中对应唯一的所述声音特征向量;

通过所述训练者嵌入向量检验所述特征提取模型。

可选的,通过所述训练者嵌入向量检验所述特征提取模型的方法,包括获取与每个所述训练音频相对应的所述训练者嵌入向量,计算所述训练者嵌入向量之间的距离,以区分多个所述训练者,若效果达到标准,则将所述训练者嵌入向量与所述编码器向拼接。

可选的,区分多个所述训练者的标准包括:

所述训练者嵌入向量的逸出值的比例小于x时,各所述训练者之间可以被区分,所述逸出值的比例大于x时,所述训练者之间不可以被区分,x取值的范围为4%至8%。

可选的,计算所述训练者嵌入向量之间的距离包括如下步骤:

提取所述训练音频在经过运用卷积神经网络的编码器的前后特征,通过定义损失函数,并使用t-sne的降维可视化方法使得高维的所述训练者嵌入向量以数据点的形式投影到二维的空间,统计所述数据点之间的距离。

可选的,定义所述损失函数的过程包括:

依据p范数以及皮尔逊相关系数约束,使同一所述训练者的所述训练者嵌入向量之间的距离近,不同所述训练者的所述训练者嵌入向量之间的距离远。

可选的,对所述训练文本处理包括如下步骤:

对所述训练文本进行正则化处理,删除中文和英文以外的文字;

删除逗号、句号和问号以外的标点符号,将标点符号转换为英文;

将阿拉伯数字转换为中文大写数字;

将中文文本转换为拼音文本;

将所述拼音文本中的音素转换为对应的字典索引,获取所述训练文本向量。

可选的,训练所述声学模型的过程包括如下步骤:

将所述训练音频的所述梅尔谱特征和所述训练文本向量输入seq2seq模型中;

生成所述训练文本向量和所述梅尔谱特征之间的对齐关系。

可选的,所述声码器使用生成对抗网络模型训练,将所述梅尔谱特征转换为真实的音频。

可选的,本发明实施例提供一种基于神经网络的语音克隆系统,应用于上述任一项语音克隆方法,所述系统包括:

前端处理模块,用于对所述训练文本和所述训练音频进行处理,获取所述训练文本向量和所述梅尔谱特征;

特征提取模块,用于提取所述训练音频中不同的声音特征,以及建立用以区分不同所述训练者的所述训练者嵌入向量;

声学模块,用于建立基于神经网络的声学模型,并学习不同所述训练者的所述训练文本与所述训练音频之间的对齐关系;

声码器模块,用于将所述梅尔谱特征转换为真实的音频,所述声码器模块使用生成对抗网络模型进行训练。

本发明实施例还提供一种基于神经网络的语音克隆设备,包括:

处理器;

存储器,其中存储有所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行所述的基于神经网络的语音克隆方法的步骤。

本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现所述的基于神经网络的语音克隆方法的步骤。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开技术方案要求保护的范围。

本发明的基于神经网络的语音克隆方法、系统、设备及存储介质具有如下有益效果:

本发明的语音克隆方法具备区分不同被模仿者的能力,仅需几分钟的音频学习即能模仿被模仿者的音色,并且处理大量数据时处理效率更高,训练次数相同时效果更好,减少了录制音频所花费的大量人力物力,合成的语音效果较好。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。

图1是本发明一实施例的基于神经网络的语音克隆方法的流程图;

图2是本发明一实施例的基于神经网络的语音克隆方法的逻辑示意图;

图3是本发明一实施例的基于神经网络的语音克隆方法的具体逻辑示意图;

图4是本发明一实施例的基于神经网络的语音克隆系统的流程图;

图5是本发明一实施例的基于神经网络的语音克隆设备的结构示意图;

图6是本发明一实施例的计算机可读存储介质的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

如图1所示,本发明实施例提供一种基于神经网络的语音克隆方法,包括如下步骤:

s100:将各训练者的训练文本进行处理获取训练文本向量,录制与训练文本对应的训练音频,将训练音频处理获取梅尔谱特征;

s200:构建并训练特征提取模型,建立声音特征向量,生成训练者嵌入向量以对各训练者进行区分;

s300:建立基于神经网络的声学模型,将训练文本向量和梅尔谱特征输入声学模型进行训练,声学模型包括编码器和解码器,在编码器的输出端拼接训练者嵌入向量后输入解码器;

s400:将录制好的目标被模仿人的音频语料以及目标文字输入已训练完成的特征提取模型和声学模型,输出与目标文本对齐的梅尔谱特征;

s500:将声学模型输出的梅尔谱特征输入声码器,合成对应的音频信息。

该实施例的方法中,每个步骤的序号仅为区分各个步骤,而不作为各个步骤的具体执行顺序的限定,上述各个步骤之间的执行顺序可以根据需要调整改变。

如图1所示,本发明的语音克隆方法大致可分为训练部分和克隆部分。训练部分又可分为s100获取文本向量及音频的梅尔谱特征、s200构建并训练特征提取模型、s300建立基于神经网络的声学模型。克隆部分包括s400主要将录制好的目标训练者的音频语料以及目标文字输入已训练完成的特征提取模型和声学模型,输出与目标文本对齐的梅尔谱特征、s500将声学模型输出的梅尔谱特征输入声码器,合成对应的音频信息。各步骤具体包括:

s100、如图2所示,包括文字处理和音频处理。文字处理具体为将训练文本信息进行正则化处理,去除乱码的字符以及非特定的标点符号等,并且将中文字符替换成对应的拼音字符;阿拉伯数字在不同的场景中的发音也略有不同,因此需要根据实际情况将阿拉伯数字转为正确的汉字,如:“手机尾号为6158”应转为“手机尾号为六幺五八”,“时间是20:20”应转为“时间为二十点二十分”;根据nlp(naturallangprocessing)的分词算法,结合不同场景进行分词,nlp的首要任务是将文本内容做tokenization(标识化)处理,也就是说将文本分割成一个个音素;最后将经过上述处理的汉字音素转为拼音,比如“携程旅行网是上海的公司”转为“xie2cheng2lv3xing2wang3shi4shang4hai3de5gong1si1”,并将拼音里的每个音素,经过一个全连接层,建立文本音素和文本向量之间的映射关系,将输入的文本转为模型能够利用的向量。

在另一实施例中,录制与训练文本对应的训练音频的数据集来自酒店客服与客人之间的通话音频,约有二十万条。数据集的训练文本是从酒店客服与商家的通话记录中提取并标注,由多位专门的人工客服经过培训后去录音棚录制,总共录制了40000条16khz的音频,音频总时长约为40小时。对训练音频进行预处理,获取每一条音频对应的梅尔谱特征。

s200、如图3所示,特征提取提取不同的训练者的音色、说话习惯等信息,将其保存到对应的嵌入向量中。训练者特征提取模块是利用多层卷积神经网络(cnn)以及全连接层进行神经网络模型的构建,利用cnn提取音频的前后特征,通过合理定义损失(loss)函数使相同训练者音频距离之间近,不同训练者音频距离之间远,为了验证模型效果,将验证集的音频经过训练者特征提取模块得到对应的训练者嵌入向量(speakerembedding),通过t-sne降维可视化的方法检验模型,区分不同训练者的speakerembedding,将相同训练者的speakerembedding聚拢,不同训练者的speakerembedding分开。t-sne是一种用于挖掘高维数据的非线性降维算法。它将多维数据映射到适合于人类观察的两个或多个维度。如图3所示,高维度的speakerembedding通过t-sne映射到一个两维空间,每个speakerembedding成为坐标轴上的一个圆点。

在本发明的一实施例中,训练者特征提取模型的训练使用了英伟达生产的nvidia-v100gpu对40000条音频进行训练,将batchsize设置为64,训练时将音频作为输入送入模型,经过多层cnn以及全连接网络提取特征,总共训练五十万次,在训练模型达到预期效果后,需要将训练多训练者的40000条音频送入模型进行推断,得到每条音频的speakerembedding,并通过t-sne的降维可视化方法检验效果,将speakerembedding作为声学模型的部分训练数据。

s300、建立基于神经网络的声学模型,将训练文本向量和梅尔谱特征输入声学模型进行训练,声学模型包括编码器和解码器,在编码器的输出端拼接speakerembedding后输入解码器。

在本发明一实施例中,声学模型使用多层cnn、双向长短期记忆(longshort-termmemory或lstm)以及全连接层等建立了神经网络,其主体结构为seq2seq的编码器和解码器(encoder-decoder)框架。在训练声学模型时,将s100得到梅尔谱特征以及文本向量送入seq2seq编码器的模型中训练,为了使模型能够建立其各个训练者的文本与声学特征之间的对其关系,特意加入了注意力机制,除此之外,为了训练多个训练者的声学模型(使模型能够说出不同人声),在编码器的输出端又拼接了各音频经过上述特征提取模块所得到的speakerembedding。在一可选的实施例中,经历了六十万次训练,模型的loss基本收敛,文本音素和梅尔谱特征对齐。其他的实施例中,s300也可以选择不同的训练次数,次数越多,模型的收敛情况越好,后续克隆部分需要录制的音频也相应的减少。

s400、将录制好的目标被模仿人的音频语料以及目标文字输入已训练完成的特征提取模型和声学模型,输出与目标文本对齐的梅尔谱特征。

s500、将声学模型输出的梅尔谱特征输入声码器,合成对应的音频信息。在本发明的一实施例中,声码器通过melgan将梅尔谱特征生成音频。具体地,可通过信号处理方式(比如tacotron中使用的griffin-lim算法,char2wav中使用的world声码器),自回归网络(比如wavenet,simplernn,wavernn)或非自回归网络方式(比如parallelwavenet,clarinet,waveglow)。melgan是一种非自回归前馈卷积架构,在没有额外的感知损失的引入下仍能产生高质量的语音合成模型。melgan的速度明显快于其他梅尔谱特征转换到音频的方法,且音频质量没有明显下降。

本发明的另一种实施例中,通过speakerembedding检验特征提取模型的方法,包括获取与每个训练音频相对应的speakerembedding,计算speakerembedding之间的距离,以区分多个训练者,若效果达到标准,则将speakerembedding与编码器向拼接。

进一步地,定义一个阈值,当speakerembedding的逸出值的比例小于该阈值时,各训练者之间可以被区分,逸出值的比例大于该阈值时,训练者之间不可以被区分。在一个可选的实施例中,取值的范围为4%至8%,并可以是4%、5%、6%、7%或8%中的任意一种。

更进一步地,计算speakerembedding之间的距离包括如下步骤:

提取训练音频在经过运用卷积神经网络的编码器的前后特征,通过定义损失函数,并使用t-sne的降维可视化方法使得高维的speakerembedding以数据点的形式投影到二维的空间,统计数据点在该二位空间上的直线距离。

在一优选的实施例中,定义上述损失函数的过程包括:

依据p范数以及皮尔逊相关系数约束,使同一训练者的speakerembedding之间的距离近,不同训练者的speakerembedding之间的距离远。损失函数具体定义如下:

其中xd为各元素减去其均值,i.e.xd=(x1-μx,x2-μx,...,xn-μx),yd为不同类别的中间点。

损失函数核心思想是类内间距最小,类间距离最大,通过范数以及皮尔逊相关系数约束使得类间距离最小,同时使得各点到其他类别的距离最大。

可选的,s100中针对训练文本的处理包括如下步骤:

对训练文本进行正则化处理,删除中文和英文以外的文字;删除逗号、句号和问号以外的标点符号,将标点符号转换为英文;将阿拉伯数字转换为中文大写数字;将中文文本转换为拼音文本;将拼音文本中的音素转换为对应的字典索引,获取训练文本向量。

可选的,训练声学模型的过程包括如下步骤:

将训练音频的梅尔谱特征和训练文本向量输入seq2seq模型中;生成训练文本向量和梅尔谱特征之间的对齐关系。

可选的,声码器使用生成对抗网络模型训练,将梅尔谱特征转换为真实的音频。

本发明提供一种基于神经网络的语音克隆系统,如图4所示,该排序系统包括:

前端处理模块,用于对训练文本和训练音频进行处理,获取训练文本向量和梅尔谱特征;

特征提取模块,用于提取训练音频中不同的声音特征,以及建立用以区分不同训练者的speakerembedding;

声学模块,用于建立基于神经网络的声学模型,并学习不同训练者的训练文本与训练音频之间的对齐关系;

声码器模块,用于将梅尔谱特征转换为真实的音频,声码器模块使用生成对抗网络模型进行训练。

本发明的基于神经网络的语音克隆系统中,各个模块的功能可以采用如上的基于神经网络的语音克隆方法的具体实施方式来实现,此处不予赘述。例如,前端处理模块m100可以采用步骤s100的具体实施方式来实现训练样本的获取;特征提取模块m200可以采用步骤s200的具体实施方式来实现训练优化;声学模块m300可以采用步骤s300的具体实施方式来对模型进行训练优化;将目标被模仿人的音频和文字输入特征提取模型和声学模型,输出梅尔谱特征由s100、s200、s300共同实现;声码器模块m400可以采用步骤s500的具体实施方式实现梅尔谱特征向音频的转化。

本发明还提供一种基于神经网络的语音克隆设备,其特征在于,包括:

处理器;

存储器,其中存储有处理器的可执行指令;

其中,处理器配置为经由执行可执行指令来执行任意一个实施例中基于基于神经网络的语音克隆方法的步骤。

下面参照图5来描述根据本发明的这种实施方式的电子设备600。图5显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图5所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。

其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述基于神经网络的语音克隆方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元610可以执行如图1中所示的步骤。

存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(rom)6203。

存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

本发明实施例还提供一种计算机可读存储介质,用于存储程序,程序被执行时实现的基于神经网络的语音克隆方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上执行时,程序代码用于使终端设备执行本说明书上述基于神经网络的语音克隆方法部分中描述的根据本发明各种示例性实施方式的步骤。

参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上执行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

综上所述,通过采用本发明的基于神经网络的语音克隆方法、系统、设备及存储介质,基于简单的线性模型,利用训练样本实现线性模型参数的自我迭代,在迭代的过程中对模型进行评价,并通过评价指标完成对模型的训练和优化,平行实现了排序方法对模型的优化与对模型的评价。本发明的排序方法在提升排序自适应学习能力、提升排序效果的同时,也具有很高的可解释性。用来构建模型的参数是显性的,克服了可解释性不佳的缺点,能清晰地反映推荐排序的逻辑依据。用户容易理解推荐的原理,产生更强的认同感,提升体验感和转化率。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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

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

tips