首页> 中国专利> 歌曲和弦编配模型的训练方法、装置、介质和计算设备

歌曲和弦编配模型的训练方法、装置、介质和计算设备

摘要

本公开的实施方式提供了一种歌曲和弦编配模型的训练方法、装置、介质和计算设备。所述方法包括:从样本歌曲的音频文件中提取音频特征信息,所述音频特征信息包括歌曲和弦和人声对应的音符序列;根据所述音频特征信息生成对应于所述音符序列的音符矩阵;将所述音符矩阵作为训练样本对所述歌曲和弦编配模型进行有监督训练,其中,提取到的所述歌曲和弦被作为所述训练样本的样本标签。该方法可以使作曲人员使用歌曲和弦编配模型实现对歌曲和弦的自动化编配。不仅能够大幅减少和弦编配需要的时间,从而提升作曲人员的编配效率并降低人工成本;而且即便是乐理基础较为薄弱的普通用户也能够实现和弦编配,从而有助于实现更加多样化的音乐服务形式。

著录项

  • 公开/公告号CN113870818A

    专利类型发明专利

  • 公开/公告日2021-12-31

    原文格式PDF

  • 申请/专利权人 杭州网易云音乐科技有限公司;

    申请/专利号CN202111076756.0

  • 申请日2021-09-14

  • 分类号G10H1/00(20060101);G10H1/38(20060101);G10L25/30(20130101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构11415 北京博思佳知识产权代理有限公司;

  • 代理人林祥

  • 地址 310052 浙江省杭州市萧山区钱江世纪城奔竞大道353号杭州国际博览中心A座1201室

  • 入库时间 2023-06-19 13:29:16

说明书

技术领域

本公开的实施方式涉及音频处理技术领域,更具体地,本公开的实施方式涉及一种歌曲和弦编配模型的训练方法、装置、介质和计算设备。

背景技术

本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

构成音乐的信息是极其复杂的,通常包括旋律和伴奏,而和弦是伴奏当中重要的组成部分。和弦指的是几个音符按照一定的音程关系构成的一组音高逻辑,它对于加强旋律的感情色彩,增强音乐作品的表现力有着重要的意义。和弦编配通常是伴奏编配过程中的核心工作,也是作曲工作的重要环节。

在现阶段的作曲工作中,和弦编配通常由作曲人员人工完成,即人工编写乐谱以完成和弦的编配工作。

发明内容

但是,为保证和弦的编配质量,人工编配通常对编配人员要求较高,如需要具有较为扎实的乐理基础等。而且人工编配和弦的过程通常比较繁琐耗时,因而编配效率普遍不高且人工成本较高。

为此,非常需要一种改进的歌曲和弦编配模型的训练方法,以提升和弦编配效率。

在本说明书的上下文中,本公开的实施方式期望提供一种歌曲和弦编配模型的训练方法、装置、介质和计算设备。

在本公开实施方式的第一方面中,提供了一种歌曲和弦编配模型的训练方法,所述方法包括:

从样本歌曲的音频文件中提取音频特征信息,所述音频特征信息包括歌曲和弦和人声对应的音符序列;

根据所述音频特征信息生成对应于所述音符序列的音符矩阵;

将所述音符矩阵作为训练样本对所述歌曲和弦编配模型进行有监督训练,其中,提取到的所述歌曲和弦被作为所述训练样本的样本标签。

可选地,所述音频特征信息还包括所述音符序列中各个人声音符的时长信息,所述方法还包括:

以预设倍数的分音符为基本单位,在所述音符序列对应的时间区间中确定包含多个基准节拍点的节拍点序列;

根据所述各个人声音符的时长信息确定所述音符序列中各个人声音符在所述节拍点序列中分别对应的基准音符节拍点,任一人声音符对应的基准音符节拍点被用于确定所述音符矩阵中对应于该人声音符的矩阵元素。

可选地,还包括:

将所述音符序列中各个人声音符的预设时刻对应的音符节拍点分别调整为相应的最近基准音符节拍点;其中,任一音符节拍对应的最近基准音符节拍点为所述节拍点序列中距离该音符节拍点最近的基准节拍点,调整后的各个人声音符对应的基准音符节拍点被用于生成所述音符矩阵中对应于该人声音符的矩阵元素。

可选地,所述预设倍数的分音符为三十二分音符。

可选地,所述音频特征信息还包括所述音符序列中各个人声音符的音高信息,所述根据所述音频特征信息生成对应于所述音符序列的音符矩阵,包括:

根据所述各个人声音符对应的音高信息和确定出的所述基准音符节拍点,确定所述音符矩阵中对应于该人声音符的矩阵元素,以生成所述音符矩阵。

可选地,所述音符矩阵为m×n矩阵,其中,行数m为用于生成所述音符矩阵的音符序列的音符数量、列数n为所述节拍点序列按基准节拍点的预设倍数划分的节拍数量;所述根据所述各个人声音符对应的音高信息和确定出的所述基准音符节拍点,确定所述音符矩阵中对应于该人声音符的矩阵元素,以生成所述音符矩阵置,包括:

根据所述各个人声音符分别对应的音高信息确定所述各个人声音符在音符矩阵中对应的行;以及,

根据所述音符序列中各个人声音符分别对应的基准音符节拍点,确定所述各个人声音符在所述音符矩阵中对应的列;

根据所述各个人声音符对应的行列位置确定所述音符矩阵中的非零元素,将所述非零元素设置为预设值,以生成所述音符矩阵。

可选地,所述音频特征信息还包括所述样本歌曲的歌曲调式和所述音符序列中各个人声音符的音高信息,所述音高信息匹配于所述歌曲调式,所述方法还包括:

在所述歌曲调式区别于标准调式的情况下,将所述音高信息调整为匹配于所述标准调式的音高信息,调整后的音高信息被用于生成所述音符矩阵。

可选地,所述根据所述音频特征信息生成对应于所述音符序列的音符矩阵,包括:

确定所述样本歌曲中的节拍,并按照预设节拍数量将所述音符序列依次划分为多个音符片段,任一音符片段对应于所述音频特征信息中相应节拍区间对应的音频片段特征信息;

根据所述音符序列中各个音符片段分别对应的音符片段特征信息分别生成各个音符片段对应的音符子矩阵,提取得到的所述歌曲和弦中对应于任一音符片段的和弦片段被作为该音符片段所对应音符子矩阵的样本标签。

可选地,所述预设节拍数量为:所述样本歌曲的歌曲节拍中每小节的拍数。

可选地,所述音频特征信息还包括所述样本歌曲的歌曲调式;通过下式(1)或(2)计算所述歌曲和弦编配模型针对任一音符片段输出的歌曲和弦编配结果O对应的奖励Reward:

其中,所述a、b、c均为正数,且b

可选地,所述歌曲和弦编配模型基于强化学习模型搭建,所述歌曲和弦编配模型中的智能体Agent包括由多层一维卷积构成的第一网络和由多个全连接层构成的第二网络。

在本公开实施方式的第二方面中,提供了一种歌曲和弦的编配方法,所述方法包括:

获取待编配歌曲的音频文件,并从所述音频文件中提取所述待编配歌曲中的人声对应的音符序列;

根据所述音符序列生成对应于所述音符序列的音符矩阵;

将所述音符矩阵输入经过预训练的歌曲和弦编配模型,并接收所述歌曲和弦编配模型基于所述音符矩阵对所述待编配歌曲进行编配后输出的歌曲和弦。

可选地,所述根据所述音符序列生成对应于所述音符序列的音符矩阵,包括:

确定所述待编配歌曲中的节拍,并按照预设节拍数量将所述音符序列依次划分为多个音符片段;

根据所述音符序列确定所述待编配歌曲的各个人声音符的音高信息和时长信息;

根据所述各个人声音符的音高信息和时长信息分别生成各个音符片段分别对应的音符子矩阵。

可选地,所述将所述音符矩阵输入经过预训练的歌曲和弦编配模型,并接收所述歌曲和弦编配模型基于所述音符矩阵对所述待编配歌曲进行编配后输出的歌曲和弦,包括:

将所述各个音符片段分别对应的各个音符子矩阵构成的子矩阵集合作为一个episode输入所述歌曲和弦编配模型;

接收所述歌曲和弦编配模型输出的歌曲和弦,所述歌曲和弦包括所述各个音符片段分别对应的和弦片段。

可选地,所述歌曲和弦编配模型通过样本歌曲进行预训练得到,其中,所述样本歌曲的音符矩阵被作为训练样本,所述样本歌曲的歌曲和弦被作为所述训练样本的样本标签。

可选地,所述歌曲和弦编配模型基于强化学习模型搭建,所述歌曲和弦编配模型中的智能体Agent包括由多层一维卷积构成的第一网络和由多个全连接层构成的第二网络。

可选地,所述歌曲和弦编配模型基于所述音符矩阵对所述待编配歌曲进行编配,包括:

所述第一网络基于所述音符矩阵提取所述待编配歌曲的特征信息;

所述第二网络根据所述特征信息确定所述音符序列中的各个人声音符分别对应的和弦。

可选地,所述歌曲和弦编配模型通过样本歌曲进行预训练得到,所述样本歌曲的歌曲调式对应于多个备选和弦,所述歌曲和弦编配模型针对所述样本歌曲输出的和弦编配结果所对应奖励Reward的大小,与所述和弦编配结果和所述备选和弦之间的匹配程度呈正相关。

可选地,所述音频文件包括:

包含所述待编配歌曲中的人声的人声文件;或者,

基于包含所述待编配歌曲中的人声的人声文件生成的MIDI文件。

可选地,所述歌曲和弦包括:

所述待编配歌曲对应的独立和弦文件;

将所述待编配歌曲对应的独立和弦文件合并至所述音频文件得到的完整歌曲音频文件。

可选地,所述音频文件由用户提供,所述歌曲和弦用于向所述用户展示。

在本公开实施方式的第三方面中,提供了一种歌曲和弦编配模型的训练装置,所述装置包括:

信息提取模块,用于从样本歌曲的音频文件中提取音频特征信息,所述音频特征信息包括歌曲和弦和人声对应的音符序列;

矩阵生成模块,用于根据所述音频特征信息生成对应于所述音符序列的音符矩阵;

模型训练模块,用于将所述音符矩阵作为训练样本对所述歌曲和弦编配模型进行有监督训练,其中,提取到的所述歌曲和弦被作为所述训练样本的样本标签。

可选地,所述音频特征信息还包括所述音符序列中各个人声音符的时长信息,所述装置还包括:

序列确定模块,用于以预设倍数的分音符为基本单位,在所述音符序列对应的时间区间中确定包含多个基准节拍点的节拍点序列;

节拍点确定模块,用于根据所述各个人声音符的时长信息确定所述音符序列中各个人声音符在所述节拍点序列中分别对应的基准音符节拍点,任一人声音符对应的基准音符节拍点被用于确定所述音符矩阵中对应于该人声音符的矩阵元素。

可选地,还包括:

节拍点调整模块,用于将所述音符序列中各个人声音符的预设时刻对应的音符节拍点分别调整为相应的最近基准音符节拍点;其中,任一音符节拍对应的最近基准音符节拍点为所述节拍点序列中距离该音符节拍点最近的基准节拍点,调整后的各个人声音符对应的基准音符节拍点被用于生成所述音符矩阵中对应于该人声音符的矩阵元素。

可选地,所述预设倍数的分音符为三十二分音符。

可选地,所述音频特征信息还包括所述音符序列中各个人声音符的音高信息,所述矩阵生成模块还用于:

根据所述各个人声音符对应的音高信息和确定出的所述基准音符节拍点,确定所述音符矩阵中对应于该人声音符的矩阵元素,以生成所述音符矩阵。

可选地,所述音符矩阵为m×n矩阵,其中,行数m为用于生成所述音符矩阵的音符序列的音符数量、列数n为所述节拍点序列按基准节拍点的预设倍数划分的节拍数量;所述矩阵生成模块还用于:

根据所述各个人声音符分别对应的音高信息确定所述各个人声音符在音符矩阵中对应的行;以及,

根据所述音符序列中各个人声音符分别对应的基准音符节拍点,确定所述各个人声音符在所述音符矩阵中对应的列;

根据所述各个人声音符对应的行列位置确定所述音符矩阵中的非零元素,将所述非零元素设置为预设值,以生成所述音符矩阵。

可选地,所述音频特征信息还包括所述样本歌曲的歌曲调式和所述音符序列中各个人声音符的音高信息,所述音高信息匹配于所述歌曲调式,所述装置还包括:

调式调整模块,用于在所述歌曲调式区别于标准调式的情况下,将所述音高信息调整为匹配于所述标准调式的音高信息,调整后的音高信息被用于生成所述音符矩阵。

可选地,所述矩阵生成模块还用于:

确定所述样本歌曲中的节拍,并按照预设节拍数量将所述音符序列依次划分为多个音符片段,任一音符片段对应于所述音频特征信息中相应节拍区间对应的音频片段特征信息;

根据所述音符序列中各个音符片段分别对应的音符片段特征信息分别生成各个音符片段对应的音符子矩阵,提取得到的所述歌曲和弦中对应于任一音符片段的和弦片段被作为该音符片段所对应音符子矩阵的样本标签。

可选地,所述预设节拍数量为:所述样本歌曲的歌曲节拍中每小节的拍数。

可选地,所述音频特征信息还包括所述样本歌曲的歌曲调式;

所述装置还包括奖励计算模块,用于通过下式(1)或(2)计算所述歌曲和弦编配模型针对任一音符片段输出的歌曲和弦编配结果O对应的奖励Reward:

其中,所述a、b、c均为正数,且b

可选地,所述歌曲和弦编配模型基于强化学习模型搭建,所述歌曲和弦编配模型中的智能体Agent包括由多层一维卷积构成的第一网络和由多个全连接层构成的第二网络。

在本公开实施方式的第四方面中,提供了一种歌曲和弦的编配装置,所述装置包括:

文件获取模块,用于获取待编配歌曲的音频文件,并从所述音频文件中提取所述待编配歌曲中的人声对应的音符序列;

矩阵生成模块,用于根据所述音符序列生成对应于所述音符序列的音符矩阵;

和弦编配模块,用于将所述音符矩阵输入经过预训练的歌曲和弦编配模型,并接收所述歌曲和弦编配模型基于所述音符矩阵对所述待编配歌曲进行编配后输出的歌曲和弦。

可选地,所述矩阵生成模块还用于:

确定所述待编配歌曲中的节拍,并按照预设节拍数量将所述音符序列依次划分为多个音符片段;

根据所述音符序列确定所述待编配歌曲的各个人声音符的音高信息和时长信息;

根据所述各个人声音符的音高信息和时长信息分别生成各个音符片段分别对应的音符子矩阵。

可选地,所述和弦编配模块还用于:

将所述各个音符片段分别对应的各个音符子矩阵构成的子矩阵集合作为一个episode输入所述歌曲和弦编配模型;

接收所述歌曲和弦编配模型输出的歌曲和弦,所述歌曲和弦包括所述各个音符片段分别对应的和弦片段。

可选地,所述歌曲和弦编配模型通过样本歌曲进行预训练得到,其中,所述样本歌曲的音符矩阵被作为训练样本,所述样本歌曲的歌曲和弦被作为所述训练样本的样本标签。

可选地,所述歌曲和弦编配模型基于强化学习模型搭建,所述歌曲和弦编配模型中的智能体Agent包括由多层一维卷积构成的第一网络和由多个全连接层构成的第二网络。

可选地,所述和弦编配模块还用于:

所述第一网络基于所述音符矩阵提取所述待编配歌曲的特征信息;

所述第二网络根据所述特征信息确定所述音符序列中的各个人声音符分别对应的和弦。

可选地,所述歌曲和弦编配模型通过样本歌曲进行预训练得到,所述样本歌曲的歌曲调式对应于多个备选和弦,所述歌曲和弦编配模型针对所述样本歌曲输出的和弦编配结果所对应奖励Reward的大小,与所述和弦编配结果和所述备选和弦之间的匹配程度呈正相关。

可选地,所述音频文件包括:

包含所述待编配歌曲中的人声的人声文件;或者,

基于包含所述待编配歌曲中的人声的人声文件生成的MIDI文件。

可选地,所述歌曲和弦包括:

所述待编配歌曲对应的独立和弦文件;

将所述待编配歌曲对应的独立和弦文件合并至所述音频文件得到的完整歌曲音频文件。

可选地,所述音频文件由用户提供,所述歌曲和弦用于向所述用户展示。

在本公开实施方式的第五方面中,提供了一种介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一实施例所述的歌曲和弦编配模型的训练方法。

在本公开实施方式的第六方面中,提供了一种计算设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器通过运行所述可执行指令以实现上述第一方面中任一实施例所述的歌曲和弦编配模型的训练方法。

根据本公开实施方式的歌曲和弦编配模型的训练方法,模型训练设备可以从样本歌曲的音频文件中提取包括歌曲和弦和人声对应的音符序列的音频特征信息,然后根据该音频特征信息生成对应于所述音符序列的音符矩阵,再将该矩阵作为训练样本对歌曲和弦编配模型进行有监督训练,其中,提取到的上述歌曲和弦被作为训练样本的样本标签。

采用上述训练方式,能够为作曲人员提供一种歌曲和弦编配模型,以便作曲人员能够使用该模型实现对歌曲和弦的自动化编配。使得作曲人员能够更加专注于音乐本身,而非大量的重复工作。通过该模型对歌曲和弦进行自动化编配,不仅能够大幅减少和弦编配需要的时间,从而提升作曲人员的编配效率并降低人工成本。而且即便是乐理基础较为薄弱的普通用户也能够实现和弦编配,有助于实现更加多样化的音乐服务形式。

附图说明

通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:

图1示意性地示出了相关技术中的一种歌曲编配系统的示意图;

图2示意性地示出了根据本公开实施方式的一种歌曲和弦编配模型的训练方法的流程图;

图3示意性地示出了根据本公开实施方式的一种歌曲特征信息提取过程的示意图;

图4示意性地示出了根据本公开实施方式的一种歌曲调式调整过程的示意图;

图5示意性地示出了根据本公开实施方式的一种节拍点调整过程的示意图;

图6示意性地示出了根据本公开实施方式的MIDI序号的示意图;

图7示意性地示出了根据本公开实施方式的一种稀疏矩阵的示意图;

图8示意性地示出了根据本公开实施方式的一种音符矩阵的示意图;

图9示意性地示出了根据本公开实施方式的一种基于强化学习模型搭建的歌曲和弦编配模型的结构示意图;

图10示意性地示出了根据本公开实施方式的一种歌曲和弦编配模型的训练过程示意图;

图11示意性地示出了根据本公开实施方式的一种歌曲和弦的编配方法的流程图;

图12示意性地示出了根据本公开实施方式的一种介质的示意图;

图13示意性地示出了根据本公开实施方式的一种歌曲和弦编配模型的训练装置的框图;

图14示意性地示出了根据本公开实施方式的一种歌曲和弦的编配装置的框图;

图15示意性地示出了根据本公开实施方式的一种计算设备的示意图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本公开的实施方式,提出了一种歌曲和弦编配模型的训练方法、装置、介质和计算设备。

在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。

发明人发现,在现阶段的作曲工作中,和弦编配通常由作曲人员人工完成,即人工编写乐谱以完成和弦的编配工作。但是为保证和弦的编配质量,人工编配通常对编配人员要求较高,如需要具有较为扎实的乐理基础等。而且人工编配和弦的过程通常比较繁琐耗时,因而编配效率普遍不高且人工成本较高。

为了解决上述问题,本公开提供一种歌曲和弦编配模型的训练方法、装置、介质和计算设备。由模型训练设备从样本歌曲的音频文件中提取包括歌曲和弦和人声对应的音符序列的音频特征信息,然后根据该音频特征信息生成对应于所述音符序列的音符矩阵,再将该矩阵作为训练样本对歌曲和弦编配模型进行有监督训练,其中,提取到的上述歌曲和弦被作为训练样本的样本标签。通过该方式训练得到的歌曲和弦编配模型能够供作曲人员用于自动化编配歌曲和弦。

利用上述训练方式,能够为作曲人员提供一种歌曲和弦编配模型,以便作曲人员使用该模型实现对歌曲和弦的自动化编配。通过该编配方式,作曲人员能够更加专注于音乐本身,而非大量的重复工作。不仅能够大幅减少和弦编配需要的时间,从而提升作曲人员的编配效率并降低人工成本。而且即便是乐理基础较为薄弱的普通用户也能够实现和弦编配,从而有助于实现更加多样化的音乐服务形式。

在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。

需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。

图1是一示例性实施例提供的一种歌曲编配系统的架构示意图。如图1所示,该系统可以包括网络10、服务器11、若干电子设备,如手机12、手机13和手机14等。

服务器11可以为包含一独立主机的物理服务器,或者该服务器11可以为主机集群承载的虚拟服务器、云服务器等。手机12-14只是用户可以使用的一种类型的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:平板设备、笔记本电脑、掌上电脑(PDAs,Personal Digital Assistants)、可穿戴设备(如智能眼镜、智能手表等)等,本公开一个或多个实施例并不对此进行限制。网络10可以包括多种类型的有线或无线网络。

服务器11可以与手机12-14进行配合实现和弦编配。其中,可由服务器11基于获取到的样本歌曲对歌曲和弦编配模型进行有监督训练。进而,在一实施例中,服务器11可以将训练完成的歌曲和弦编配模型部署在本地,以便用户(如作曲人员或者普通用户)使用手机12-14上传歌曲编配信息,并由服务器11将接收到的歌曲编配信息作为入参输入至歌曲和弦编配模型,并将模型基于歌曲编配信息编配后输出的歌曲和弦返回至相应的手机,以供用户使用。在另一实施例中,服务器11可以将训练完成的歌曲和弦编配模型(如轻量化模型)下发至手机12-14并完成部署,以便用户使用手机12-14中运行的歌曲和弦编配模型进行歌曲和弦编配,并得到模型输出的歌曲和弦,从而实现模型的轻量化和本地化运行。或者,上述歌曲和弦编配模型也可以由其他设备使用本公开所述的方法训练完成后提供至服务器11,换言之,作为本公开所述歌曲和弦编配模型训练方法的执行主体的模型训练设备,可以为图1所述的服务器11,也可以为其他设备,本公开实施例并不对此进行限制。

根据本公开实施方式所述的歌曲和弦编配模型的训练方法,由模型训练设备从样本歌曲的音频文件中提取包括歌曲和弦和人声对应的音符序列的音频特征信息,然后根据该音频特征信息生成对应于所述音符序列的音符矩阵,再将该矩阵作为训练样本对歌曲和弦编配模型进行有监督训练,其中,提取到的上述歌曲和弦被作为训练样本的样本标签。通过该方式训练得到的歌曲和弦编配模型能够供作曲人员用于对歌曲和弦进行自动化编配。

在实际应用中,所述样本歌曲可以为包含人声的任何歌曲,其中的人声可以为歌手发出的声音,如唱出歌曲的歌词时所发出的声音等。当然,也可以为其他声音,如婴儿的牙牙学语、动物叫声、歌曲中的和声等,这类声音通常属于歌曲的旋律,而区别于乐器所发出的歌曲伴奏。

上述人声对应于歌曲中的人声音符,即歌曲中持续一定时长的一段连续人声即对应于歌曲中的一个人声音符,而任一人声所对应人声音符的个数与这一人声的发音有关。例如,一个汉字仅对应一个人声音符,而一个英文单词对应于至少一个人声音符,如“an”对应于一个人声音符,“apple”对应于2两个人声音符、“elephant”则对应于4个人声音符,不再赘述。

下面结合图1的应用场景,参考图2来描述根据本公开示例性实施方式的用于歌曲和弦编配模型的训练的方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。

参考图2,图2示意性地示出了根据本公开实施方式的一种歌曲和弦编配模型的训练方法的流程图。该歌曲和弦编配模型的训练方法应用于模型训练设备,可以包括以下步骤S202-S206。

步骤S202,从样本歌曲的音频文件中提取音频特征信息,所述音频特征信息包括歌曲和弦和人声对应的音符序列。

在本实施例中,模型训练设备在获取到样本歌曲的音频文件后,可以从该文件中提取包括歌曲和弦和歌曲中的人声所对应歌曲调式的音频特征信息。

其中,上述样本歌曲可以为音乐消费平台所维护的歌曲,相应地,其音频文件可以从音乐消费平台对应的用于保存歌曲文件的数据库中获取。其中,任一样本歌曲的音频文件可以为WAV(Windows Media Audio,Windows媒体音频)、CD(Compact Disc,激光唱片)、MIDI(Musical Instrument Digital Interface,乐器数字接口)等格式的文件,本公开实施例并不对此进行限制。另外,为保证训练所得歌曲和弦编配模型的编配准确性,可以获取具有相同歌曲属性的样本歌曲。例如对于曲风属性,样本歌曲可以均属于流行音乐、或者均属于民谣、再或者均属于古典等;对歌词语言属性,样本歌曲的歌词可以均为中文、或者均为英文、均为日文等,不再赘述。当然,为了保证歌曲和弦编配模型具有较强的泛化能力,上述样本歌曲的歌曲属性也可以不同,如一部分样本歌曲属于民谣曲风,另一部分样本歌曲属于古典曲风等,本公开实施例并不对此进行限制。

在一实施例中,模型训练设备可以采用MIR(Music Information Retriveal,音乐信息检索)技术对音频文件中的音乐信息进行提取。具体的,可以采用Aubio、Essentia或者Librosa等音频处理工具,从音频文件中提取出样本歌曲的多种音频特征信息。上述工具的具体使用方式可以参见相关技术中的详细记载,此处不再赘述。

在一实施例中,模型训练设备可以针对一个样本歌曲的完整音频文件进行上述特征提取处理,以提取出该样本歌曲的多个完整音频特征信息。如图3所示,为模型训练设备对任一样本歌曲的音频文件进行特征提取的过程。模型训练设备可以从该音频文件中提取出歌曲和弦、歌曲调式、音高信息和时长信息等音频特征信息。其中,歌曲和弦即为该样本歌曲的实际歌曲和弦;歌曲调式即为该样本歌曲的调式。另外,模型训练设备可以直接提取该音频文件中各个人声音符的音高信息和时长信息。基于提取出的音高信息和时长信息,模型训练设备可以确定该音频文件中的各个人声音符,而各个人声音符按照各自在样本歌曲时间轴中的位置排序,即可得到该样本歌曲中的人声对应的音符序列。当然,模型训练设备也可以直接从音频文件中提取出上述音符序列,并通过对该序列中各个人声音符进行音高和时长分析,确定各个人声音符的音高信息和时长信息。实际上,任一人声音符可以通过该音符的音高信息和时长信息进行表示。

在另一实施例中,考虑到同一样本歌曲的不同部分对应的音频特征信息可能并不相同,如某一样本歌曲的前半部分为C调,后半部分为C#调,即歌曲调式并不固定,此时对整个样本歌曲进行调式提取则可能出现错误。因此为避免上述问题,并减少后续矩阵生成及模型训练过程中的单次计算量,模型训练设备也可以将一个样本歌曲的完整音频文件拆分成多个音频文件片段(相应地,该歌曲对应的音符序列也被划分为多个音符片段),并针对各个音频文件片段分别提取相应的音频特征信息片段。例如,图3也可以用于表示对任一样本歌曲划分的到的任一音频文件片段进行特征提取的过程。当然,此时提取出的特征是该音频文件片段所对应的音频特征信息片段,如歌曲和弦片段、歌曲调式片段、音高信息片段和时长信息片段等。

具体的,对于任一样本歌曲,模型训练设备可以先确定样本歌曲中的节拍,然后按照预设节拍数量将样本歌曲的音频文件划分为多个音频文件片段(相应地,也将该歌曲的音符序列按照上述预设节拍数量依次划分为多个音符片段)。其中,上述预设节拍数量可以为样本歌曲的歌曲节拍中每小节的拍数——即按照样本歌曲的小节进行划分,每一小节对应于一个音频文件片段。例如,4/4拍以四分音符为一拍,每小节四拍,此时模型训练设备可以以4拍为单位对样本歌曲的音频文件进行划分,从而划分得到分别对应于样本歌曲中各个小节的多个音频文件片段。

另外,上述过程提取到的音符序列可以通过钢琴卷帘的形式直观地表示。承接于前述实施例,对于图3中提取到的任意一个包含四拍的小节,其对应的音符片段如图3中的钢琴卷帘所示。其中,该小节包括四个节拍301,如竖线P1-P4(P0作为小节起点,不算在内)所示,相应的包括4个节拍间隔(任意两相邻竖线之间的间隔),对应于该小节的时间区间。通过上述过程提取到的该小节对应的音符片段中包括5个人声音符302,如N1-N5所示。任一人声音符在钢琴卷帘中的所处的位置由该人声音符的音高信息和时长信息所决定:音高信息决定人声音符在钢琴卷帘中的纵坐标(位置高低),如人声音符N1的音高高于N2的音高,N4的音高低于N3的音高;时长信息决定人声音符在钢琴卷帘中的横向长度,如人声音符N3的持续时长大于N2的持续时长,N5的持续时长小于N4的持续时长等。当然,上述钢琴卷帘仅是为了直观地说明各个人声音符之间的相互关系,实际训练过程中,模型训练设备可以不必以钢琴卷帘的形式绘制上述人声音符。

任一歌曲的歌曲调式与该歌曲中各个人声音符的基准音高相对应,如C调歌曲的基准音高低于C#调歌曲的基准音高。某一歌曲的基准音高越高,表明该歌曲中各个人声音符的音高普遍比较高。可见,任一歌曲的调式匹配于该歌曲中人声音符的音高信息。为了使歌曲和弦编配模型在训练过程中快速收敛,加快训练速度,可以控制用于模型训练的各个样本歌曲的调式保持一致,如对某些样本歌曲的歌曲调式进行调整。具体的,模型训练设备可以在训练开始前预先设定一个标准调式,进而在提取到样本歌曲的歌曲调式和该歌曲的音符序列中各个人声音符的音高信息之后,模型训练设备可以判断该歌曲的歌曲调式是否为上述标准调式,并在该歌曲调式区别于标准调式的情况下,将该样本歌曲的音高信息调整为匹配于该标准调式的音高信息。调整后的音高信息可以被在后续步骤204中用于生成音符矩阵,此处暂不赘述。

例如,在预先设置标准调式为C大调的情况下,若某一样本歌曲的歌曲调式为D大调,则可以将该歌曲的调式调整为C大调。如图4所示,样本歌曲中的各个人声音符分别对应于一个音符标记。图4的(1)对应于调整前的D大调,(2)对应于调整后的C大调。对比(1)和(2)可见,调整后的各个音符标记的音高被降低,各个音符标记在五线谱中的位置均下降了半个间:如(1)中的第一个音符标记位于第四线上,(2)中的第一个音符标记位于第三线和第四线中间。对应于图4的调整过程,各个人声音符在钢琴卷帘中的高度也应当相应降低,不再赘述。

实际上,在获取样本歌曲时可以基于歌曲信息确定歌曲和弦,并仅获取某种和弦的样本歌曲,如仅获取大三和弦的歌曲或者仅获取小三和弦的歌曲等。当然,也可以通过上述方式将获取到的样本歌曲的歌曲和弦均调整为大三和弦或者均调整为小三和弦等,不再赘述。

步骤S204,根据所述音频特征信息生成对应于所述音符序列的音符矩阵。

在本实施例中,提取到样本歌曲的上述音频特征信息之后,模型训练设备可以根据该信息生成对应于该歌曲的音符序列的音符矩阵。其中,音符矩阵可以通过多维的稀疏矩阵生成,此时,该矩阵中对应于人声音符的矩阵元素为非零元素,其余元素为零元素。相应地,生成音符矩阵的过程,即为根据音符序列中各个人声音符的时长信息和音高信息确定音符矩阵中各个非零元素的位置的过程。

在一实施例中,在上述音频特征信息包括音符序列中各个人声音符的时长信息的情况下,模型训练设备可以以预设倍数的分音符为基本单位,在音符序列对应的时间区间中确定包含多个基准节拍点的节拍点序列,然后根据该序列中各个人声音符的时长信息确定音符序列中各个人声音符在节拍点序列中分别对应的基准音符节拍点。其中,任一人声音符对应的基准音符节拍点被用于确定音符矩阵中对应于该人声音符的矩阵元素。

其中,本公开实施例对于上述预设倍数的分音符并不进行限制,例如可以为八分音符、十六分音符、三十二分音符等。按照预设倍数的分音符在音符序列对应的时间区间中确定包含多个基准节拍点的节拍点序列,即为将一个音符片段均分为预设份数(对应于预设倍数)。可见,上述预设倍数的数值越大,表明将一个音符片段划分的份数越多,所以后续对时长信息的调整精度也越高。承接于图3所示4/4拍歌曲中的一个小节对应的音符片段的实施例,下面以三十二分音符为例,结合图5进行说明。

如图5的(1)所示。以三十二分音符为基本单位确定节拍点序列,即为将一个小节所对应4拍的节拍区间均分为三十二份。如前所述,该小节共包括4个节拍间隔,所以任一节拍间隔被均分为八份,如图中虚线所示。其中,P0-P4之间的任一虚线或实线,均表征划分后的一个基准节拍点,全部三十三个基准节拍点按序排列即构成上述节拍点序列。

其中,对于任一人声音符来说,位于其两端点外侧且距离相应端点最近的两个基准节拍点之间的全部基准节拍点,均为该人声音符的基准音符节拍点。如图5的(1)所示,位于人声音符N2的左侧端点外侧且距离该端点最近的基准节拍点为P0右侧的第七个基准节拍点(下称P07)、位于人声音符N2的右侧端点外侧且距离该端点最近的基准节拍点为P1右侧的第四个基准节拍点(下称P14),因此位于P07和P14之间的全部基准节拍点(P07,P1,P11,P12,P13和P14)均为人声音符N2的基准音符节拍点。其他人声音符与此类似,不再赘述。特殊的,人声音符N1左侧已经位于P0外侧,所以可以将P0作为人声音符N1的第一个基准音符节拍点。

在确定出各个人声音符对应的基准音符节拍点之后,模型训练设备可以根据各个人声音符对应的音高信息和时长信息确定出的基准音符节拍点,进一步确定音符矩阵中对应于该人声音符的矩阵元素,以生成音符矩阵。例如在上述音符矩阵为m×n矩阵的情况下,行数m可以为用于生成音符矩阵的音符序列的音符数量,列数n可以为节拍点序列按基准节拍点的预设倍数划分的节拍数量。其中,上述预设倍数可以为1倍、0.5倍、0.25倍等。如在前述将音符片段划分为32份的情况下,若该预设倍数为1倍,则生成的音符矩阵的列数n=32;若该预设倍数为0.5倍,则生成的音符矩阵的列数n=16,不再赘述。

进一步的,模型训练设备一方面可以根据各个人声音符分别对应的音高信息确定所述各个人声音符在音符矩阵中对应的行;另一方面可以根据音符序列中各个人声音符分别对应的基准音符节拍点,确定各个人声音符在音符矩阵中对应的列;进而根据各个人声音符对应的行列位置确定音符矩阵中的非零元素,并将该非零元素设置为预设值,以生成音符矩阵。其中,上述预设值可以为1,以减轻歌曲和弦编配模型的计算压力。

由上述过程可知所生成音符矩阵中任一元素的取值,可能为0或者非零的预设值。而且,该矩阵中的非零行即为各个人声音符对应的行(根据各个人声音符分别对应的基准音符节拍点确定),即上述预设值所在的行;非零列即为各个人声音符对应的列(根据各个人声音符的音高信息确定),即上述预设值所在的列。

对于音符矩阵的非零行,模型训练设备可以通过各个人声音符的音高对应的MIDI序号进行确定。例如,模型训练设备可以使用如图6所示的MIDI序号表中的128个MIDI序号分别表征各个人声音符的音高,如某一人声音符的音阶为4,音符号为D#,则该人声音符对应的MIDI序号为51,不再赘述。在该方式下,任一人声音符的音高对应的MIDI序号可能为上述128个序号之一,相应地,生成的音符矩阵的行数m=128。当然,模型训练设备也可以采用除MIDI序号之外的其他编号规则表征人声音符的音高信息,本公开实施例并不对此进行限制。

对于音符矩阵的非零列,模型训练设备可以通过各个人声音符对应的基准音符节拍点进行确定,下面结合图5进行说明。不妨假设生成的音符矩阵的列数n=32列,则对于人声音符N3,该音符位于基准音符节拍点P13和P24之间,所以人声音符N2可以对应于该矩阵的第12列至第20列。当然,因为其右侧端点距离P24较远、距离P23较近,所以人声音符N2也可以对应于该音符矩阵的第12列至第19列。具体对应关系的确定规则可以根据实际情况预先设置,本公开实施例并不对此进行限制。

基于上述过程确定出的非零行和非零列,模型训练设备可以基于稀疏矩阵通过one-hot算法生成音符矩阵,具体过程可以参见相关技术中关于该算法的记载,此处不再赘述。承接于图5的(1)所示的实施例,因为一个音符序列被划分为三十二份,所以音符矩阵的列数最大可以为32。但是可以理解的是,音符矩阵的维度越高,则后续模型计算过程中的矩阵运算的计算量越大,所以为降低模型计的计算量,以加快模型预测速度,可以对音符矩阵进行降维,即可以将上述预设倍数设置为小于1。具体的,以预设位数为0.5倍为例,模型训练设备可以通过两个相邻的基准节拍点确定音符矩阵中的一个列,从而生成128×16的音符矩阵。此时,所使用的128×16的稀疏矩阵可以如图7所示。

另外,为更准确地确定各个人声音符对应的基准音符节拍点,模型训练设备还可以对各个人声音符的音符节拍点进行调整,即按照上述基准音符节拍点调整各个人声音符的时长信息。例如,模型训练设备可以将音符序列中各个人声音符的预设时刻对应的音符节拍点分别调整为相应的最近基准音符节拍点;其中,任一音符节拍对应的最近基准音符节拍点可以为所述节拍点序列中距离该音符节拍点最近的基准节拍点。上述预设时刻可以为该人声音符的起始时刻(对应于该人声音符在钢琴卷帘中的左侧端点)或者该人声音符的终止时刻(对应于该人声音符在钢琴卷帘中的右侧端点)。

例如,对于图5的(1)中的人声音符N1,其右侧端点距离P07较远、距离P1较近(调整前的局部放大图参见501所示),P1即为人声音符N1右侧的最近基准音符节拍点,因此可以将人声音符N1的右侧端点延长至P1处(延长后的局部放大图参见502所示)。具体的,可以将人声音符N1的时长信息中的结束时刻调整为P1在歌曲时间轴中对应的时刻。类似的,对于图5的(1)中的人声音符N2,其左侧端点同样距离P07较远、距离P1较近(调整前的局部放大图参见501所示),P1即为人声音符N2左侧的最近基准音符节拍点,因此可以将人声音符N1的左侧端点缩短至P1处(缩短后的局部放大图参见502所示)。具体的,可以将人声音符N1的时长信息中的开始时刻调整为P1在歌曲时间轴中对应的时刻。其他人声音符的调整过程与此类似,不再赘述。经过上述调整后,各个人声音符的端点均位于其对应最外侧的基准音符节拍点处。经过上述调整过程,各个人声音符均严格对应于基准节拍点,从而有助于保证确定出的音符矩阵的准确性。

调整后的各个人声音符对应的基准音符节拍点可以被用于生成所述音符矩阵中对应于该人声音符的矩阵元素。具体的,因为这一调整仅改变人声音符的时长信息,而并不改变人声音符的音高信息(即图5所示的各个人声音符端点在钢琴卷帘中的横向长度变化,纵向高度不变),所以对于调整后的人声音符,可以采用与前述实施例相同的方式(如MIDI序号)确定该音符在音符矩阵中对应的非零行。

而对于非零列,可以通过各个人声音符对应的基准音符节拍点确定。以生成128×32的音符矩阵为例,对于图5的(2)所示的人声音符N2,其左侧端点和右侧端点分别对应于基准音符节拍点P1和P14,所以该音符在音符矩阵中对应的非零列为第9列至第12列。类似的,对于图5的(2)所示的人声音符N3,其左侧端点和右侧端点分别对应于基准音符节拍点P14和P23,所以该音符在音符矩阵中对应的非零列可以为第12列至第19列。与前述实施例类似的,也可以生成128×16的音符矩阵,此时对于图5的(2)所示的人声音符N3,其在音符矩阵中对应的非零列可以为第13列至第20列——可见,因为人声音符N3的右侧端点对应于基准音符节拍点P23,即该音符占据了基准节拍点P22至P24之间节拍间隔的一半,所以确定P22至P24在音符矩阵中对应列元素的取值时,可以认为该列为非零列。

承接于图5所述的实施例,假设生成128×16的音符矩阵,则该矩阵中的非零列部分如图8所示。该矩阵中方框所示的五个非零值集合,即分别对应于图5所示的五个人声音符N1-N5。当然,该矩阵中的其他行的元素值均为零,图8中并未示出。

如前所述,样本歌曲的音频文件可以被按照预设节拍数量划分为多个音频文件片段,相应地,模型训练设备可以针对各个音符文件片段对应的音频特征信息片段生成相应的音符子矩阵。具体的,模型训练设备可以确定样本歌曲中的节拍,并按照预设节拍数量将样本歌曲的音符序列依次划分为多个音符片段,任一音符片段对应于音频特征信息中相应节拍区间对应的音频片段特征信息。进而,模型训练设备可以根据音符序列中各个音符片段分别对应的音符片段特征信息分别生成各个音符片段对应的音符子矩阵,其中,前述步骤提取得到的歌曲和弦中对应于任一音符片段的和弦片段被作为该音符片段所对应音符子矩阵的样本标签。而且,上述预设节拍数量可以为样本歌曲的歌曲节拍中每小节的拍数,即按照样本歌曲的小节进行划分,每一小节对应于一个音符片段,进一步的,模型训练设备可以生成对应于该音符片段的一个音符子矩阵。

步骤S206,将所述音符矩阵作为训练样本对所述歌曲和弦编配模型进行有监督训练,其中,提取到的所述歌曲和弦被作为所述训练样本的样本标签。

上述步骤生成的对应于样本歌曲的音符矩阵,即可以被作为训练样本用于训练歌曲和弦编配模型。另外,前述步骤S202中提取到的歌曲和弦可以作为该样本的样本标签。具体的,若将某个样本歌曲对应的完整音符矩阵作为一条训练样本,则该样本的样本标签可以为该歌曲对应的完整歌曲和弦;而在将样本歌曲的音频文件拆分为多个音频文件片段,并基于任一音频文件片段的音频特征信息片段生成多个音符子矩阵的情况下,可以将任一音符子矩阵作为一条训练样本,该样本的样本标签可以为该音频文件片段对应的歌曲和弦片段。

作为歌曲伴奏的一部分,同一歌曲中的不同和弦在时间上往往具有较强的相关性。因此,可以基于强化学习模型搭建上述歌曲和弦编配模型,以利用强化模型所固有的智能体Agent的当次输出会影响模型的后续输入这一特征,保证对包含和弦数量较多的长音乐进行和弦编配时具有较佳的编配质量。

具体的,如图9所示,强化学习模型主要包含四个元素:智能体Agent,环境状态Environment,行动Action,奖励Reward。该模型的运行过程,即为智能体Agent采取行动Action从而改变自己的状态State,以获得奖励Reward并与环境Environment发生交互的循环过程。智能体Agent在该过程中会接收环境Environment的观测Observation,以根据该观测Observation调整下一次的输入数据。

其中,上述智能体Agent可以包括由多层一维卷积构成的第一网络和由多个全连接层构成的第二网络。在如图9所示的一种具体结构中,第一网络包括两层一维卷积,用于对作为样本输入的音符矩阵进行特征提取;第二网络由十个全连接层构成,用于基于第一网络提供的特征预测并输出和弦编配结果。当然,智能体Agent的具体网络结构可以根据实际应用场景搭建,本公开实施例并不对此进行限制。

本说明书上述实施例均以音符矩阵的行数对应音符数量、音符矩阵的列数对应小节中各个音符所对应基准音符节拍点为例进行说明。但可以理解的是,在方案实施过程中,完全可以令音符矩阵的行数对应小节中各个音符所对应基准音符节拍点、音符矩阵的列数对应音符数量。如在一个音符片段包含4个小结、基于三十二分音符划分基准节拍点,并采用图6所示的MIDI序号所示的MIDI序号表征各个音符的音高信息的情况下,可以生成16×128的音符矩阵。相应地,上述歌曲和弦编模型的内部结构可以进行相应的调整,具体过程不再赘述。

任一歌曲的歌曲和弦通常与该歌曲的歌曲调式相对应。任一样本对应的和弦编配结果可以为一个多维向量,以用于表征歌曲和弦编配模型对本次输入的训练样本进行预测后,输出的该样本对应于各个备选和弦的概率。例如,C大调对应的和弦一共有24种,加上歌曲中的某些时刻可能并不存在和弦(或称空和弦),所以对于歌曲调式为C大调的歌曲,其任一歌曲和弦有25种备选方案(下称备选和弦)。如图10所示,歌曲和弦编配模型的输出可以为25维的向量,该向量中的25个元素值分别对应于上述25种备选和弦。因此在输入任一训练样本后,歌曲和弦编配模型所输出的25维向量中,各个元素值分别用于表示歌曲和弦编配模型对该输入样本预测得到的和弦分别为各个备选和弦的概率值。其中,概率值最大的备选和弦即可作为该模型针对该样本输出的和弦编配结果。

强化学习的目标是构建一个存在虚拟环境中的智能体Agent,在计算迭代中获得尽可能多的累计奖励。具体到本方案,当智能体Agent在某一个和弦编配点(状态State)下做出的编配(动作Action)结果与作曲人员编配的和弦一致时将获得激励(奖励Reward)。

如前所述,可以将一首样本歌曲的音符序列划分为多个音符片段,如可以按照小节将一首歌曲的音符序列划分为多个音符片段,然后分别提取到各个音符片段对应的歌曲和弦片段,并生成各个音符片段分别对应的音符子矩阵。此时,可以将该歌曲对应的各个音符子矩阵分别作为一个训练样本,并将各个音符子矩阵对应的歌曲和弦片段作为该样本的样本标签,然后将这些(对应于同一歌曲的)训练样本作为一个episode输入歌曲和弦编配模型,以对该模型进行有监督训练。

在模型训练过程中,通常需要计算模型损失loss以便确定何时终止训练。其中,对于基于强化学习模型搭建的上述模型来说,可以采用模型输出对应的奖励Reward表征模型损失loss。具体的,歌曲和弦编配模型输出针对任一训练样本(即任一音符片段)的歌曲和弦编配结果O之后,可以根据该歌曲和弦编配结果O与该训练样本的样本标签之间的偏差计算该歌曲和弦编配结果O对应的奖励Reward。可以理解的是,和弦编配结果O对应的奖励Reward值越大,即表征歌曲和弦编配模型在当前时刻的模型损失loss越小,反之亦然。当然,二者可以并不存在严格的数学关系。

在一实施例中,可以采用奖励机制计算任一音符片段所对应歌曲和弦编配结果O的奖励Reward。例如,可以在歌曲和弦编配结果O与提取得到的歌曲和弦中对应于任一音符片段的和弦片段相等(即O=DL)的情况下,令Reward=a(其中a>0)。但是,若仅采用奖励机制,则可能会导致模型陷入局部最优解。

为此,本方案提出一种改进方式计算歌曲和弦编配模型针对任一音符片段输出的歌曲和弦编配结果O对应的奖励Reward。参见下式(1)或(2):

其中,上式中的a、b、c均为正数,且b

在上述训练过程中,模型训练设备可以随时计算是否需要停止训练。例如,如前所述,将同一样本歌曲对应的各个音符片段对应的各个音符子矩阵作为一个episode对模型进行训练,进而模型训练设备可以通过计算各个样本歌曲对应的整体奖励Reward确定是否需要停止训练。例如,模型训练设备可以预先设置episode对应的第一奖励阈值(如40)及其对应的第一数量阈值(如50首),则模型训练设备可以在有超出第一数量阈值的episode分别对应的奖励Reward均不小于上述第一奖励阈值的情况下,判定当前时刻的歌曲和弦编配模型的编配准确度满足要求,从而停止训练过程。或者,模型训练设备也可以预先设置episode对应的第二奖励阈值(如50)及其对应的第二数量阈值(如200首),则模型训练设备可以在超出第二数量阈值的多个episode对应的奖励Reward均值不小于上述第二奖励阈值的情况下,判定当前时刻的歌曲和弦编配模型的编配精度满足要求,从而停止训练过程。其中,上述数量阈值和奖励阈值可以根据针对歌曲和弦编配模型的编配准确度指标、样本数量等进行设置,如上述数量阈值和奖励阈值可以与编配准确度指标呈正相关,以保证训练得到的面具有较高质量。

至此,完成对歌曲和弦编配模型的训练过程的介绍。通过上述实施例训练得到的歌曲和弦编配模型,能够被作曲人员用于实现对歌曲和弦的自动化编配。为此,本公开实施例还提出一种歌曲和弦编配方法,该方法应用于编曲设备,如图1所示的服务器11或者手机12-14。如11所示,该方法可以包括下述步骤S1102-S1106。

步骤S1102,获取待编配歌曲的音频文件,并从所述音频文件中提取所述待编配歌曲中的人声对应的音符序列。

首先需要说明的是,图11所对应下述实施例中的部分概念(如人声音符、音符序列、音符矩阵等)虽然与图2所对应前述实施例中重名,但应当视为不同概念:图2所述概念应用于歌曲和弦编配模型的训练过程,对应的是用于训练该模型的样本歌曲;而图11所述概念应用于经过预训练的歌曲和弦编配模型的应用过程,对应于应用该模型的待编配歌曲。因此在理解本公开所述实施例的过程中,不应该将图2和图11相关实施例分别涉及到的同名概念相混淆。

在一实施例中,编曲设备获取的音频文件可以由用户提供。该用户可以为音乐消费平台的用户,用户可以通过运行有音乐消费平台的客户端的终端设备录制音频文件或者接收其他设备发送的音频文件。进而,用户可以通过多种方式对待编配歌曲进行和弦编配。例如,在编曲设备为该终端设备的情况下,该设备本地可以部署有经过预训练的歌曲和弦编配模型,如以功能组件的形式部署在上述客户端中,从而该终端设备可以通过该模型对待编配歌曲进行和弦编配。再例如,在编曲设备为音乐消费平台的服务端的情况下,用户可以通过终端设备中的客户端将获取到的音频文件上传至服务端,以由服务端通过本地部署的经过预训练的歌曲和弦编配模型对待编配歌曲进行和弦编配。而上述编配得到的歌曲和弦可以用于向所述用户展示,以便于其查看编配效果。

可以理解的是,上述待编配歌曲是尚未编配和弦的歌曲,即歌曲中包含人声而不包含歌曲和弦。具体的,上述歌曲文件可以为包含所述待编配歌曲中的人声的人声文件,该人声文件可以为从待编配歌曲中提取得到的单轨文件。具体的,该人声文件中可以包含待编配歌曲的配乐、和声等旋律,也可以不包含旋律,而仅包含录制得到的人声,本公开实施例并不对此进行限制。在这种情况下,编曲设备可以直接从人声文件中提取各个人声音符以构成人声序列。或者,上述歌曲文件也可以为基于上述人声文件生成的MIDI文件,此时,编曲设备可以基于该MIDI文件直接获取待编配歌曲中各个人声音符的音高信息和时长信息,进而得到各个人声音符构成的音符序列。

另外,编曲设备还可以基于上述音频文件提取待编配歌曲的歌曲调式等歌曲特征信息,具体提取当时可以参见前述实施例的记载,此处不再赘述。

步骤S1104,根据所述音符序列生成对应于所述音符序列的音符矩阵。

步骤S1106,将所述音符矩阵输入经过预训练的歌曲和弦编配模型,并接收所述歌曲和弦编配模型基于所述音符矩阵对所述待编配歌曲进行编配后输出的歌曲和弦。

在本实施例中,获取到上述待编配歌曲的音符序列之后,编曲设备可以根据该音符序列生成音符矩阵,并将该矩阵作为歌曲和弦编配模型的输入,由该模型对基于所述音符矩阵对所述待编配歌曲进行编配以输出歌曲和弦。其中,上述歌曲和弦编配模型可以通过图2所对应的前述各个实施例所述的模型训练方法预训练得到。

在一实施例中,为避免歌曲和弦编配模型编配过程中的单次(输入模型的一个矩阵对应的一个完整计算过程)计算量过大,可以将待编配歌曲的音符序列拆分为多个音符片段。例如,编曲设备可以先确定所述待编配歌曲中的节拍,并按照预设节拍数量将音符序列依次划分为多个音符片段,然后根据音符序列确定待编配歌曲的各个人声音符的音高信息和时长信息,最后根据确定出的音高信息和时长信息分别生成各个音符片段分别对应的音符子矩阵。其中,上述预设节拍数量可以为待编配歌曲的歌曲节拍中每小节的拍数,即按照待编配歌曲的小节进行划分,每一小节对应于一个音符片段,进一步的,编曲设备可以生成对应于该音符片段的一个音符子矩阵。通过该方式,可以在歌曲长度较长的情况下,尽量减轻歌曲和弦编配模型面临的单次计算压力。当然,上述预设数量可以与歌曲和弦编配模型的训练过程中对样本歌曲的划分长度保持一致,以保证歌曲和弦编配模型对待编配歌曲的和弦编配的准确性。

进一步的,在将音符序列拆分为多个音符片段的情况下,编曲设备可以将各个音符片段分别对应的各个音符子矩阵构成子矩阵集合,并将该集合作为一个episode输入所述歌曲和弦编配模型,进而接收模型输出的针对这一episode的歌曲和弦。可以理解的是,上述episode对应的各个音符子矩阵属于同一类型,且各个音符子矩阵分别对应于待编配歌曲的各个音符片段,所以模型输出的歌曲和弦中包括各个音符片段分别对应的和弦片段——上述各个和弦片段共同构成待编配歌曲的歌曲和弦。

如前所述,歌曲和弦编配模型可以通过样本歌曲进行预训练得到。其中,模型训练设备可以从样本歌曲的音频文件中提取人声对应的音符序列,并基于该序列生成该样本歌曲的音符矩阵,进而可以将该矩阵作为训练样本对歌曲和弦编配模型进行训练。另外,模型训练设备还可以从样本歌曲的音频文件中提取该歌曲的歌曲和弦,并将该和弦作为上述训练样本(即音符矩阵)的样本标签,以实现对模型的有监督训练。

如前所述,所述歌曲和弦编配模型可以基于强化学习模型搭建,该模型中的智能体Agent可以包括由多层一维卷积构成的第一网络和由多个全连接层构成的第二网络。如图9所示,在该模型接收到输入的任一音符矩阵(或音符子矩阵)之后,该模型中的第一网络可以基于该音符矩阵提取待编配歌曲的特征信息,并将提取到的该信息提供至第二网络。相应地,第二网络可以根据该特征信息确定音符序列中的各个人声音符分别对应的和弦。其中,各个和弦共同构成待编配歌曲的歌曲和弦,该歌曲和弦即为模型的输出结果,亦即该模型对待编配歌曲的和弦预测结果。

其中,在对歌曲和弦编配模型进行训练的过程中,可以计算模型损失loss,以确定何时停止训练。对于基于强化学习模型搭建的上述模型来说,可以采用模型获得的奖励Reward表征模型损失loss。例如,在通过样本歌曲对歌曲和弦编配模型进行预训练的情况下,样本歌曲的歌曲和弦可以对应于多个备选和弦,而歌曲和弦编配模型针对样本歌曲输出的和弦编配结果所对应奖励Reward的大小,可以与该和弦编配结果和上述备选和弦之间的匹配程度呈正相关。二者之间的具体对应关系可以参见前述式(1)和(2)及其相关实施例的记载,此处不再赘述。

在一实施例中,上述歌曲和弦编配模型可以以多种形式输出歌曲和弦。例如,上述歌曲和弦可以为待编配歌曲对应的独立和弦文件,该和弦文件可以中仅包含待编配歌曲中的各个和弦,各个和弦按照各自在待编配歌曲的时间轴中的前后顺序依次排列。再例如,歌曲和弦编配模型也可以在预测得到上述和弦文件后,将该和弦文件合并至其接收到的上述音频文件中,以得到待编配歌曲对应的完整歌曲音频文件。该完整歌曲音频文件中除了包含歌曲和弦编配模型预测得到的和弦之外,还包括待编配歌曲的其他音乐信息,因此便于用于对照查看。

另外,承接于前述实施例,在用户提供音频文件的情况下,歌曲和弦编配模型输出的歌曲和弦可以用于向该用户展示。可以以可视化的曲谱形式展示该歌曲和弦,以便于用户查看。

当然,图11对应的上述各个实施例中,对于音符矩阵的具体生成过程可以参见前述图2所对应实施例的记载,此处不再赘述。

基于上述歌曲和弦编配模型所具有的和弦编配能力,音乐消费平台还可以开发多样化的音乐服务形式,如供普通用户自主编曲、对用户上传的已编配和弦进行质量检验等,本公开实施例对此并不进行限制。

综上,根据本公开实施方式的歌曲和弦编配模型的训练方法,可以使用该模型对歌曲和弦进行自动化编配,作曲人员能够更加专注于音乐本身,而非大量的重复工作。不仅能够大幅减少和弦编配需要的时间,从而提升作曲人员的编配效率并降低人工成本;而且即便是乐理基础较为薄弱的普通用户也能够实现和弦编配,从而有助于实现更加多样化的音乐服务形式。

在介绍了本公开示例性实施方式的方法之后,接下来,参考图12对本公开示例性实施方式的介质进行说明。

本示例性实施方式中,可以通过程序产品实现上述方法,如可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,该存储器可以在设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读介质120可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

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

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

可读介质120上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RE等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

在介绍了本公开示例性实施方式的介质之后,接下来,参考图13对本公开示例性实施方式的装置进行说明。

图13示意性地示出了根据本公开实施方式的一种歌曲和弦编配模型的训练装置的框图。该装置可以包括:

信息提取模块1301,用于从样本歌曲的音频文件中提取音频特征信息,所述音频特征信息包括歌曲和弦和人声对应的音符序列;

矩阵生成模块1302,用于根据所述音频特征信息生成对应于所述音符序列的音符矩阵;

模型训练模块1303,用于将所述音符矩阵作为训练样本对所述歌曲和弦编配模型进行有监督训练,其中,提取到的所述歌曲和弦被作为所述训练样本的样本标签。

可选地,所述音频特征信息还包括所述音符序列中各个人声音符的时长信息,所述装置还包括:

序列确定模块1304,用于以预设倍数的分音符为基本单位,在所述音符序列对应的时间区间中确定包含多个基准节拍点的节拍点序列;

节拍点确定模块1305,用于根据所述各个人声音符的时长信息确定所述音符序列中各个人声音符在所述节拍点序列中分别对应的基准音符节拍点,任一人声音符对应的基准音符节拍点被用于确定所述音符矩阵中对应于该人声音符的矩阵元素。

可选地,还包括:

节拍点调整模块1306,用于将所述音符序列中各个人声音符的预设时刻对应的音符节拍点分别调整为相应的最近基准音符节拍点;其中,任一音符节拍对应的最近基准音符节拍点为所述节拍点序列中距离该音符节拍点最近的基准节拍点,调整后的各个人声音符对应的基准音符节拍点被用于生成所述音符矩阵中对应于该人声音符的矩阵元素。

可选地,所述预设倍数的分音符为三十二分音符。

可选地,所述音频特征信息还包括所述音符序列中各个人声音符的音高信息,所述矩阵生成模块1302还用于:

根据所述各个人声音符对应的音高信息和确定出的所述基准音符节拍点,确定所述音符矩阵中对应于该人声音符的矩阵元素,以生成所述音符矩阵。

可选地,所述音符矩阵为m×n矩阵,其中,行数m为用于生成所述音符矩阵的音符序列的音符数量、列数n为所述节拍点序列按基准节拍点的预设倍数划分的节拍数量;所述矩阵生成模块1302还用于:

根据所述各个人声音符分别对应的音高信息确定所述各个人声音符在音符矩阵中对应的行;以及,

根据所述音符序列中各个人声音符分别对应的基准音符节拍点,确定所述各个人声音符在所述音符矩阵中对应的列;

根据所述各个人声音符对应的行列位置确定所述音符矩阵中的非零元素,将所述非零元素设置为预设值,以生成所述音符矩阵。

可选地,所述音频特征信息还包括所述样本歌曲的歌曲调式和所述音符序列中各个人声音符的音高信息,所述音高信息匹配于所述歌曲调式,所述装置还包括:

调式调整模块1307,用于在所述歌曲调式区别于标准调式的情况下,将所述音高信息调整为匹配于所述标准调式的音高信息,调整后的音高信息被用于生成所述音符矩阵。

可选地,所述矩阵生成模块1302还用于:

确定所述样本歌曲中的节拍,并按照预设节拍数量将所述音符序列依次划分为多个音符片段,任一音符片段对应于所述音频特征信息中相应节拍区间对应的音频片段特征信息;

根据所述音符序列中各个音符片段分别对应的音符片段特征信息分别生成各个音符片段对应的音符子矩阵,提取得到的所述歌曲和弦中对应于任一音符片段的和弦片段被作为该音符片段所对应音符子矩阵的样本标签。

可选地,所述预设节拍数量为:所述样本歌曲的歌曲节拍中每小节的拍数。

可选地,所述音频特征信息还包括所述样本歌曲的歌曲调式;

所述装置还包括奖励计算模块,用于通过下式(1)或(2)计算所述歌曲和弦编配模型针对任一音符片段输出的歌曲和弦编配结果O对应的奖励Reward:

其中,所述a、b、c均为正数,且b

可选地,所述歌曲和弦编配模型基于强化学习模型搭建,所述歌曲和弦编配模型中的智能体Agent包括由多层一维卷积构成的第一网络和由多个全连接层构成的第二网络。

图14示意性地示出了根据本公开实施方式的一种歌曲和弦的编配装置的框图。该装置可以包括:

文件获取模块1401,用于获取待编配歌曲的音频文件,并从所述音频文件中提取所述待编配歌曲中的人声对应的音符序列;

矩阵生成模块1402,用于根据所述音符序列生成对应于所述音符序列的音符矩阵;

和弦编配模块1403,用于将所述音符矩阵输入经过预训练的歌曲和弦编配模型,并接收所述歌曲和弦编配模型基于所述音符矩阵对所述待编配歌曲进行编配后输出的歌曲和弦。

可选地,所述矩阵生成模块1402还用于:

确定所述待编配歌曲中的节拍,并按照预设节拍数量将所述音符序列依次划分为多个音符片段;

根据所述音符序列确定所述待编配歌曲的各个人声音符的音高信息和时长信息;

根据所述各个人声音符的音高信息和时长信息分别生成各个音符片段分别对应的音符子矩阵。

可选地,所述和弦编配模块1403还用于:

将所述各个音符片段分别对应的各个音符子矩阵构成的子矩阵集合作为一个episode输入所述歌曲和弦编配模型;

接收所述歌曲和弦编配模型输出的歌曲和弦,所述歌曲和弦包括所述各个音符片段分别对应的和弦片段。

可选地,所述歌曲和弦编配模型通过样本歌曲进行预训练得到,其中,所述样本歌曲的音符矩阵被作为训练样本,所述样本歌曲的歌曲和弦被作为所述训练样本的样本标签。

可选地,所述歌曲和弦编配模型基于强化学习模型搭建,所述歌曲和弦编配模型中的智能体Agent包括由多层一维卷积构成的第一网络和由多个全连接层构成的第二网络。

可选地,所述和弦编配模块1403还用于:

所述第一网络基于所述音符矩阵提取所述待编配歌曲的特征信息;

所述第二网络根据所述特征信息确定所述音符序列中的各个人声音符分别对应的和弦。

可选地,所述歌曲和弦编配模型通过样本歌曲进行预训练得到,所述样本歌曲的歌曲调式对应于多个备选和弦,所述歌曲和弦编配模型针对所述样本歌曲输出的和弦编配结果所对应奖励Reward的大小,与所述和弦编配结果和所述备选和弦之间的匹配程度呈正相关。

可选地,所述音频文件包括:

包含所述待编配歌曲中的人声的人声文件;或者,

基于包含所述待编配歌曲中的人声的人声文件生成的MIDI文件。

可选地,所述歌曲和弦包括:

所述待编配歌曲对应的独立和弦文件;

将所述待编配歌曲对应的独立和弦文件合并至所述音频文件得到的完整歌曲音频文件。

可选地,所述音频文件由用户提供,所述歌曲和弦用于向所述用户展示。

在介绍了本公开示例性实施方式的方法、介质和装置之后,接下来,参考图15对本公开示例性实施方式的计算设备进行说明。

图15显示的计算设备1500仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图15所示,计算设备1500以通用计算设备的形式表现。计算设备1500的组件可以包括但不限于:上述至少一个处理单元1501、上述至少一个存储单元1502,连接不同系统组件(包括处理单元1501和存储单元1502)的总线1503。

总线1503包括数据总线、控制总线和地址总线。

存储单元1502可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)15021和/或高速缓存存储器15022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(ROM)15023。

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

计算设备1500也可以与一个或多个外部设备1504(例如键盘、指向设备等)通信。

这种通信可以通过输入/输出(I/O)接口1505进行。并且,计算设备1500还可以通过网络适配器1506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图15所示,网络适配器1506通过总线1503与计算设备1500的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备1500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了歌曲和弦编配模型的训练装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号