歌曲生成方法和装置与流程

文档序号:20760512发布日期:2020-05-15 18:03阅读:247来源:国知局
歌曲生成方法和装置与流程

本公开的实施例涉及计算机技术领域,具体涉及音频数据处理技术领域,尤其涉及歌曲生成方法和装置。



背景技术:

歌曲是将人声与音乐相结合形成的有声产品。歌曲的制作方法一般是录制歌唱者的歌声,然后将歌声与伴奏合成。

针对已有的歌曲,将歌词翻译为其他语言版本可以提高歌曲的流传度,丰富音乐作品的形式。目前的不同语言版本的歌曲制作方法需要歌唱者使用其他语种的语言对原重新演唱。这种方式成本较高,不利于不同语言版本的歌曲的批量生成。



技术实现要素:

本公开的实施例提出了歌曲生成方法和装置、电子设备和计算机可读介质。

第一方面,本公开的实施例提供了一种歌曲生成方法,包括:从第一语种的歌曲音频中提取出第一伴奏信号、第一语种的歌词以及第一歌声信号;将第一语种的歌词翻译为第二语种的歌词;将第一伴奏信号和第二语种的歌词输入已训练的伴奏生成模型,得到第二伴奏信号;将第一歌声信号和第二语种的歌词输入已训练的歌声生成模型,生成第二歌声信号;将第二伴奏信号和第二歌声信号合成为第二语种的歌曲音频。

在一些实施例中,上述方法还包括:基于第一样本歌曲音频集合训练伴奏生成模型,包括:获取第一样本歌曲音频集合中的第一样本歌曲音频的对应语种的歌词;从第一样本歌曲音频中提取伴奏信号,将第一样本歌曲音频的伴奏信号和第一样本歌曲的对应语种的歌词输入待训练的伴奏生成模型,得到第一样本歌曲音频的伴奏信号的预测结果;基于待训练的伴奏生成模型对第一样本歌曲音频的伴奏信号的预测结果与从对应的第一样本歌曲音频中提取出的伴奏信号之间的差异迭代调整伴奏生成模型的参数。

在一些实施例中,上述伴奏生成模型包括第一音乐编码器、第一文本编码器、第一频谱解码器以及第一声码器;第一音乐编码器对输入伴奏生成模型的伴奏信号进行编码;第一文本编码器对输入伴奏生成模型的歌词进行文本编码;第一频谱解码器基于第一音乐编码器和第一文本编码器的编码结果进行解码,得到对应的频谱信号;第一声码器基于第一频谱解码器解码得到的频谱信号生成歌曲的伴奏信号。

在一些实施例中,上述方法还包括:基于第二样本歌曲音频集合训练歌声生成模型,其中,歌声生成模型包括说话人声纹编码器以及歌声生成子模型;基于第二样本歌曲音频集合训练歌声生成模型,包括:基于说话人声纹识别任务对说话人声纹编码器进行训练;获取第二样本歌曲音频集合中的第二样本歌曲音频的对应语种的歌词;从第二样本歌曲音频中提取出歌声信号,利用训练完成的说话人声纹编码器从第二样本歌曲音频的歌声信号中提取出第二样本歌曲音频的说话人声纹特征;将第二样本歌曲音频的歌声信号和第二样本歌曲音频的对应语种的歌词、以及第二样本歌曲音频的说话人声纹特征输入待训练的歌声生成子模型,得到第二样本歌曲音频的歌声信号的预测结果;基于待训练的歌声生成模型对第二样本歌曲音频的歌声信号的预测结果与从对应的第二样本歌曲音频中提取出的歌声信号之间的差异迭代调整歌声生成子模型的参数。

在一些实施例中,上述歌声生成子模型包括:第二音乐编码器、第二文本编码器、第二频谱解码器以及第二声码器;第二音乐编码器对输入歌声生成子模型的歌声信号进行编码;第二文本编码器对输入歌声生成子模型的歌词进行文本编码;第二频谱解码器基于说话人声纹编码器、第二音乐编码器和第二文本编码器的编码结果进行解码,得到对应的频谱信号;第二声码器基于第二频谱解码器解码得到的频谱信号生成歌曲的歌声信号。

第二方面,本公开的实施例提供了一种歌曲生成装置,包括:提取单元,被配置为从第一语种的歌曲音频中提取出第一伴奏信号、第一语种的歌词以及第一歌声信号;翻译单元,被配置为将第一语种的歌词翻译为第二语种的歌词;第一生成单元,被配置为将第一伴奏信号和第二语种的歌词输入已训练的伴奏生成模型,得到第二伴奏信号;第二生成单元,被配置为将第一歌声信号和第二语种的歌词输入已训练的歌声生成模型,生成第二歌声信号;转换单元,被配置为将第二伴奏信号和第二歌声信号合成为第二语种的歌曲音频。

在一些实施例中,上述装置还包括:第一训练单元,被配置为基于第一样本歌曲音频集合,按照如下方式训练伴奏生成模型:获取第一样本歌曲音频集合中的第一样本歌曲音频的对应语种的歌词;从第一样本歌曲音频中提取伴奏信号,将第一样本歌曲音频的伴奏信号和第一样本歌曲的对应语种的歌词输入待训练的伴奏生成模型,得到第一样本歌曲音频的伴奏信号的预测结果;基于待训练的伴奏生成模型对第一样本歌曲音频的伴奏信号的预测结果与从对应的第一样本歌曲音频中提取出的伴奏信号之间的差异迭代调整伴奏生成模型的参数。

在一些实施例中,上述伴奏生成模型包括第一音乐编码器、第一文本编码器、第一频谱解码器以及第一声码器;第一音乐编码器对输入伴奏生成模型的伴奏信号进行编码;第一文本编码器对输入伴奏生成模型的歌词进行文本编码;第一频谱解码器基于第一音乐编码器和第一文本编码器的编码结果进行解码,得到对应的频谱信号;第一声码器基于第一频谱解码器解码得到的频谱信号生成歌曲的伴奏信号。

在一些实施例中,上述装置还包括:第二训练单元,被配置为基于第二样本歌曲音频集合训练歌声生成模型,其中,歌声生成模型包括说话人声纹编码器以及歌声生成子模型;第二训练单元被配置为按照如下方式训练歌声生成模型:基于说话人声纹识别任务对说话人声纹编码器进行训练;获取第二样本歌曲音频集合中的第二样本歌曲音频的对应语种的歌词;从第二样本歌曲音频中提取出歌声信号,利用训练完成的说话人声纹编码器从所述第二样本歌曲音频的歌声信号中提取出第二样本歌曲音频的说话人声纹特征;将第二样本歌曲音频的歌声信号和第二样本歌曲音频的对应语种的歌词、以及第二样本歌曲音频的说话人声纹特征输入待训练的歌声生成子模型,得到第二样本歌曲音频的歌声信号的预测结果;基于待训练的歌声生成模型对第二样本歌曲音频的歌声信号的预测结果与从对应的第二样本歌曲音频中提取出的歌声信号之间的差异迭代调整歌声生成子模型的参数。

在一些实施例中,上述歌声生成子模型包括:第二音乐编码器、第二文本编码器、第二频谱解码器以及第二声码器;第二音乐编码器对输入歌声生成子模型的歌声信号进行编码;第二文本编码器对输入歌声生成子模型的歌词进行文本编码;第二频谱解码器基于说话人声纹编码器、第二音乐编码器和第二文本编码器的编码结果进行解码,得到对应的频谱信号;第二声码器基于第二频谱解码器解码得到的频谱信号生成歌曲的歌声信号。

第三方面,本公开的实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面提供的歌曲生成方法。

第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现第一方面提供的歌曲生成方法。

本公开的上述实施例的歌曲生成方法和装置,通过从第一语种的歌曲音频中提取出第一伴奏信号、第一语种的歌词以及第一歌声信号,将第一语种的歌词翻译为第二语种的歌词,将第一伴奏信号和第二语种的歌词输入已训练的伴奏生成模型,得到第二伴奏信号,将第一歌声信号和第二语种的歌词输入已训练的歌声生成模型,生成第二歌声信号,将第二伴奏信号和第二歌声信号合成为第二语种的歌曲音频,实现了不同语种歌曲的自动生成,降低了多语种歌曲的制作成本,能够有效帮助提升歌曲作品的流传度。

附图说明

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

图1是本公开的实施例可以应用于其中的示例性系统架构图;

图2是根据本公开的歌曲生成方法的一个实施例的流程图;

图3是伴奏生成模型的一个示例性结构图;

图4是伴奏生成模型中的第一频谱解码器的结构示意图;

图5是歌声生成模型的一个示例性结构图;

图6是根据本公开的歌曲生成方法的另一个实施例的流程图;

图7是本公开的歌曲生成装置的一个实施例的结构示意图;

图8是适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。

图1示出了可以应用本公开的歌曲生成方法或歌曲生成装置的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以是用户端设备,其上可以安装有各种音频服务类应用。例如,歌唱类应用、音视频播放应用、语音服务应用,等等。用户110可以使用终端设备101、102、103录制音频文件,也可以通过终端设备101、102、103播放音频文件。

终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。

服务器105可以是运行各种服务的服务器,例如为终端设备101、102、103上运行的应用提供后台支持的服务器。服务器105可以接收终端设备101、102、103发送的音频,对音频数据进行处理,并将处理结果反馈至终端设备101、102、103。

在具体的应用场景中,服务器105可以是提供歌曲自动翻译服务的服务器。服务器105可以从终端设备101、102、103接收用户上传的期望翻译的歌曲的音频文件,然后利用已训练的模型将歌曲翻译为其他语种,生成新语种的歌曲音频,并将生成的新语种的歌曲音频发送至终端设备101、102、103。终端设备101、102、103可以通过音频输出装置向用户输出新语种的歌曲音频。

需要说明的是,本公开的实施例所提供的歌曲生成方法一般由服务器105执行,相应地,歌曲生成装置一般设置于服务器105中。

在一些场景中,服务器105可以从数据库、存储器或其他设备获取待翻译的歌曲音频,这时,示例性系统架构100可以不存在终端设备101、102、103和网络104。

需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,其示出了根据本公开的歌曲生成方法的一个实施例的流程200。该歌曲生成方法,包括以下步骤:

步骤201,从第一语种的歌曲音频中提取出第一伴奏信号、第一语种的歌词以及第一歌声信号。

在本实施例中,歌曲生成方法的执行主体可以首先获取第一语种的歌曲音频,作为待翻译的歌曲音频。第一语种的歌曲音频可以从歌手演唱歌曲的音乐文件中获取。

在实践中,用户可以指定一首歌曲并发出将该歌曲翻译为其他语言版本的请求。上述执行主体可以根据用户的请求获取该指定的歌曲的音频作为上述第一语种的歌曲音频。或者,上述执行主体可以从数据库中存储的,或者从网络下载的歌曲音频集合中选择至少一个作为上述第一语种的歌曲音频。

然后,可以对第一语种的歌曲音频进行歌声信号和伴奏信号的分离。具体地,可以采用不同的音轨分别滤除高频的人声信号和低频的伴奏信号来将歌曲中的歌声信号和伴奏信号分离。可以从数据库或网络获取该歌曲的第一语种的歌词,也可以通过对歌曲的音频或从歌曲的音频中提取出的歌声信号进行语音识别来获取第一语种的歌曲音频的歌词。

步骤202,将第一语种的歌词翻译为第二语种的歌词。

可以采用已训练的文本翻译模型将第一语种的歌词翻译为第二语种的歌词。在这里,第二语种可以是预先指定的。在具体的场景中,用户可以指定将歌曲翻译为某一语种,例如英语、西班牙语、日语,等等,可以将用户指定的该语种作为第二语种。

上述文本翻译模型可以按照如下方式训练:收集文本训练语料,利用文本训练语料预训练文本翻译模型。其中文本训练语料中可以包括第一语种的文本语句和对应的第二语种的文本语句。在预训练完成之后,还可以收集歌词翻译文本(例如同一首歌曲的不同语言版本的歌词)来构建歌词语句对,利用歌词语句对对预训练完成的文本翻译模型进行微调。

步骤203,将第一伴奏信号和第二语种的歌词输入已训练的伴奏生成模型,得到第二伴奏信号。

在本实施例中,可以在原歌曲音频的第一伴奏信号的基础上,基于翻译后的歌词生成与第二语种适应的第二伴奏信号,具体可以训练伴奏生成模型,利用已训练的伴奏生成模型来生成第二伴奏信号。

伴奏生成模型可以是基于神经网络构建的模型。可以基于同一歌曲的不同语种的歌曲音频的伴奏信号构建伴奏信号对,对伴奏生成模型进行训练。或者,可以从样本歌曲音频中提取出对应的歌词和伴奏信号作为待训练的伴奏生成模型的输入,获取待训练的伴奏生成模型输出的伴奏信号的质量得分,通过反向传播的方式,或者采用强化学习的方式将质量得分反馈至待训练的伴奏生成模型的参数调整中。这样,在训练过程中伴奏生成模型可以学习将歌词的信息添加到音乐伴奏中。在应用已训练完成的伴奏生成模型时,伴奏生成模型可以将第二语种的歌词的信息融合至第一语种的伴奏信号中,得到包含第二语种的歌词信息的第二伴奏信号。

可选地,上述伴奏生成模型可以包括第一音乐编码器、第一文本编码器、第一频谱解码器以及第一声码器。其中,第一音乐编码器对输入伴奏生成模型的伴奏信号进行编码;第一文本编码器对输入伴奏生成模型的歌词进行文本编码;第一频谱解码器基于第一音乐编码器和第一文本编码器的编码结果进行解码,得到对应的频谱信号;第一声码器基于第一频谱解码器解码得到的频谱信号生成歌曲的伴奏信号。

请参考图3,其示出了伴奏生成模型的一个结构示意图。

如图3所示,伴奏信号经过mfcc(melfrequencycepstralcoefficient,梅尔频率倒谱系数)采样提取频谱特征之后,输入至第一音乐编码器,第一音乐编码器的结构可以采用与自然语言处理的transformer(转换)单元的中的编码器类似的结构,包含多个selfattention(自注意力)层。歌词经过文本嵌入后输入至第一文本编码器进行编码。第一文本编码器的结构也可以采用与自然语言处理的transformer(转换)单元的中的编码器类似的结构,包含多个selfattention(自注意力)层。

第一频谱编码器可以作为解码器对第一音乐编码器对伴奏信号的编码结果和第一文本编码器对歌词的编码结果进行解码。在这里,第一频谱解码器可以采用与transformer(转换)单元的中的解码器类似的结构,包括多个multi-headattention单元(多头注意力单元)。

图4示出了第一频谱解码器的结构示意图。如图4所示,第一频谱解码器包括至少三个多头注意力(multi-headattention)单元,其中第一个多头注意力(multi-headattention)单元1接收来自伴奏生成单元预测出的伴奏信号经过mfcc特征提取后的频谱信号,第二个多头注意力(multi-headattention)单元2和第三个多头注意力(multi-headattention)单元3分别接收来自第一音乐编码器和第一文本编码器的输出。这样,第一频谱解码器可以融合伴奏信号和歌词的信息,使得伴奏生成模型的输出包含歌词的信息。

第一频谱解码器解码后获得预测出的伴奏信号的频谱信号,伴奏生成模型中的第一声码器可以将该频谱信号转换为对应的伴奏信号。

步骤204,将第一歌声信号和第二语种的歌词输入已训练的歌声生成模型,生成第二歌声信号。

歌声生成模型用于基于输入的歌声信号和歌词生成转换后的歌声信号。歌声生成模型可以采用与上述伴奏生成模型相似的方法训练。在一种实现方式中,可以获取同一歌曲的第一语种的歌声信号和第二语种的歌声信号,构建样本歌声信号对来训练上述歌声生成模型。或者,在另一些实现方式中,上述歌声生成模型可以基于样本歌曲音频训练得出。可以将样本歌曲音频中的歌声信号作为歌声生成模型的输入,将样本歌曲音频的第二语种的歌词也输入待训练的歌声生成模型。将待训练的歌声生成模型输出的歌声信号与样本歌曲音频的歌声信号进行比对,根据二者的差异迭代训练歌声生成模型。这样,歌声生成模型在训练中可以学习将某一语种的歌声信号与另一语种的歌词融合,从而在训练完成后歌声生成模型可以根据第一语种的歌声信号和第二语种的歌词生成第二语种的歌声信号。

在一些实施例中,上述歌声生成模型可以包括说话人声纹编码器以及歌声生成子模型。其中,说话人声纹编码器可以是基于卷积神经网络构建的模型,用于编码音频信号中的说话人的声纹。

图5示出了歌声生成模型的一个结构示意图。如图5所示,歌声生成模型包括说话人声纹编码器和歌声生成子模型。歌声生成子模型包括:第二音乐编码器、第二文本编码器、第二频谱解码器以及第二声码器。其中,第二音乐编码器对输入歌声生成子模型的歌声信号进行编码,第二文本编码器对输入歌声生成子模型的歌词进行文本编码,第二频谱解码器基于说话人声纹编码器、第二音乐编码器和第二文本编码器的编码结果进行解码,得到对应的频谱信号;第二声码器基于第二频谱解码器解码得到的频谱信号生成歌曲的歌声信号。

歌声生成子模型的结构与上述伴奏生成模型的结构相同。说话人声纹编码器的输出与歌声生成子模型中第一音乐编码器对伴奏信号的编码concat(拼接)。第二声码器对第二频谱解码器解码得到的频谱信号转换后得到预测出的歌声信号。

步骤205,将第二伴奏信号和第二歌声信号合成为第二语种的歌曲音频。

可以采用声音合成器将步骤203生成的第二伴奏信号和步骤204生成的第二歌声信号合成为第二语种的歌曲音频。可选地,可以预先训练歌曲合成模型,例如可以从歌曲中提取出伴奏信号和歌声信号之后输入至歌曲合成模型,基于歌曲合成模型的输出与原歌曲之间的频谱差异来迭代调整歌曲合成模型。然后,利用训练完成的歌曲合成模型对第二伴奏信号和第二歌声信号进行合成,得到第二语种的歌曲音频。

本公开上述实施例的歌曲生成方法,通过从第一语种的歌曲音频中提取出第一伴奏信号、第一语种的歌词以及第一歌声信号,将第一语种的歌词翻译为第二语种的歌词,将第一伴奏信号和第二语种的歌词输入已训练的伴奏生成模型,得到第二伴奏信号,将第一歌声信号和第二语种的歌词输入已训练的歌声生成模型,生成第二歌声信号,将第二伴奏信号和第二歌声信号合成为第二语种的歌曲音频,实现了不同语种歌曲的自动生成,降低了多语种歌曲的制作成本,能够有效帮助提升歌曲作品的流传度。

继续参考图6,其示出了本公开的歌曲生成方法的另一个实施例的流程图。如图6所示,本实施例的歌曲生成方法的流程600,包括以下步骤:

步骤601,基于第一样本歌曲音频集合训练伴奏生成模型。

在本实施例中,歌曲生成方法的执行主体可以获取第一样本歌曲音频。在实践中,可以收集不同语种的原声歌曲的音频来构建第一样本歌曲音频集合。

可以获取第一样本歌曲音频集合中的第一样本歌曲音频的对应语种的歌词,然后从第一样本歌曲音频中提取伴奏信号,将第一样本歌曲音频的伴奏信号和第一样本歌曲的对应语种的歌词输入待训练的伴奏生成模型,得到第一样本歌曲音频的伴奏信号的预测结果,基于待训练的伴奏生成模型对第一样本歌曲音频的伴奏信号的预测结果与从对应的第一样本歌曲音频中提取出的伴奏信号之间的差异迭代调整伴奏生成模型的参数。

该待训练的伴奏生成模型可以如上述图3所示,包括第一音乐编码器、第一文本编码器、第一频谱解码器以及第一声码器。第一音乐编码器对输入伴奏生成模型的伴奏信号进行编码;第一文本编码器对输入伴奏生成模型的歌词进行文本编码;第一频谱解码器基于第一音乐编码器和第一文本编码器的编码结果进行解码,得到对应的频谱信号;第一声码器基于第一频谱解码器解码得到的频谱信号生成歌曲的伴奏信号。

在训练伴奏生成模型的过程中,可以根据训练中伴奏生成模型输出的第一样本歌曲的音频的伴奏信号的预测结果与从第一样本歌曲音频中提取出的伴奏信号之间的差异构建损失函数,基于损失函数对第一音乐编码器、第一文本编码器、第一频谱解码器和第一声码器的参数进行迭代调整,直到损失函数的值收敛至一定的范围。

第一样本歌曲音频可以包括第一语种的第一样本歌曲音频和第二语种的第一样本歌曲音频。这样,伴奏生成模型在训练过程中可以学习生成与不同语种的歌曲相适应的伴奏信号。

步骤602,基于第二样本歌曲音频集合训练歌声生成模型。

在本实施例中,歌曲生成方法的执行主体可以获取第二样本歌曲音频。在实践中,可以收集不同语种的原声歌曲的音频来构建第二样本歌曲音频集合。第二样本歌曲音频集合可以与第一样本音频集合相同。可选地,第二样本歌曲音频集合包括第一语种的第二样本歌曲音频和第二语种的第二样本歌曲音频。这样,在训练完成之后,歌声生成模型可以学习将不同语种的歌词与歌声相融合。

上述歌声生成模型包括说话人声纹编码器以及歌声生成子模型。可以首先基于说话人声纹识别任务对说话人声纹编码器进行训练。然后训练歌声生成子模型。

具体地,可以对第二样本歌曲音频集合中的第二样本歌曲音频对应的演唱者进行标注。可以将第二样本歌曲音频中的歌声信号提取出来,输入至说话人声纹编码器进行编码,然后利用分类器对编码结果进行分类,识别出说话人声纹,将说话人声纹识别结果与演唱者标注信息进行比对,根据比对结果计算错误分类率,根据错误分类率多次迭代调整说话人声纹编码器的参数,直到错误分类率小于预设的阈值。

可以按照如下方式训练歌声生成子模型:首先获取第二样本歌曲音频集合中的第二样本歌曲音频的对应语种的歌词,然后从第二样本歌曲音频中提取出歌声信号,利用训练完成的说话人声纹编码器从第二样本歌曲音频的歌声信号中提取出第二样本歌曲音频的说话人声纹特征;之后将第二样本歌曲音频的歌声信号和第二样本歌曲音频的对应语种的歌词、以及第二样本歌曲音频的说话人声纹特征输入待训练的歌声生成子模型,得到第二样本歌曲音频的歌声信号的预测结果,之后基于待训练的歌声生成模型对第二样本歌曲音频的歌声信号的预测结果与从对应的第二样本歌曲音频中提取出的歌声信号之间的差异多次迭代调整歌声生成子模型的参数。

由于在训练歌声生成模型时将演唱者的声纹特征提取出来、将歌声信号和歌词分离开并输入歌声生成子模型,使得歌声生成子模型能够学习将歌唱者的声音特征与歌声信号、歌词融合。在训练完成之后,歌声生成模型可以将分离的歌声信号、歌词以及歌唱者的声音特征合成为完整的歌曲。

可选地,上述待训练的歌声生成子模型可以包括第二音乐编码器、第二文本编码器、第二频谱解码器以及第二声码器,其结构如图5所示,其中第二音乐编码器对输入歌声生成子模型的歌声信号进行编码,第二文本编码器对输入歌声生成子模型的歌词进行文本编码,第二频谱解码器基于说话人声纹编码器、第二音乐编码器和第二文本编码器的编码结果进行解码,得到对应的频谱信号,第二声码器基于第二频谱解码器解码得到的频谱信号生成歌曲的歌声信号。在歌声生成子模型训练时,每次迭代操作根据歌声生成子模型预测出的歌声信号与从第二样本歌曲音频中提取出的歌声信号之间的差异调整上述第二音乐编码器、第二文本编码器、第二频谱解码器以及第二声码器的参数。

需要说明的是,在本公开的其他实施例中,上述歌声生成子模型还可以基于其他类型的神经网络的结构单元构建,例如歌声生成子模型还可以基于循环神经网络构建。

步骤603,从第一语种的歌曲音频中提取出第一伴奏信号、第一语种的歌词以及第一歌声信号。

步骤604,将第一语种的歌词翻译为第二语种的歌词。

步骤605,将第一伴奏信号和第二语种的歌词输入已训练的伴奏生成模型,得到第二伴奏信号。

步骤606,将第一歌声信号和第二语种的歌词输入已训练的歌声生成模型,生成第二歌声信号。

步骤607,将第二伴奏信号和第二歌声信号合成为第二语种的歌曲音频。

本实施例的步骤603至步骤607与前述实施例的步骤201至步骤205一一对应,步骤603至步骤607的具体实现方式可以分别对应参考前述实施例中步骤201至步骤205的描述,此处不再赘述。

需要说明的是,在本公开的一些实施例中,歌曲生成方法的流程可以不包含上述步骤601,歌曲生成方法的执行主体可以直接获取已经训练完成的伴奏生成模型,并执行步骤602至步骤607来生成不同语种的歌曲音频。或者,在一些实施例中,歌曲生成方法的流程可以不包含上述步骤602,歌曲生成方法的执行主体可以直接获取已经训练完成的歌声生成模型,并执行步骤601、步骤603至步骤607来生成不同语种的歌曲的音频。

上述实施例能够利用收集到的歌曲音频数据训练出更可靠的伴奏生成模型和/或歌声生成模型,使得基于伴奏生成模型和/或歌声生成模型生成的第二语种的歌曲更加自然,进一步提升歌曲自动翻译的效果。

请参考图7,作为对上述歌曲生成方法的实现,本公开提供了一种歌曲生成装置的一个实施例,该装置实施例与图2和图6所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图7所示,本实施例的歌曲生成装置700包括提取单元701、翻译单元702、第一生成单元703、第二生成单元704以及转换单元705。其中,提取单元701被配置为从第一语种的歌曲音频中提取出第一伴奏信号、第一语种的歌词以及第一歌声信号;翻译单元702被配置为将第一语种的歌词翻译为第二语种的歌词;第一生成单元703被配置为将第一伴奏信号和第二语种的歌词输入已训练的伴奏生成模型,得到第二伴奏信号;第二生成单元704被配置为将第一歌声信号和第二语种的歌词输入已训练的歌声生成模型,生成第二歌声信号;转换单元705被配置为将第二伴奏信号和第二歌声信号合成为第二语种的歌曲音频。

在一些实施例中,上述装置还包括:第一训练单元,被配置为基于第一样本歌曲音频集合,按照如下方式训练伴奏生成模型:获取第一样本歌曲音频集合中的第一样本歌曲音频的对应语种的歌词;从第一样本歌曲音频中提取伴奏信号,将第一样本歌曲音频的伴奏信号和第一样本歌曲的对应语种的歌词输入待训练的伴奏生成模型,得到第一样本歌曲音频的伴奏信号的预测结果;基于待训练的伴奏生成模型对第一样本歌曲音频的伴奏信号的预测结果与从对应的第一样本歌曲音频中提取出的伴奏信号之间的差异迭代调整伴奏生成模型的参数。

在一些实施例中,上述伴奏生成模型包括第一音乐编码器、第一文本编码器、第一频谱解码器以及第一声码器;第一音乐编码器对输入伴奏生成模型的伴奏信号进行编码;第一文本编码器对输入伴奏生成模型的歌词进行文本编码;第一频谱解码器基于第一音乐编码器和第一文本编码器的编码结果进行解码,得到对应的频谱信号;第一声码器基于第一频谱解码器解码得到的频谱信号生成歌曲的伴奏信号。

在一些实施例中,上述装置还包括:第二训练单元,被配置为基于第二样本歌曲音频集合训练歌声生成模型,其中,歌声生成模型包括说话人声纹编码器以及歌声生成子模型;第二训练单元被配置为按照如下方式训练歌声生成模型:基于说话人声纹识别任务对说话人声纹编码器进行训练;获取第二样本歌曲音频集合中的第二样本歌曲音频的对应语种的歌词;从第二样本歌曲音频中提取出歌声信号,利用训练完成的说话人声纹编码器从第二样本歌曲音频的歌声信号中提取出第二样本歌曲音频的说话人声纹特征;将第二样本歌曲音频的歌声信号和第二样本歌曲音频的对应语种的歌词、以及第二样本歌曲音频的说话人声纹特征输入待训练的歌声生成子模型,得到第二样本歌曲音频的歌声信号的预测结果;基于待训练的歌声生成模型对第二样本歌曲音频的歌声信号的预测结果与从对应的第二样本歌曲音频中提取出的歌声信号之间的差异迭代调整歌声生成子模型的参数。

在一些实施例中,上述歌声生成子模型包括:第二音乐编码器、第二文本编码器、第二频谱解码器以及第二声码器;第二音乐编码器对输入歌声生成子模型的歌声信号进行编码;第二文本编码器对输入歌声生成子模型的歌词进行文本编码;第二频谱解码器基于说话人声纹编码器、第二音乐编码器和第二文本编码器的编码结果进行解码,得到对应的频谱信号;第二声码器基于第二频谱解码器解码得到的频谱信号生成歌曲的歌声信号。

上述装置700中的各单元与参考图2和图6描述的方法中的步骤相对应。由此,上文针对歌曲生成方法描述的操作、特征及所能达到的技术效果同样适用于装置700及其中包含的单元,在此不再赘述。

下面参考图8,其示出了适于用来实现本公开的实施例的电子设备(例如图1所示的服务器)800的结构示意图。图8示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。

如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储装置808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。

通常,以下装置可以连接至i/o接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置807;包括例如硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图8中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从rom802被安装。在该计算机程序被处理装置801执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所描述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:从第一语种的歌曲音频中提取出第一伴奏信号、第一语种的歌词以及第一歌声信号;将第一语种的歌词翻译为第二语种的歌词;将第一伴奏信号和第二语种的歌词输入已训练的伴奏生成模型,得到第二伴奏信号;将第一歌声信号和第二语种的歌词输入已训练的歌声生成模型,生成第二歌声信号;将第二伴奏信号和第二歌声信号合成为第二语种的歌曲音频。

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

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括提取单元、翻译单元、第一生成单元、第二生成单元以及转换单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,提取单元还可以被描述为“从第一语种的歌曲音频中提取出第一伴奏信号、第一语种的歌词以及第一歌声信号的单元”。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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