一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种语音转换方法、装置、电子设备和存储介质与流程

2021-07-02 21:13:00 来源:中国专利 TAG:电子设备 语音 装置 转换 计算机
一种语音转换方法、装置、电子设备和存储介质与流程

本发明涉及计算机技术领域,具体涉及一种语音转换方法、装置、电子设备和存储介质。



背景技术:

目前,有源说话人和目标说话人一定量的数据,训练转换模型;对输入的语音进行识别,得到文本,然后使用特定说话人的合成模型合成,得到转换后的语音。需要源说话人的训练数据,并且需要事先训练好转换模型;由于是使用特定说话人的合成模型合成得到转换语音,没有考虑源说话人的韵律信息,转换后的语音不能很好的体现源说话人的情感。



技术实现要素:

本发明提供一种语音转换方法、装置、电子设备和存储介质,能够解决上述不能很好的体现源说话人的情感的技术问题。

本发明解决上述技术问题的技术方案如下:

第一方面,本发明实施例提供了一种语音转换方法,应用于将源说话人语音转换为目标说话人语音,包括:

获取源说话人语音数据;

基于语音数据确定源说话人对应的语音文本和每个音素的时长;

从语音文本中获取第一音素表征;

从语音数据中获取第一帧级别的基频信息和第一帧级别的能量信息;基于所述第一帧级别的基频信息和第一帧级别的能量信息确定第一音素级别的基频信息和第一音素级别的能量信息;

将第一音素表征、每个音素的时长、第一音素级别的基频信息和第一音素级别的能量信息输入至目标端到端合成模型中,生成第一频谱参数;

将第一频谱参数输入至目标神经网络声码器模型中确定目标说话人语音。

在一些实施例中,目标端到端合成模型的训练步骤如下:

获取多个文本和多个语音对;

基于多个文本确定多个文本对应的第二音素表征和多个文本对应的每个音素的时长;

从多个语音中获取第二帧级别的基频信息和第二帧级别的能量信息;

基于第二帧级别的基频信息和第二帧级别的能量信息确定第二音素级别的基频信息和第二音素级别的能量信息;

从多个语音中提取第二频谱参数;

将第二音素表征、多个文本对应的每个音素的时长、第二音素级别的基频信息和能量信息作为输入,第二频谱参数作为输出,训练得到基础端到端合成模型;

将目标说话人对应的第三音素表征、第三音素时长、第三音素级别的基频信息和第三音素级别的能量信息作为输入,从目标说话人语音中提取的第三频谱参数作为输出,对基础端到端合成模型进行重训练,得到目标端到端合成模型。

在一些实施例中,所述目标神经网络声码器模型的训练步骤如下:

以第二频谱参数作为输入,多个语音作为输出,训练得到基础神经网络声码器;

使用第三频谱参数作为输入,目标说话人语音作为输出,对基础神经网络声码器进行重训练,得到目标神经网络声码器。

在一些实施例中,基于所述第一帧级别的基频信息和所述第一帧级别的能量信息确定第一音素级别的基频信息和第一音素级别的能量信息,包括:

获取每个音素中第一帧基频值、中间一帧基频值、最后一帧基频值和该音素中所有帧基频均值,组合成向量得到第一音素级别的基频信息;

获取每个音素中第一帧能量值、中间一帧能量值、最后一帧能量值和该音素中所有帧能量均值,组合成向量得到第一音素级别的基频信息。

在一些实施例中,所述方法还包括:对第一帧级别的基频信息进行调域调整。

第二方面,本发明实施例还提供了一种语音转换装置,应用于将源说话人语音转换为目标说话人语音,包括:

第一获取模块:用于获取源说话人语音数据;

第一确定模块:用于基于语音数据确定源说话人对应的语音文本和每个音素的时长;

第二获取模块:用于从语音文本中获取第一音素表征;语音数据中获取第一帧级别的基频信息和第一帧级别的能量信息;

第二确定模块:用于基于第一帧级别的基频信息和所述第一帧级别的能量信息确定第一音素级别的基频信息和第一音素级别的能量信息;

生成模块:用于将所述第一音素表征、所述每个音素的时长、所述第一音素级别的基频信息和所述第一音素级别的能量信息输入至目标端到端合成模型中,生成第一频谱参数;

第三确定模块:用于将第一频谱参数输入至目标神经网络声码器模型中确定目标说话人语音。

在一些实施例中,上述装置中的生成模块还用于:

获取多个文本和多个语音对;

基于多个文本确定多个文本对应的第二音素表征和多个文本对应的每个音素的时长;

从所述多个语音中获取第二帧级别的基频信息和第二帧级别的能量信息;

基于所述第二帧级别的基频信息和所述第二帧级别的能量信息确定第二音素级别的基频信息和所述第二音素级别的能量信息;

从所述多个语音中提取第二频谱参数;

将第二音素表征、多个文本对应的每个音素的时长、第二音素级别的基频信息和能量信息作为输入,第二频谱参数作为输出,训练得到基础端到端合成模型;

将目标说话人对应的第三音素表征、第三音素时长、第三音素级别的基频信息和第三音素级别的能量信息作为输入,从目标说话人语音中提取的第三频谱参数作为输出,对所述基础端到端合成模型进行重训练,得到目标端到端合成模型。

在一些实施例中,上述装置中的述第三确定模块还用于:

以第二频谱参数作为输入,多个语音作为输出,训练得到基础神经网络声码器;

使用第三频谱参数作为输入,目标说话人语音作为输出,对基础神经网络声码器进行重训练,得到所述目标神经网络声码器。

第三方面,本发明实施例还提供了一种电子设备,包括:处理器和存储器;

所述处理器通过调用所述存储器存储的程序或指令,用于执行如上所述任一项所述语音转换方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如上所述任一项所述语音转换方法。

本发明的有益效果是:通过获取源说话人语音数据;基于语音数据确定源说话人对应的语音文本和每个音素的时长;从语音文本中获取第一音素表征;从语音数据中获取第一帧级别的基频信息和第一帧级别的能量信息;基于第一帧级别的基频信息和第一帧级别的能量信息确定第一音素级别的基频信息和第一音素级别的能量信息;将第一音素表征、每个音素的时长、所述第一音素级别的基频信息和第一音素级别的能量信息输入至目标端到端合成模型中,生成第一频谱参数;将第一频谱参数输入至目标神经网络声码器模型中确定目标说话人语音。本申请实施例中使用源说话人对应的数据进行处理,可以保留源说话人的发音内容,在转换时加入了源说话人的时长、基频和能量信息,可以体现源说话人的情感。

附图说明

图1为本发明实施例提供的一种语音转换方法图之一;

图2为本发明实施例提供的一种语音转换方法图之二;

图3为本发明实施例提供的一种语音转换方法图之三;

图4为本发明实施例提供的一种语音转换装置图;

图5为本发明实施例提供的一种电子设备的示意性框图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

图1为本发明实施例提供的一种语音转换方法图之一。

第一方面,本发明实施例提供了一种语音转换方法,应用于将源说话人语音转换为目标说话人语音,包括如下几个步骤:

s101:获取源说话人语音数据。

s102:基于语音数据确定源说话人对应的语音文本和每个音素的时长。

具体的,本申请实施例的上述步骤中s101和s102中对获取到的源说话人语音数据进行语音识别,得到源说话人的语音文本text和源说话人的每个音素的时长phonedur_s。

s103:从语音文本中获取第一音素表征。

具体的,本申请实施例s103中从源说话人的语音文本text中获取第一音素表征phonerep_s。

s104:从语音数据中获取第一帧级别的基频信息和第一帧级别的能量信息;基于第一帧级别的基频信息和第一帧级别的能量信息确定第一音素级别的基频信息和第一音素级别的能量信息。

具体的,本申请实施例s104步骤中从源说话人的语音数据中提取出源说话人的帧级别的基频信息f0_s和源说话人的帧级别的能量信息en_s,基于源说话人的帧级别的基频信息确定源说话人的音素级别的基频信息,基于源说话人的帧级别的能量信息确定源说话人的音素级别的能量信息。

s105:将第一音素表征、每个音素的时长、第一音素级别的基频信息和第一音素级别的能量信息输入至目标端到端合成模型中,生成第一频谱参数。

具体的,本申请实施例中将源说话人的音素表征phonerep_s、源说话人的音素时长phonedur_s、源说话人的音素级别的基频信息和源说话人的音素级别的能量信息作为输入,输入目标端到端合成模型,生成第一频谱参数。

s106:将第一频谱参数输入至目标神经网络声码器模型中确定目标说话人语音。

具体的,本申请实施例中将生成的第一频谱参数输入目标神经网络声码器模型,确定目标说话人语音,在合成时加入了源说话人的时长、基频和能量信息,可以体现源说话人的情感。

图2为本发明实施例提供的一种语音转换方法图之二。

在一些实施例中,上述方法中目标端到端合成模型的训练步骤包括如下几个步骤:

s201:获取多个文本和多个语音对。

应理解,上述步骤s201中获取大规模合成音库数据,该数据包括文本和语音对,使用该数据训练基础合成模型。

s202:基于多个文本确定多个文本对应的第二音素表征和多个文本对应的每个音素的时长。

具体的,本申请实施例中,获取多个文本对应的音素表征,记为phonerep_b,通过forcealignment得到多个文本对应的音素时长,记为phonedur_b。

s203:从多个语音中获取第二帧级别的基频信息和第二帧级别的能量信息;基于第二帧级别的基频信息和第二帧级别的能量信息确定第二音素级别的基频信息和所述第二音素级别的能量信息。

具体的,本申请实施例中,从语音数据中提取出帧级别的基频信息f0_b和能量信息en_b,然后基于帧级别的基频信息f0_b和能量信息en_b确定音素级别的基频信息和音素级别的能量信息,具体为:获取每个音素中第一帧基频值f0_b_s、中间一帧基频值f0_b_m、最后一帧基频值f0_b_e和该音素中所有帧基频均值f0_b_a,组合成向量[f0_b_sf0_b_mf0_b_ef0_b_a],获取每个音素中第一帧能量值en_b_s、中间一帧能量值en_b_m、最后一帧能量值en_b_e和该音素中所有帧能量均值en_b_a,组合成向量[en_b_sen_b_men_b_een_b_a]。

s204:从多个语音中提取第二频谱参数。

s205:将第二音素表征、所述多个文本对应的每个音素的时长、第二音素级别的基频信息和能量信息作为输入,第二频谱参数作为输出,训练得到基础端到端合成模型。

具体的,本申请实施例中,将音素表征phonerep_b、音素时长phonedur_b、音素级别的基频信息[f0_b_sf0_b_mf0_b_ef0_b_a]和音素级别的能量信息[en_b_sen_b_men_b_een_b_a]作为输入,从多个语音中提取的第二频谱参数作为输出,训练得到基础端到端合成模型e2e_base。

s206:将目标说话人对应的第三音素表征、第三音素时长、第三音素级别的基频信息和第三音素级别的能量信息作为输入,从目标说话人语音中提取的第三频谱参数作为输出,对基础端到端合成模型进行重训练,得到目标端到端合成模型。

具体的,本申请实施例中,将目标说话人对应的音素表征phonerep_t、音素时长phonedur_t、音素级别的基频信息[f0_t_sf0_t_mf0_t_ef0_t_a]和音素级别的能量信息[en_t_sen_t_men_t_een_t_a]作为输入,从目标说话人语音中提取的频谱参数作为输出,对基础端到端合成模型e2e_base进行重训练,得到目标端到端合成模型。另外,为了转换阶段进行基频的调域调整,这里计算得到基频的均值和标准差st。

图3为本发明实施例提供的一种语音转换方法图之三。

在一些实施例中,结合图3,所述目标神经网络声码器模型的训练步骤如下两个步骤:

s301:以第二频谱参数作为输入,多个语音作为输出,训练得到基础神经网络声码器。

具体的,本申请实施例中,以第二频谱参数作为输入,多个语音作为输出,训练神经网络声码器,这里使用谷歌提出的wavenet模型,训练得到的神经网络声码器模型记为nnvocoder_base。

s302:使用第三频谱参数作为输入,目标说话人语音作为输出,对基础神经网络声码器进行重训练,得到目标神经网络声码器。

具体的,本申请实施例中,使用目标说话人的频谱参数作为输入,目标说话人语音作为输出,对基础神经网络声码器模型nnvocoder_base进行重训练,得到目标神经网络声码器模型nnvocoder_target。

在一些实施例中,基于所述第一帧级别的基频信息和所述第一帧级别的能量信息确定第一音素级别的基频信息和第一音素级别的能量信息,包括:

获取每个音素中第一帧基频值、中间一帧基频值、最后一帧基频值和该音素中所有帧基频均值,组合成向量得到第一音素级别的基频信息。

获取每个音素中第一帧能量值、中间一帧能量值、最后一帧能量值和该音素中所有帧能量均值,组合成向量得到第一音素级别的基频信息。

具体的,本申请实施例中,获取每个音素中第一帧基频值f0_b_s、中间一帧基频值f0_b_m、最后一帧基频值f0_b_e和该音素中所有帧基频均值f0_b_a,组合成向量[f0_b_sf0_b_mf0_b_ef0_b_a],获取每个音素中第一帧能量值en_b_s、中间一帧能量值en_b_m、最后一帧能量值en_b_e和该音素中所有帧能量均值en_b_a,组合成向量[en_b_sen_b_men_b_een_b_a]。

应理解,基于第二帧级别的基频信息和第二帧级别的能量信息确定第二音素级别的基频信息和所述第二音素级别的能量信息也是通过上述方法确定的。

在一些实施例中,所述方法还包括:对第一帧级别的基频信息进行调域调整。

具体的,本申请实施例中,从源说话人的语音中提取出帧级别的基频信息f0_s和帧级别的能量信息en_s,计算得到帧级别的基频信息的均值和标准差ss,对基频信息f0_s进行调域调整:根据f0_s'获取音素级别的基频信息[f0_s_sf0_s_mf0_s_ef0_s_a]。

图4为本发明实施例提供的一种语音转换装置图。

第二方面,结合图4,本发明实施例还提供了一种语音转换装置,应用于将源说话人语音转换为目标说话人语音,包括:

第一获取模块401:用于获取源说话人语音数据。

第一确定模块402:用于基于所述语音数据确定源说话人对应的语音文本和每个音素的时长。

具体的,本申请实施例的第一获取模块401用于获取源说话人语音数据;第一确定模块402对获取到的源说话人语音数据进行语音识别,得到源说话人的语音文本text和源说话人的每个音素的时长phonedur_s。

第二获取模块403:用于从所述语音文本中获取第一音素表征;所述语音数据中获取第一帧级别的基频信息和第一帧级别的能量信息。

具体的,本申请实施例第二获取模块403从源说话人的语音文本text中获取第一音素表征phonerep_s。

第二确定模块404:用于基于第一帧级别的基频信息和第一帧级别的能量信息确定第一音素级别的基频信息和第一音素级别的能量信息。

具体的,本申请实施例第二确定模块404从源说话人的语音数据中提取出源说话人的帧级别的基频信息f0_s和源说话人的帧级别的能量信息en_s,基于源说话人的帧级别的基频信息确定源说话人的音素级别的基频信息,基于源说话人的帧级别的能量信息确定源说话人的音素级别的能量信息。

生成模块405:用于将第一音素表征、每个音素的时长、第一音素级别的基频信息和所述第一音素级别的能量信息输入至目标端到端合成模型中,生成第一频谱参数。

具体的,本申请实施例中将源说话人的音素表征phonerep_s、源说话人的音素时长phonedur_s、源说话人的音素级别的基频信息和源说话人的音素级别的能量信息作为输入,输入目标端到端合成模型,生成模块405生成第一频谱参数。

第三确定模块406:用于将第一频谱参数输入至目标神经网络声码器模型中确定目标说话人语音。

具体的,本申请实施例中将生成的第一频谱参数输入目标神经网络声码器模型中,确定目标说话人语音,在合成时加入了源说话人的时长、基频和能量信息,可以体现源说话人的情感。

在一些实施例中,上述装置中的生成模块405还用于:

获取多个文本和多个语音对。

基于多个文本确定多个文本对应的第二音素表征和多个文本对应的每个音素的时长。

从多个语音中获取第二帧级别的基频信息和第二帧级别的能量信息。

基于第二帧级别的基频信息和第二帧级别的能量信息确定第二音素级别的基频信息和第二音素级别的能量信息。

从所述多个语音中提取第二频谱参数。

将所述第二音素表征、所述多个文本对应的每个音素的时长、第二音素级别的基频信息和能量信息作为输入,第二频谱参数作为输出,训练得到所述基础端到端合成模型。

将目标说话人对应的第三音素表征、第三音素时长、第三音素级别的基频信息和第三音素级别的能量信息作为输入,从目标说话人语音中提取的第三频谱参数作为输出,对所述基础端到端合成模型进行重训练,得到目标端到端合成模型。

在一些实施例中,上述装置中的述第三确定模块406还用于:

以第二频谱参数作为输入,多个语音作为输出,训练得到基础神经网络声码器。

使用第三频谱参数作为输入,目标说话人语音作为输出,对所述基础神经网络声码器进行重训练,得到目标神经网络声码器。

第三方面,本发明实施例还提供了一种电子设备,包括:处理器和存储器;

所述处理器通过调用所述存储器存储的程序或指令,用于执行如上所述任一项所述语音转换方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如上所述任一项所述语音转换方法。

图5是本公开实施例提供的一种电子设备的示意性框图。

如图5所示,电子设备包括:至少一个处理器501、至少一个存储器502和至少一个通信接口503。电子设备中的各个组件通过总线系统504耦合在一起。通信接口503,用于与外部设备之间的信息传输。可理解,总线系统504用于实现这些组件之间的连接通信。总线系统504除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但为了清楚说明起见,在图5中将各种总线都标为总线系统504。

可以理解,本实施例中的存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。

在一些实施方式中,存储器502存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统和应用程序。

其中,操作系统,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序,包含各种应用程序,例如媒体播放器(mediaplayer)、浏览器(browser)等,用于实现各种应用业务。实现本申请实施例提供的语音转换方法中任一方法的程序可以包含在应用程序中。

在本申请实施例中,处理器501通过调用存储器502存储的程序或指令,具体的,可以是应用程序中存储的程序或指令,处理器501用于执行本申请实施例提供的语音转换方法各实施例的步骤。

本申请实施例提供的语音转换方法中任一方法可以应用于处理器501中,或者由处理器501实现。处理器501可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本申请实施例提供的语音转换方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成方法的步骤。

本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。

本领域的技术人员能够理解,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

虽然结合附图描述了本申请的实施方式,但是本领域技术人员可以在不脱离本申请的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜