语音转换方法、系统、装置及存储介质与流程

文档序号:21008867发布日期:2020-06-05 23:23阅读:314来源:国知局
语音转换方法、系统、装置及存储介质与流程

本申请涉及语音识别技术领域,尤其涉及一种语音转换方法、系统、装置及存储介质。



背景技术:

目前最前沿的语音转换技术都是基于深度学习技术的语音转换技术,它的转换效果好,语音相似度高,流畅自然。基于深度学习的语音转换技术,可以根据所用的神经网络的结构不同分为不同的种类。比如使用bi-lstm的语音转换技术、使用seq2seq2模型的语音转换技术、使用wgan的语音转换技术等。

目前所有的bi-lstm模型,都是进行一对一的转换,即从某个特定的源说话人a转换到特定的目标说话人b,这在使用上会造成一些麻烦,例如,如果目标说话人有多个,那么就需要训练出多个一对一的模型,这使得在工业生产应用中,不仅不能实现单个语音模型进行多对多的语音转换,还需要额外的成本去存放模型。

申请内容

基于此,本申请提出了一种可以使得单个语音转换模型能够进行多对多的语音转换,从而可以解决因存放模型而产生额外成本的问题的语音转换方法、系统、装置及存储介质。

一种语音转换方法,所述方法包括:

获取待转换语音,提取所述待转换语音的声学特征;

从源向量池中获取与所述待转换语音对应的源向量,从目标向量池中选取目标语音对应的目标向量;

将所述待转换语音的声学特征、所述待转换语音对应的源向量和所述目标语音对应的目标向量作为语音转换模型的输入,获取所述语音转换模型输出的目标语音声学特征;

采用声码器对所述目标语音声学特征进行转换得到目标语音。

在其中一个实施例中,所述从源向量池中获取与所述待转换语音对应的源向量,从目标向量池中选取目标语音对应的目标向量,包括:获取待转换语音对应的源语音标识,根据所述源语音标识从源向量池中获取与所述待转换语音对应的源向量;获取目标语音对应的目标语音标识,根据所述目标语音标识从目标向量池中选取目标语音对应的目标向量。

在其中一个实施例中,所述语音转换模型采用以下步骤得到:获取多个源说话人语音对应的待训练源向量池,获取多个目标说话人语音对应的待训练目标向量池,所述待训练源向量池中包括每个源说话人语音的待训练源向量,所述待训练目标向量池包括每个目标说话人语音的待训练目标向量;获取训练样本对集合,所述训练样本对集合中包括多个训练样本对,所述训练样本对中包括源说话人对应的训练语音样本和目标说话人对应的训练目标语音样本;提取所述训练语音样本的声学特征,提取所述训练目标语音样本的声学特征;将所述训练语音样本的声学特征、所述源说话人语音对应的待训练源向量、所述目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,将所述训练目标语音样本的声学特征作为期望的输出,对所述待训练语音转换模型进行训练,得到训练好的语音转换模型。

在其中一个实施例中,所述将所述训练语音样本的声学特征、所述源说话人语音对应的待训练源向量、所述目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,将所述训练目标语音样本的声学特征作为期望的输出,对所述待训练语音转换模型进行训练,得到训练好的语音转换模型,包括:将所述训练语音样本的声学特征、所述源说话人语音对应的待训练源向量、所述目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,获取所述待训练语音转换模型输出的实际语音声学特征;根据所述训练目标语音样本的声学特征和所述实际语音声学特征计算得到损失值;根据所述损失值对所述待训练语音转换模型中的参数、所述待训练源向量和所述待训练目标向量进行更新,直到所述损失值达到预设的收敛条件,将最后更新得到的待训练语音转换模型作为目标语音转换模型,将最后更新得到的待训练源向量作为训练好的源向量池中的源向量,将最后更新得到的待训练目标向量作为训练好的目标向量池中的目标向量。

在其中一个实施例中,在所述提取所述训练语音样本的声学特征,提取所述训练目标语音样本的声学特征之后,还包括:将所述训练语音样本的声学特征与所述训练目标语音样本的声学特征进行对齐;根据对齐结果得到对齐后的训练语音样本的声学特征,将所述对齐后的训练语音样本的声学特征作为待训练语音转换模型的输入。

在其中一个实施例中,所述获取待转换语音,提取所述待转换语音的声学特征,包括:转换所述待转换语音,得到待转换语音对应的待转换声学特征;根据所述待转换声学特征,计算得到所述待转换语音的声学特征。

在其中一个实施例中,所述声码器采用以下步骤得到:获取多个目标说话人的语音数据,提取每个目标说话人的语音数据对应的声学特征和向量;将声码器中的参数、所述声学特征和所述向量作为所述声码器的输入,将相应的目标说话人的语音数据作为期望的输出,对所述声码器进行训练,得到训练好的声码器,所述训练好的声码器用于对所述目标语音声学特征进行转换得到目标语音。

第二方面,本申请实施例提供了一种语音转换系统,所述系统包括:语音特征分析器,语音转换模型和声码器;

所述语音特征分析器用于获取待转换语音,提取所述待转换语音的声学特征;

所述语音转换模型用于对所述待转换语音的声学特征、所述待转换语音对应的源向量和所述目标语音对应的目标向量进行转换,获取输出的目标语音声学特征;

所述声码器用于对所述目标语音声学特征进行转换得到目标语音。

第三方面,本申请实施例提供一种语音转换装置,所述装置包括:

获取模块,用于获取待转换语音,提取所述待转换语音的声学特征;

选取模块,用于从源向量池中获取与所述待转换语音对应的源向量,从目标向量池中选取目标语音对应的目标向量;

训练模块,用于将所述待转换语音的声学特征、所述待转换语音对应的源向量和所述目标语音对应的目标向量作为语音转换模型的输入,获取所述语音转换模型输出的目标语音声学特征;

转换模块,用于采用声码器对所述目标语音声学特征进行转换得到目标语音。

第四方面,本申请实施例提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:

获取待转换语音,提取所述待转换语音的声学特征;

从源向量池中获取与所述待转换语音对应的源向量,从目标向量池中选取目标语音对应的目标向量;

将所述待转换语音的声学特征、所述待转换语音对应的源向量和所述目标语音对应的目标向量作为语音转换模型的输入,获取所述语音转换模型输出的目标语音声学特征;

采用声码器对所述目标语音声学特征进行转换得到目标语音。

实施本申请实施例,将具有如下有益效果:

上述语音转换方法,通过获取待转换语音,提取所述待转换语音的声学特征,再从源向量池中获取与所述待转换语音对应的源向量、从目标向量池中选取目标语音对应的目标向量,然后将所述待转换语音的声学特征、所述待转换语音对应的源向量和所述目标语音对应的目标向量作为语音转换模型的输入,获取所述语音转换模型输出的目标语音声学特征,最后采用声码器对所述目标语音声学特征进行转换得到目标语音。通过语音转换模型得到目标语音声学特征,再对目标语音声学特征进行转换得到目标语音,使得单个语音转换模型能够进行多对多的语音转换,同时可以解决因存放模型而产生额外成本的问题。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

其中:

图1为本申请一实施例的语音转换方法的流程图;

图2为本申请一实施例的获取源向量、获取目标向的流程图;

图3为本申请一实施例的训练得到语音转换模型的流程图;

图4为本申请一实施例的对待训练语音转换模型进行训练的流程图;

图5为本申请一实施例的对齐训练语音样本的声学特征与训练目标语音样本的声学特征的流程图;

图6为本申请一实施例的提取待转换语音的声学特征的流程图;

图7为本申请一实施例的训练得到声码器的流程图;

图8为本申请一实施例的语音转换系统的结构框图;

图9为本申请一实施例的语音转换装置的结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如图1所示,提出了一种语音转换方法,该语音转换方法可以应用于终端,本实施例以应用于终端举例说明。该语音转换方法具体包括以下步骤:

步骤102,获取待转换语音,提取所述待转换语音的声学特征。

其中,待转换语音是指需要转换的语音信号;待转换语音的声学特征是指需要转换的语音信号对应的声学参数,待转换语音对应的声学参数可以包括:频谱、基频、非周期频率、梅尔倒谱、清/浊音信息等。由于不同语音信号对应的声学特征不同,所以需要提取出待转换语音的声学特征。在一个实施例中,可以是根据语音特征分析器,将待转换语音转换为对应的声学特征。例如,通过语音特征分析器,将待转换语音转换为对应的频谱、基谱和非周期频率等声学特征。由于梅尔倒谱和清/浊音信息更能反映人耳的特性,所以可以将所得频谱转换为梅尔倒谱、将所得基谱取对数、根据所得到的的各个声学特征计算得到清/浊音信息,将所得的梅尔倒谱、基普的对数和清/浊音信息作为待转换语音的声学特征,提取出上述声学特征。

步骤104,从源向量池中获取与所述待转换语音对应的源向量,从目标向量池中选取目标语音对应的目标向量。

其中,源向量池是指经过训练得到的、多个源说话人语音对应的向量池,源向量池中可以包括多个源说话人语音对应的向量,其中,多个源说话人语音是指需要训练的多个源说话人的音频,多个源说话人语音可以是根据采样得到;源向量是多个源说话人中的某个人对应的,代表其音色特征的向量;目标向量池是指经过训练得到的、多个目标说话人语音对应的向量池,目标向量池中可以包括多个目标说话人语音对应的向量,其中,多个目标说话人语音是指需要训练的多个目标说话人的音频,多个目标说话人语音可以是根据采样得到;目标向量是指多个目标说话人中的某个人对应的,代表其音色特征的向量;目标语音是指对待转换语音进行转换后得到的输出语音,目标语音可以是从采集到的多个真实的目标说话人语音中选取得到。由于源向量池和目标向量池中包括多个源说话人语音对应的向量和多个目标说话人语音对应的向量,而需要得到的是待转换语音对应的源向量和目标语音对应的目标向量,所以需要分别从源向量池和目标向量池中提取出源向量和目标向量。又因为待转换语音是已经确定的语音,所以可以根据待转换语音,直接从源向量池中提取出源向量;而目标语音可以是根据用户的选择得到,用户可以选择得到一个或多个目标语音。所以可以根据用户选择的目标语音,从目标向量池中选取出目标向量。

在一个实施例中,可以是根据待转换语音对应的标识,从源向量池包括的多个源说话人语音对应的向量中提取出源向量;再根据用户选择的目标语音对应的标识,从目标向量池中的多个目标说话人语音对应的向量中选取得到目标语音对应的目标向量。可以将得到的源向量和目标向量用于转换得到目标语音声学特征。

步骤106,将所述待转换语音的声学特征、所述待转换语音对应的源向量和所述目标语音对应的目标向量作为语音转换模型的输入,获取所述语音转换模型输出的目标语音声学特征。

其中,语音转换模型是指基于多个语音数据进行训练得到的训练模型;目标语音声学特征是指目标语音对应的声学参数,目标语音声学特征包括:基频、非周期频率、梅尔倒谱等。在一个实施例中,可以是基于多个源说话人语音的声学特征、多个目标说话人语音对应的声学特征、多个源说话人语音对应的向量和多个目标说话人语音对应的向量进行训练得到语音转换模型,然后可以将待转换语音的声学特征、待转换语音对应的源向量和目标语音对应的目标向量作为语音转换模型的输入,通过获取语音转换模型的输出即可得到目标语音声学特征。

步骤108,采用声码器对所述目标语音声学特征进行转换得到目标语音。

其中,声码器是指语音转换模型对应的语音合成系统,声码器可以根据接收到的声学特征合成语音波形。在一个实施例中,声码器可以是通过训练得到、可以分别合成多个目标语音的语音合成系统。训练得到的声码器可以根据不同目标语音对应的目标向量和目标语音声学特征,合成目标语音,例如,可以是将目标语音对应的目标向量和目标语音声学特征作为训练好的声码器的输入,通过获取训练好的声码器的输出即可得到目标语音。

上述语音转换方法,通过语音转换模型得到目标语音声学特征,再对目标语音声学特征进行转换得到目标语音,使得单个语音转换模型能够进行多对多的语音转换,同时可以解决因存放模型而产生额外成本的问题。

如图2所示,在一个实施例中,所述从源向量池中获取与所述待转换语音对应的源向量,从目标向量池中选取目标语音对应的目标向量,包括:

步骤202,获取待转换语音对应的源语音标识,根据所述源语音标识从源向量池中获取与所述待转换语音对应的源向量。

其中,源语音标识是指待转换语音对应的源说话人的标识。由于待转换语音可以是从多个源说话人语音中选取得到,即,待转换语音可以是多个源说话人语音中的一个或多个源说话人语音,又因为源向量池中可以包括多个源说话人语音对应的向量,不同的源说话人对应的源说话人语音对应不同的向量,为得到待转换语音对应的源说话人语音对应的向量,可以根据待转换语音对应的源语音标识,在源向量池中找寻与待转换语音相对应的向量,从而可以得到待转换语音对应的源向量。在一个实施例中,假设待转换语音对应的源语音标识为src_speaker_id,则可以根据源语音标识src_speaker_id,在源向量池中找相应的向量,得到对应的向量为src_speaker_embedding,从而可以得到待转换语音对应的源向量为src_speaker_embedding。

步骤204,获取目标语音对应的目标语音标识,根据所述目标语音标识从目标向量池中选取目标语音对应的目标向量。

其中,目标语音标识是指目标语音对应的目标说话人语音的标识。由于目标语音可以是从多个目标说话人语音中选取得到的一个或多个目标说话人语音,目标向量池中可以包括多个目标说话人语音对应的向量,不同的目标说话人语音对应不同的向量,为得到目标语音对应的目标说话人语音对应的向量,可以根据目标语音对应的目标语音标识,在目标向量池中找寻与目标语音相对应的向量,从而可以得到目标语音对应的目标向量。在一个实施例中,假设目标语音对应的源语音标识为tgt_speaker_id,则可以根据目标语音标识tgt_speaker_id,在目标向量池中找相应的向量,得到对应的向量为tgt_speaker_embedding,从而可以得到目标语音对应的目标向量为tgt_speaker_embedding。通过获取待转换语音对应的源语音标识、获取目标语音对应的目标语音标识,根据源语音标识和目标语音标识分别从源向量池和目标向量池中找寻相应的向量,从而得到待转换语音对应的源向量和目标语音对应的目标向量,可以从源向量池中的多个向量中准确获取源向量、从目标向量池的多个向量中准确选取目标向量。

如图3所示,在一个实施例中,所述语音转换模型采用以下步骤得到:

步骤302,获取多个源说话人语音对应的待训练源向量池,获取多个目标说话人语音对应的待训练目标向量池,所述待训练源向量池中包括每个源说话人语音的待训练源向量,所述待训练目标向量池包括每个目标说话人语音的待训练目标向量。

其中,待训练源向量池是指需要进行训练的多个源说话人语音对应的多个待训练源向量构成的向量池;待训练源向量是指多个源说话人语音对应的、需要进行训练的向量;待训练目标向量池是指需要进行训练的多个目标说话人语音对应的多个待训练目标向量构成的向量池;待训练目标向量是指多个目标说话人语音对应的、需要进行训练的向量。可以是同时采集多个源说话人语音和多个目标说话人语音,然后分别得到多个源说话人语音对应的待训练源向量池和多个目标说话人语音对应的待训练目标向量池。在一个实施例中,待训练源向量池可以是包括m个源说话人语音对应的待训练源向量,例如,可以是包括10个源说话人语音对应的待训练源向量,假设这10个源说话人语音对应的待训练源向量池的维度为10*16,获取上述待训练源向量池;假设待训练目标向量池可以是包括m个目标说话人语音对应的待训练目标向量,例如,可以是包括10个目标说话人语音对应的待训练目标向量,假设这10个目标说话人语音对应的待训练目标向量池的维度为10*16,获取上述待训练目标向量池。

步骤304,获取训练样本对集合,所述训练样本对集合中包括多个训练样本对,所述训练样本对中包括源说话人对应的训练语音样本和目标说话人对应的训练目标语音样本。

其中,训练样本对是指由每个源说话人对应的训练语音样本和每个目标说话人对应的训练目标语音样本组成的多对训练样本;其中,源说话人对应的训练语音样本可以包括:每个源说话人语音的声学特征和每个源说话人语音对应的待训练源向量;目标说话人对应的训练目标语音样本可以包括:每个目标说话人语音的声学特征和每个目标说话人语音对应的待训练目标向量;训练样本对集合是指多对训练样本对所构成的集合。可以是将训练样本对集合中的每对训练样本对与语音转换模型中的参数一起进行训练,使得每对训练样本对中的训练语音样本的每个源说话人语音对应的待训练源向量和训练目标语音样本对应的每个目标说话人语音对应的待训练目标向量,与语音训练模型中的参数一起得到更新。

在一个实施例中,获取训练样本对集合,可以是先获取由每个源说话人对应的训练语音样本和每个目标说话人对应的训练目标语音样本,组成每对训练样本对,然后将每对训练样本对进行组合,就可以得到训练样本对集合。获取训练语音样本,可以是通过获取每个源说话人语音对应的声学特征和待训练源向量得到;获取训练目标语音样本,可以是通过获取每个目标说话人语音对应的声学特征和待训练目标向量得到。然后可以依次获取由每个训练语音样本和每个训练目标语音样本组成多对训练样本对,组合得到多对训练样本对,从而可以得到训练样本对集合。例如,假设有5个训练语音样本,假设有5个训练目标语音样本。可以一次只获取第一个训练语音样本和第一个训练目标语音样本,将二者组合成为第一对训练样本对;可以依次将5个训练语音样本和5个训练目标语音样本进行组合,可以得到组合后的25对训练样本对,最后可以得到由25对训练样本对构成的训练样本对集合。可以将所得的训练样本对集合用于语音转换模型的训练。

步骤306,提取所述训练语音样本的声学特征,提取所述训练目标语音样本的声学特征。

其中,训练语音样本的声学特征是指每个源说话人语音对应的声学参数,上述声学参数可以包括:频谱、基频、非周期频率、梅尔倒谱等;训练目标语音样本的声学特征是指每个目标说话人语音对应的声学参数,上述声学参数可以包括:频谱、基频、非周期频率、梅尔倒谱等。由于不同的训练语音样本对应不同的源语音说话人语音对应的声学特征,不同训练目标语音样本对应不同目标说话人对应的声学特征,所以可以分别提取每个训练语音样本的声学特征和每个训练目标语音样本的声学特征。在一个实施例中,可以是提取训练语音样本的梅尔倒谱和清/浊音信息,提取训练目标语音样本的梅尔倒谱和清/浊音信息,从而分别得到训练语音样本的声学特征和训练目标语音样本的声学特征。

步骤308,将所述训练语音样本的声学特征、所述源说话人语音对应的待训练源向量、所述目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,将所述训练目标语音样本的声学特征作为期望的输出,对所述待训练语音转换模型进行训练,得到训练好的语音转换模型。

其中,待训练语音转换模型是指需要进行训练的语音转换模型,训练好的语音转换模型是指基于各个语音数据进行训练后得到的语音转换模型。在一个实施例中,可以是对待训练语音转换模型进行训练,从而得到训练好的语音转换模型。可以是将训练语音样本的声学特征、源说话人语音对应的待训练源向量和目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,将训练目标语音样本的声学特征作为期望的输出,然后对待训练语音转换模型进行训练,从而可以得到训练好的语音转换模型。例如,假设在t时刻,对某一对训练样本对进行训练时,训练语音样本的声学特征为xt,假设待训练源向量为src_speaker_embedding,假设待训练目标向量为tgt_speaker_embedding,假设得到的待训练转换模型的输出为可以通过下列公式计算得到

可以根据上述公式,计算得到待训练语音转换模型的输出然后可以根据所得输出对待训练语音转换模型进行训练,得到期望的输出(即得到训练目标语音样本的声学特征),从而可以得到训练好的语音转换模型。通过获取待训练源向量池、待训练目标向量池,然后获取训练样本对集合,再提取出训练语音样本的声学特征、提取出训练目标语音样本的声学特征,最后将训练语音样本的声学特征、源说话人语音对应的待训练源向量、目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,将所述训练目标语音样本的声学特征作为期望的输出,对待训练语音转换模型进行训练,可以得到训练好的语音转换模型。通过整个训练过程,使得待训练源向量池中的待训练源向量、待训练目标向量池中的待训练目标向量与待训练语音转换模型中的参数同时得到了更新,也得到了学习。可以实现在训练收敛后,训练好的某个源向量就代表了该向量对应的源说话人语音的声学特征、训练好的某个目标向量就代表了该向量对应的目标说话人语音的声音特征,使得训练好的语音转换模型可以用于将待转换语音转换为目标语音,从而可以使得单个语音转换模型能够进行多对多的语音转换,从而可以解决因存放模型而产生额外成本的问题。

如图4所示,在一个实施例中,所述将所述训练语音样本的声学特征、所述源说话人语音对应的待训练源向量、所述目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,将所述训练目标语音样本的声学特征作为期望的输出,对所述待训练语音转换模型进行训练,得到训练好的语音转换模型,包括:

步骤402,将所述训练语音样本的声学特征、所述源说话人语音对应的待训练源向量、所述目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,获取所述待训练语音转换模型输出的实际语音声学特征。

其中,实际语音声学特征是指待训练语音转换模型输出的实际上的声学特征。由于待训练语音转换模型输出的声学特征,不一定就是期望得到的声学特征,或是与期望得到的声学特征差异较大,所以要得到待训练语音转换模型输出的实际上的声学特征。在一个实施例中,可以是将所述训练语音样本的声学特征、所述源说话人语音对应的待训练源向量、所述目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,得到待训练语音转换模型的输出,可以将输出所得作为实际语音声学特征,从而可以得到实际语音声学特征,可以将实际语音声学特征用于训练待训练语音转换模型。

步骤404,根据所述训练目标语音样本的声学特征和所述实际语音声学特征计算得到损失值。

其中,损失值是指表示实际语音声学特征与训练目标语音样本的声学特征之间的差异的数值。由于在训练阶段得到的实际语音声学特征会与期望得到的声学特征之间存在较大的差异,为了得到二者之间的差异,可以是根据训练目标语音样本的声学特征和实际语音声学特征,计算得到损失值,从而可以用损失值来表示二者之间的差异。在一个实施例中,假设实际语音声学特征为(txn,n此处可以为130),假设训练目标语音样本的声学特征为y,假设损失值为loss,根据和y计算得到损失值,可以是根据下列公式计算得到:

语音声学特征之间的差异。可以将loss用于对待训练语音转换模型中的参数、待训练源向量和待训练目标向量进行更新。

步骤406,根据所述损失值对所述待训练语音转换模型中的参数、所述待训练源向量和所述待训练目标向量进行更新,直到所述损失值达到预设的收敛条件,将最后更新得到的待训练语音转换模型作为目标语音转换模型,将最后更新得到的待训练源向量作为训练好的源向量池中的源向量,将最后更新得到的待训练目标向量作为训练好的目标向量池中的目标向量。

其中,待训练语音转换模型中的参数可以包括:参数矩阵w;预设的收敛条件是指预先设置的训练收敛的条件;目标语音转换模型是指用于将待转换语音转换为目标语音的语音转换模型。由于实际语音声学参数与训练模板语音样本的声学特征之间存在差异,为了得到训练模板语音样本的声学特征,可以是根据损失值,对待训练语音转换模型中的参数、待训练源向量和待训练目标向量进行更新,直至达到预设的收敛条件,使得训练收敛,最后可以得到更新后的各个参数。

在一个实施例中,假设计算得到损失值为loss,可以根据loss进行梯度下降,更新待训练模型中的参数、待训练源向量和待训练目标向量;预设的收敛条件可以是当实际语音声学特征与训练目标语音样本的声学特征相等时,训练收敛,即结束对待训练模型中的参数、待训练源向量和待训练目标向量的更新,可以将最后更新得到的待训练语音转换模型作为目标语音转换模型。由于在训练收敛后,每个待训练源向量和每个待训练目标向量都得到了更新,所以可以将最后更新得到的待训练源向量作为训练好的源向量池中的源向量,将最后更新得到的待训练目标向量作为训练好的目标向量池中的目标向量。通过获取实际语音声学特征,根据训练目标语音样本的声学特征和实际语音声学特征计算得到损失值,再根据所得损失值对待训练语音转换模型中的参数、待训练源向量和待训练目标向量进行更新,然后将最后更新得到的待训练语音转换模型作为目标语音转换模型,将最后更新得到的待训练源向量作为训练好的源向量池中的源向量,将最后更新得到的待训练目标向量作为训练好的目标向量池中的目标向量,可以使得待训练源向量、待训练目标向量和待训练语音转换模型中的参数同时得到了更新和学习;通过预设的收敛条件,可以根据需求,使得训练收敛;实现了在训练收敛后,源向量池和目标向量池中的某个向量就代表了该说话人的声音特征,使得训练好的目标语音转换模型能够进行多对多的语音转换,从而可以解决因存放模型而产生额外成本的问题。

如图5所示,在一个实施例中,在所述提取所述训练语音样本的声学特征,提取所述训练目标语音样本的声学特征之后,还包括:

步骤308,将所述训练语音样本的声学特征与所述训练目标语音样本的声学特征进行对齐。

其中,对齐是指将训练语音样本的声学特征与训练目标语音样本的声学特征进行对齐。由于训练语音样本的声学特征具有相当大的随机性,如果直接将训练语音样本的声学特征和训练目标语音样本的声学特征进行匹配,会导致训练语音样本的声学特征无法对正训练目标语音样本的声学特征,从而导致二者无法匹配。所以需要将训练语音样本的声学特征与训练目标语音样本的声学特征进行对齐,从而可以使得训练语音样本的声学特征与训练目标语音样本的声学特征一一对正。在一个实施例中,可以使用动态规划时间对齐(dynamictimewarping,简称dtw)的方法,将训练语音样本的声学特征与训练目标语音样本的声学特征进行对齐,即,将训练语音样本的声学特征进行不均匀地扭曲或弯折,可以使其与训练目标语音样本的声学特征对正。

步骤310,根据对齐结果得到对齐后的训练语音样本的声学特征,将所述对齐后的训练语音样本的声学特征作为待训练语音转换模型的输入。

其中,对齐结果是指将训练语音样本的声学特征与训练目标语音样本的声学特征一一进行对正后的训练语音样本的声学特征。由于训练语音样本的声学特征与训练目标语音样本的声学特征已经对齐,所以可以得到对齐后的训练语音样本的声学特征,继而可以将对齐后的训练语音样本的声学特征作为待训练语音转换模型的输入。在一个实施例中,假设对齐后的训练语音声学特征为x(txn,n此处可以为130),其中的t为经过傅里叶变换之后,训练语音声学特征的帧数;n=130,是梅尔倒谱+一阶/二阶倒数、lf0+一阶/二阶倒数、清/浊音以及ap+一阶/二阶倒数的合集,可以将对齐后的训练语音声学特征为x作为待训练语音转换模型的输入。通过将训练语音样本的声学特征与训练目标语音样本的声学特征进行对齐,可以解决训练语音样本的声学特征与训练目标语音样本的声学特征之间的长短不一的匹配问题;通过将对齐后的训练语音声学特征为x作为待训练语音转换模型的输入,可以有效提高系统对训练语音声学特征的识别精度。

如图6所示,在一个实施例中,所述获取待转换语音,提取所述待转换语音的声学特征,包括:

步骤602,转换所述待转换语音,得到待转换语音对应的待转换声学特征。

其中,待转换声学特征是指使用语音特征分析器将待转换语音转换得到的声学参数,待转换声学特征可以包括:频谱、基频和非周期频率等。由于待转换语音中可以包含有各种各样的信息,例如,语音内容信息、源说话人语音的声学特征信息和说话环境信息,其中,只有源说话人语音的声学特征信息描述了与源说话人身份相关的声音方面的特征,所以需要提取得到待转换语音对应的待转换声学特征,对待转换声学特征进行转换,其他方面的信息可以保留不变。在一个实施例中,可以是使用world语音特征分析器对待转换语音进行转换,得到待转换语音对应的待转换声学特征。例如,可以使用world语音特征分析器将待转换语音转换为频谱、基频和非周期频率,可以将这三个声学特征作为待转换声学特征。可以将待转换声学特征用于得到待转换语音的声学特征。

步骤604,根据所述待转换声学特征,计算得到所述待转换语音的声学特征。

在一个实施例中,可以是根据语音特征分析器转换得到频谱、基频和非周期频率等待转换声学特征。由于梅尔倒谱和清/浊音更能反映人耳的特性,所以再根据频谱、基频和非周期频率计算得到梅尔倒谱、基频对数和清/浊音信息,可以将计算得到的梅尔倒谱、基频对数和清/浊音信息作为待转换语音的声学特征。例如,可以根据频谱计算得到梅尔倒谱;可以将基频取对数,得到基频对数lf0;再根据待转换声学特征计算得到清/浊音信息。通过语音特征分析器对待转换语音进行转换,提取出待转换声学特征,然后可以根据待转换声学特征,计算得到待转换语音的声学特征。通过对待转换声学特征的再次转换,可以得到更能反映人耳的特性的待转换语音的声学特征,从而可以提高语音转换的效率和质量。

如图7所示,在一个实施例中,所述声码器采用以下步骤得到:

步骤702,获取多个目标说话人的语音数据,提取每个目标说话人的语音数据对应的声学特征和向量。

其中,多个目标说话人的语音数据是指多个目标说话人语音的相关数据,多个目标说话人的语音数据可以对应多个声学特征和多个向量。由于不同目标说话人对应的语音数据不同,所以要分别获取不同目标说话人的语音数据;可以提取出每个目标说话人的语音数据对应的声学特征和向量,从而可以得到更具体的多个目标说话人的语音数据。在一个实施例中,假设有5个目标说话人,分别为001,002,003,004,005,则可以获取这5个目标说话人的语音数据,然后提取出每个目标说话人的语音数据对应的声学特征和向量,例如,可以提取出目标说话人001对应的频谱、基频和非周期频率,提取出目标说话人001对应的目标向量。可以将多个目标说话人的语音数据、每个目标说话人的语音数据对应的声学特征和向量用于对声码器进行训练。

步骤704,将声码器中的参数、所述声学特征和所述向量作为所述声码器的输入,将相应的目标说话人的语音数据作为期望的输出,对所述声码器进行训练,得到训练好的声码器,所述训练好的声码器用于对所述目标语音声学特征进行转换得到目标语音。

其中,训练好的声码器是指用于将目标语音声学特征转换为目标语音的声码器。可以是根据训练好的声码器,将多个目标语音声学特征转换为对应的目标语音。在一个实施例中,对声码器进行训练,可以是将声码器中的参数、多个目标说话人的声学特征和多个向量作为声码器的输入,将相应的目标说话人的语音数据作为期望的输出,然后对声码器进行训练,从而可以得到训练好的声码器。例如,可以是将声码器中的参数、多个目标说话人的声学特征和对应的向量作为声码器的输入,获取声码器输出的实际上的目标语音数据,即,可以得到实际语音数据;然后可以根据目标说话人的语音数据和实际语音数据,计算得到二者之间的损失;再根据所得损失进行优化,当遍历一遍多个目标说话人的语音数据、语音数据对应的声学特征和向量时,就可以得到训练好的声码器。得到训练好的声码器。可以将训练好的声码器用于对目标语音声学特征进行转换得到目标语音。可以将训练好的声码器用于对目标语音声学特征进行转换得到目标语音,例如,可以将每个目标说话人的向量作为目标说话人的信息标识,辅助训练好的声码器识别目标说话人的声学特征,通过训练好的声码器对声学特征进行合成转换后得到目标语音。根据多个目标说话人的语音数据、以及语音数据对应的声学特征和向量对声码器进行训练,通过大量的训练,使得声码器中的参数趋于稳定,从而可以实现声码器输出多个目标语音功能。

如图8所示,本发明实施例提出了一种语音转换系统,所述系统包括:语音特征分析器802,语音转换模型804和声码器806;

所述语音特征分析器802还用于获取待转换语音,提取所述待转换语音的声学特征。

在一个实施例中,语音特征分析器可以是world语音特征分析器。可以是通过world语音特征分析器,对待转换语音进行声学特征的提取。例如,通过world语音特征分析器将待转换语音转换为频谱、基频、非周期频率等声学特征。

所述语音转换模型804用于对所述待转换语音的声学特征、所述待转换语音对应的源向量和所述目标语音对应的目标向量进行转换,获取输出的目标语音声学特征。

在一个实施例中,语音转换模型804可以是基于多个源说话人语音的声学特征、多个目标说话人语音对应的声学特征、多个源说话人语音对应的向量和多个目标说话人语音对应的向量进行训练得到的,然后可以将待转换语音的声学特征、待转换语音对应的源向量和目标语音对应的目标向量作为语音转换模型的输入,通过获取语音转换模型的输出即可得到目标语音声学特征。

所述声码器806用于对所述目标语音声学特征进行转换得到目标语音。

在一个实施例中,声码器806可以是wavenet声码器,可以是通过wavenet声码器,将目标语音声学特征合成目标语音。

如图9所示,本发明实施例提出了一种语音转换装置,所述装置包括:

获取模块902,用于获取待转换语音,提取所述待转换语音的声学特征;

选取模块904,用于从源向量池中获取与所述待转换语音对应的源向量,从目标向量池中选取目标语音对应的目标向量;

训练模块906,用于将所述待转换语音的声学特征、所述待转换语音对应的源向量和所述目标语音对应的目标向量作为语音转换模型的输入,获取所述语音转换模型输出的目标语音声学特征;

转换模块908,用于采用声码器对所述目标语音声学特征进行转换得到目标语音。

在一个实施例中,所述从源向量池中获取与所述待转换语音对应的源向量,从目标向量池中选取目标语音对应的目标向量,包括:获取模块902还用于获取待转换语音对应的源语音标识,根据所述源语音标识从源向量池中获取与所述待转换语音对应的源向量;获取模块902还用于获取目标语音对应的目标语音标识,根据所述目标语音标识从目标向量池中选取目标语音对应的目标向量。

在一个实施例中,所述语音转换模型采用以下步骤得到:获取模块902还用于获取多个源说话人语音对应的待训练源向量池,获取多个目标说话人语音对应的待训练目标向量池,所述待训练源向量池中包括每个源说话人语音的待训练源向量,所述待训练目标向量池包括每个目标说话人语音的待训练目标向量;获取模块902还用于获取训练样本对集合,所述训练样本对集合中包括多个训练样本对,所述训练样本对中包括源说话人对应的训练语音样本和目标说话人对应的训练目标语音样本;提取模块904还用于提取所述训练语音样本的声学特征,提取所述训练目标语音样本的声学特征;训练模块906还用于将所述训练语音样本的声学特征、所述源说话人语音对应的待训练源向量、所述目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,将所述训练目标语音样本的声学特征作为期望的输出,对所述待训练语音转换模型进行训练,得到训练好的语音转换模型。

在一个实施例中,所述将所述训练语音样本的声学特征、所述源说话人语音对应的待训练源向量、所述目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,将所述训练目标语音样本的声学特征作为期望的输出,对所述待训练语音转换模型进行训练,得到训练好的语音转换模型,包括:获取模块902还用于将所述训练语音样本的声学特征、所述源说话人语音对应的待训练源向量、所述目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,获取所述待训练语音转换模型输出的实际语音声学特征;根据所述训练目标语音样本的声学特征和所述实际语音声学特征计算得到损失值;训练模块906还用于根据所述损失值对所述待训练语音转换模型中的参数、所述待训练源向量和所述待训练目标向量进行更新,直到所述损失值达到预设的收敛条件,将最后更新得到的待训练语音转换模型作为目标语音转换模型,将最后更新得到的待训练源向量作为训练好的源向量池中的源向量,将最后更新得到的待训练目标向量作为训练好的目标向量池中的目标向量。

在一个实施例中,在所述提取所述训练语音样本的声学特征,提取所述训练目标语音样本的声学特征之后,还包括:将所述训练语音样本的声学特征与所述训练目标语音样本的声学特征进行对齐;训练模块906还用于根据对齐结果得到对齐后的训练语音样本的声学特征,将所述对齐后的训练语音样本的声学特征作为待训练语音转换模型的输入。

在一个实施例中,所述获取待转换语音,提取所述待转换语音的声学特征,包括:获取模块902还用于转换所述待转换语音,得到待转换语音对应的待转换声学特征;根据所述待转换声学特征,计算得到所述待转换语音的声学特征。

在一个实施例中,所述声码器采用以下步骤得到:获取模块902还用于获取多个目标说话人的语音数据,提取每个目标说话人的语音数据对应的声学特征和向量;训练模块906还用于将声码器中的参数、所述声学特征和所述向量作为所述声码器的输入,将相应的目标说话人的语音数据作为期望的输出,对所述声码器进行训练,得到训练好的声码器,所述训练好的声码器用于对所述目标语音声学特征进行转换得到目标语音。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:获取待转换语音,提取所述待转换语音的声学特征;从源向量池中获取与所述待转换语音对应的源向量,从目标向量池中选取目标语音对应的目标向量;将所述待转换语音的声学特征、所述待转换语音对应的源向量和所述目标语音对应的目标向量作为语音转换模型的输入,获取所述语音转换模型输出的目标语音声学特征;采用声码器对所述目标语音声学特征进行转换得到目标语音。

在一个实施例中,所述从源向量池中获取与所述待转换语音对应的源向量,从目标向量池中选取目标语音对应的目标向量,包括:获取待转换语音对应的源语音标识,根据所述源语音标识从源向量池中获取与所述待转换语音对应的源向量;获取目标语音对应的目标语音标识,根据所述目标语音标识从目标向量池中选取目标语音对应的目标向量。

在一个实施例中,所述语音转换模型采用以下步骤得到:获取多个源说话人语音对应的待训练源向量池,获取多个目标说话人语音对应的待训练目标向量池,所述待训练源向量池中包括每个源说话人语音的待训练源向量,所述待训练目标向量池包括每个目标说话人语音的待训练目标向量;获取训练样本对集合,所述训练样本对集合中包括多个训练样本对,所述训练样本对中包括源说话人对应的训练语音样本和目标说话人对应的训练目标语音样本;提取所述训练语音样本的声学特征,提取所述训练目标语音样本的声学特征;将所述训练语音样本的声学特征、所述源说话人语音对应的待训练源向量、所述目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,将所述训练目标语音样本的声学特征作为期望的输出,对所述待训练语音转换模型进行训练,得到训练好的语音转换模型。

在一个实施例中,所述将所述训练语音样本的声学特征、所述源说话人语音对应的待训练源向量、所述目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,将所述训练目标语音样本的声学特征作为期望的输出,对所述待训练语音转换模型进行训练,得到训练好的语音转换模型,包括:将所述训练语音样本的声学特征、所述源说话人语音对应的待训练源向量、所述目标说话人语音的待训练目标向量作为待训练语音转换模型的输入,获取所述待训练语音转换模型输出的实际语音声学特征;根据所述训练目标语音样本的声学特征和所述实际语音声学特征计算得到损失值;根据所述损失值对所述待训练语音转换模型中的参数、所述待训练源向量和所述待训练目标向量进行更新,直到所述损失值达到预设的收敛条件,将最后更新得到的待训练语音转换模型作为目标语音转换模型,将最后更新得到的待训练源向量作为训练好的源向量池中的源向量,将最后更新得到的待训练目标向量作为训练好的目标向量池中的目标向量。

在一个实施例中,在所述提取所述训练语音样本的声学特征,提取所述训练目标语音样本的声学特征之后,还包括:将所述训练语音样本的声学特征与所述训练目标语音样本的声学特征进行对齐;根据对齐结果得到对齐后的训练语音样本的声学特征,将所述对齐后的训练语音样本的声学特征作为待训练语音转换模型的输入。

在一个实施例中,所述获取待转换语音,提取所述待转换语音的声学特征,包括:转换所述待转换语音,得到待转换语音对应的待转换声学特征;根据所述待转换声学特征,计算得到所述待转换语音的声学特征。

在一个实施例中,所述声码器采用以下步骤得到:获取多个目标说话人的语音数据,提取每个目标说话人的语音数据对应的声学特征和向量;将声码器中的参数、所述声学特征和所述向量作为所述声码器的输入,将相应的目标说话人的语音数据作为期望的输出,对所述声码器进行训练,得到训练好的声码器,所述训练好的声码器用于对所述目标语音声学特征进行转换得到目标语音。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1