首页 / 专利库 / 人工智能 / 自动音乐标记 / 基于变分自编码器的具有特定地域风格的中国民歌自动生成方法

基于变分自编码器的具有特定地域格的中国民歌自动生成方法

阅读:789发布:2020-05-11

专利汇可以提供基于变分自编码器的具有特定地域格的中国民歌自动生成方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于变分自 编码器 的具有特定地域 风 格的中国民歌自动生成方法,该方法首先将音乐表示为与其对应的音高序列、音程序列和节奏序列,然后基于变分自编码器建立中国民歌生成模型,并将变分自编码器隐变量空间按音乐的音高、节奏、内容以及风格分割为四个子空间,同时采用对抗训练的方法将四个隐变量子空间进行分离,最后利用上述模型来生成具有特定地域标签的中国民歌。相较于其他对西方音乐的研究,本发明立足于中国民歌的地域风格,通过对变分自编码器隐空间的操控,成功地捕捉到中国民歌的地域风格信息。通过理论分析和实验分析,本发明能有效地分离变分自编码器的各个隐变量,成功生成具有特定地域风格的民歌。,下面是基于变分自编码器的具有特定地域格的中国民歌自动生成方法专利的具体信息内容。

1.基于变分自编码器的具有特定地域格的中国民歌自动生成方法,其特征在于,该方法首先将音乐表示为与其对应的音高序列、音程序列和节奏序列,然后基于变分自编码器建立中国民歌生成模型,并将变分自编码器的隐变量空间按音乐的音高、节奏、内容以及风格分割为四个子空间,同时采用对抗训练的方法将四个隐变量子空间进行分离,最后利用建立的中国民歌生成模型来生成具有特定地域标签的中国民歌。
2.根据权利要求1所述的基于变分自编码器的具有特定地域风格的中国民歌自动生成方法,其特征在于,具体包括以下步骤:
1)音乐表示:将一段中国民歌旋律M表示为由音高P、音程I和节奏R三部分组成的序列,各子序列表示如下:
1-1)音高序列P的表示:由中国民歌旋律中呈现的音高类型组成,休止符被分配了一个特殊的标记;
1-2)音程序列I的表示:以半音为步长,每个音程表示为下一个音高和当前音高之间的差值;
1-3)节奏序列R的表示:由中国民歌旋律中呈现的时长类型组成;
2)建立中国民歌生成模型:将音高、音程和节奏三个子序列作为变分自编码器的输入,同时将变分自编码器的隐变量空间按照音高、节奏、风格以及内容分割为音乐的音高风格隐变量、音高内容隐变量、节奏风格隐变量和节奏内容隐变量四个子空间,最后经过解码器得到旋律序列;
3)隐变量空间分离:引入对抗训练方法将音乐的音高、节奏、风格以及内容四个隐变量子空间进行分离,具体包括以下步骤:
3-1)采用对抗训练和时间监督方法分离音高和节奏子隐变量:将音高子隐变量输入节奏解码器,同时将节奏子隐变量输入音高解码器,迫使各自解码器输出错误的序列,即预测结果为全零序列;
3-2)采用对抗训练和标签监督方法分离风格和内容子隐变量:使用地域信息定义两个分类器:风格分类器和对抗分类器;其中风格分类器的训练目标是从风格子隐变量中正确识别地域风格;对抗分类器训练目标为从内容子隐变量中无法识别出地域风格信息;
4)具有特定地域标签的中国民歌生成:根据上述的变分自编码器建立方法和隐变量空间的分离方法训练模型,最后根据输入的地域风格信息生成具有相应地域风格的中国民歌。
3.根据权利要求2所述的基于变分自编码器的具有特定地域风格的中国民歌自动生成方法,其特征在于,所述步骤1)中使用的民歌数据均被转为C调下,并使用python MIDI音乐工具包提取每首歌曲的旋律信息表示为音高P、音程I和节奏R三种序列。
4.根据权利要求2所述的基于变分自编码器的具有特定地域风格的中国民歌自动生成方法,其特征在于,所述步骤2)的具体模型建立过程如下:
(i)给定一个中国民歌旋律序列M={m1,m2,…,mk,…,mn},其中mk表示第k个音符对应的音高标记pk、音程序列ik和节奏序列rk的特征组合,将音高、音程及节奏三种子序列分别输入至三个编码器,然后将三个编码器的输出向量拼接为一个向量;编码器采用带有残差连接的双向限循环单元网络,双向门限循环单元网络以下简称为GRU;
(ii)从编码器输出的线性变换中分别采样得到音高风格隐变量 音高内容变量节奏风格变量 和节奏内容变量 然后,将 和 连接到总音高隐变量ZP中,用于预测音高序列 在节奏变量中使用相同的操作来预测 最后,将所有隐变量连接起来用于预测整个旋律序列 解码器是一个普通的两层GRU模型;根据上述过程,变分自编码器的基本损失函数表示如下:
其中H(·,·)和BCE(·,·)分别表示预测值和目标值之间的交叉熵和二元交叉熵,KLtotal表示四个隐变量的Kullback-Leibler散度损失之和,β为KL散度项系数,用于改善模型的生成能
5.根据权利要求4所述的基于变分自编码器的具有特定地域风格的中国民歌自动生成方法,其特征在于,β<1。
6.根据权利要求4所述的基于变分自编码器的具有特定地域风格的中国民歌自动生成方法,其特征在于,所述步骤3-1)具体操作为:使用时间监督和对抗训练方式分离中国民歌的音高和节奏子隐变量,即将音高隐变量ZP输入到节奏解码器,节奏隐变量ZR输入到音高解码器,迫使两个解码器预测出全零序列,由此得到两个基于交叉熵的损失:
其中,0指全零序列,·指向量对应元素的乘积, 为节奏隐变量输入到音高解码器得到的序列, 为音高隐变量输入到节奏解码器得到的输出序列。
7.根据权利要求6所述的基于变分自编码器的具有特定地域风格的中国民歌自动生成方法,其特征在于,所述步骤3-2)具体操作为:将四部分子隐变量合并得到音乐风格子隐变量Zs和内容子隐变量Zc,然后使用标签监督和对抗训练方式分离中国民歌风格和内容子隐变量;具体地,利用中国民歌的地域信息定义风格分类器和对抗分类器,其中风格分类器和对抗分类器都是具有Softmax函数的线性层,风格分类器确保风格子隐变量对地域标签具有区分性,而对抗分类器确保内容子隐变量对于地域标签不具有区分性;
对于风格分类器,其损失函数定义为:
其中,y表示真实的风格标签,p(y|Zs)是来自风格分类器的预测概率分布;
对于对抗分类器,通过最大化对抗分类器预测的经验熵值进行训练,同时将对抗分类器的参数进行独立训练,确保分类器的梯度不会回传给变分自编码器的其他模,其损失函数定义如下:
其中p(y|Zc)是来自对抗分类器的预测概率分布;
综上,模型的总体训练目标是最小化如下损失函数:
8.根据权利要求7所述的基于变分自编码器的具有特定地域风格的中国民歌自动生成方法,其特征在于,所述步骤4)具体操作为:根据给定的地域风格,将从已训练好的风格隐变量分布中采样得到给定风格的地域风格隐变量,与从随机标准正态分布中采样得到的内容隐变量拼接得到完整的隐变量,然后分别输入至训练后的音高解码器和节奏解码器生成音高序列和节奏序列,最后得到新的中国民歌旋律序列。

说明书全文

基于变分自编码器的具有特定地域格的中国民歌自动生成

方法

技术领域

背景技术

[0002] 自动音乐创作是计算智能领域的前沿课题之一。随着深度学习的发展,深度生成模型及其变体在自动音乐生成中应用广泛。然而,大多数深度作曲方法都侧重于对西方音乐建模,而缺乏对中国音乐的深入研究。如何运用深度学习来塑造中国音乐的结构和风格,是一个充满挑战而又很新奇的课题。
[0003] 中国民歌是中国传统音乐的重要组成部分,同一地区的民歌曲调风格相近,而不同地区的民歌曲调则呈现出不同的地域风格。例如,许多地区均有名为<茉莉花>的小曲,但他们曲调风格大相径庭。当前,中国民歌的地域特征没有得到很好的发掘,这些地域特性可以用于指导中国民歌的自动创作,同时可以为中国民族音乐的创作提供丰富素材,促进了中国民族音乐乃至中国文化在世界范围内的传播和发展。
[0004] 中西方音乐有着明显的差异。与西方音乐注重音乐的纵向结构不同,中国音乐注重音乐的横向结构,即旋律的发展,同时中国民歌的地域风格主要体现在节奏和音高间隔模式上。而目前,大部分的深度音乐生成研究均基于西方音乐开展,而鲜有人关注使用深度生成模型进行中国音乐的创作。

发明内容

[0005] 本发明的目的是探讨如何根据中国民歌的地域风格,产生具有特定地域标签的民歌,因此,提供了一种基于变分自编码器的具有特定地域风格的中国民歌自动生成方法,本发明通过引入对抗训练方法分离了变分自编码器的音高、节奏、风格和内容等隐变量,成功生成了具有特定地域风格的民歌。
[0006] 为达到上述目的,本发明采用如下的技术方案来实现:
[0007] 基于变分自编码器的具有特定地域风格的中国民歌自动生成方法,该方法首先将音乐表示为与其对应的音高序列、音程序列和节奏序列,然后基于变分自编码器建立中国民歌生成模型,并将变分自编码器的隐变量空间按音乐的音高、节奏、内容以及风格分割为四个子空间,同时采用对抗训练的方法将四个隐变量子空间进行分离,最后利用建立的中国民歌生成模型来生成具有特定地域标签的中国民歌。
[0008] 本发明进一步的改进在于,具体包括以下步骤:
[0009] 1)音乐表示:将一段中国民歌旋律M表示为由音高P、音程I和节奏R三部分组成的序列,各子序列表示如下:
[0010] 1-1)音高序列P的表示:由中国民歌旋律中呈现的音高类型组成,休止符被分配了一个特殊的标记;
[0011] 1-2)音程序列I的表示:以半音为步长,每个音程表示为下一个音高和当前音高之间的差值;
[0012] 1-3)节奏序列R的表示:由中国民歌旋律中呈现的时长类型组成;
[0013] 2)建立中国民歌生成模型:将音高、音程和节奏三个子序列作为变分自编码器的输入,同时将变分自编码器的隐变量空间按照音高、节奏、风格以及内容分割为音乐的音高风格隐变量、音高内容隐变量、节奏风格隐变量和节奏内容隐变量四个子空间,最后经过解码器得到旋律序列;
[0014] 3)隐变量空间分离:引入对抗训练方法将音乐的音高、节奏、风格以及内容四个隐变量子空间进行分离,具体包括以下步骤:
[0015] 3-1)采用对抗训练和时间监督方法分离音高和节奏子隐变量:将音高子隐变量输入节奏解码器,同时将节奏子隐变量输入音高解码器,迫使各自解码器输出错误的序列,即预测结果为全零序列;
[0016] 3-2)采用对抗训练和标签监督方法分离风格和内容子隐变量:使用地域信息定义两个分类器:风格分类器和对抗分类器;其中风格分类器的训练目标是从风格子隐变量中正确识别地域风格;对抗分类器训练目标为从内容子隐变量中无法识别出地域风格信息;
[0017] 4)具有特定地域标签的中国民歌生成:根据上述的变分自编码器建立方法和隐变量空间的分离方法训练模型,最后根据输入的地域风格信息生成具有相应地域风格的中国民歌。
[0018] 本发明进一步的改进在于,所述步骤1)中使用的民歌数据均被转为C调下,并使用python MIDI音乐工具包提取每首歌曲的旋律信息表示为音高P、音程I和节奏R三种序列。
[0019] 本发明进一步的改进在于,所述步骤2)的具体模型建立过程如下:
[0020] (i)给定一个中国民歌旋律序列M={m1,m2,…,mk,…,mn},其中mk表示第k个音符对应的音高标记pk、音程序列ik和节奏序列rk的特征组合,将音高、音程及节奏三种子序列分别输入至三个编码器,然后将三个编码器的输出向量拼接为一个向量;编码器采用带有残差连接的双向限循环单元网络,双向门限循环单元网络以下简称为GRU;
[0021] (ii)从编码器输出的线性变换中分别采样得到音高风格隐变量 音高内容变量 节奏风格变量 和节奏内容变量 然后,将 和 连接到总音高隐变量ZP中,用于预测音高序列 在节奏变量中使用相同的操作来预测 最后,将所有隐变量连接起来用于预测整个旋律序列 解码器是一个普通的两层GRU模型;根据上述过程,变分自编码器的基本损失函数表示如下:
[0022]
[0023] 其中H(·,·)和BCE(·,·)分别表示预测值和目标值之间的交叉熵和二元交叉熵,KLtotal表示四个隐变量的Kullback-Leibler散度损失之和,β为KL散度项系数,用于改善模型的生成能
[0024] 本发明进一步的改进在于,β<1。
[0025] 本发明进一步的改进在于,所述步骤3-1)具体操作为:使用时间监督和对抗训练方式分离中国民歌的音高和节奏子隐变量,即将音高隐变量ZP输入到节奏解码器,节奏隐变量ZR输入到音高解码器,迫使两个解码器预测出全零序列,由此得到两个基于交叉熵的损失:
[0026]
[0027]
[0028] 其中,0指全零序列,·指向量对应元素的乘积, 为节奏隐变量输入到音高解码器得到的序列, 为音高隐变量输入到节奏解码器得到的输出序列。
[0029] 本发明进一步的改进在于,所述步骤3-2)具体操作为:将四部分子隐变量合并得到音乐风格子隐变量Zs和内容子隐变量Zc,然后使用标签监督和对抗训练方式分离中国民歌风格和内容子隐变量;具体地,利用中国民歌的地域信息定义风格分类器和对抗分类器,其中风格分类器和对抗分类器都是具有Softmax函数的线性层,风格分类器确保风格子隐变量对地域标签具有区分性,而对抗分类器确保内容子隐变量对于地域标签不具有区分性;
[0030] 对于风格分类器,其损失函数定义为:
[0031]
[0032] 其中,y表示真实的风格标签,p(y|Zs)是来自风格分类器的预测概率分布;
[0033] 对于对抗分类器,通过最大化对抗分类器预测的经验熵值进行训练,同时将对抗分类器的参数进行独立训练,确保分类器的梯度不会回传给变分自编码器的其他模,其损失函数定义如下:
[0034]
[0035] 其中p(y|Zc)是来自对抗分类器的预测概率分布;
[0036] 综上,模型的总体训练目标是最小化如下损失函数:
[0037]
[0038] 本发明进一步的改进在于,所述步骤4)具体操作为:根据给定的地域风格,将从已训练好的风格隐变量分布中采样得到给定风格的地域风格隐变量,与从随机标准正态分布中采样得到的内容隐变量拼接得到完整的隐变量,然后分别输入至训练后的音高解码器和节奏解码器生成音高序列和节奏序列,最后得到新的中国民歌旋律序列。
[0039] 本发明至少具有如下有益的技术效果:
[0040] 本发明提供的基于变分自编码器的具有特定地域风格的中国民歌自动生成方法,首先将中国民歌旋律表示为与其对应的音高序列、音程序列和节奏序列三种子序列,然后基于变分自编码器建立民歌生成模型,将三个子序列分别编码至隐变量空间,同时假设隐变量空间可分割为音高、节奏、内容以及风格四个子空间,接着采用对抗训练的方法将四个隐变量子空间进行分离,最后生成具有特定地域标签的中国民歌。本发明通过对变分自编码器隐空间的操控,成功地捕捉到中国民歌的地域风格信息。通过理论分析和实验分析,本发明能有效地分离变分自编码器的各个隐变量,成功生成具有特定地域风格的民歌。附图说明
[0041] 图1为本发明基于变分自编码器的中国民歌地域风格生成模型框架图。
[0042] 图2为本发明方法中中国民歌旋律表示示意图。
[0043] 图3为本发明方法中隐空间分离的细节示意图。
[0044] 图4为给定地域标签的中国民歌生成样例图。

具体实施方式

[0045] 下面结合附图对本发明做进一步详细描述。
[0046] 参照图1,本发明提供的基于变分自编码器的具有特定地域风格的中国民歌自动生成方法,本发明首先将音乐表示为与其对应的音高序列、音程序列和节奏序列,然后基于变分自编码器建立中国民歌生成模型,并将变分自编码器隐变量空间按音乐的音高、节奏、内容以及风格分割为四个子空间,同时采用对抗训练的方法将四个隐变量子空间进行分离,最后利用上述模型来生成具有特定地域标签的中国民歌。
[0047] 本发明具体包括以下步骤:
[0048] 1)音乐表示:在基本音乐理论中,音高和节奏是音符的基本信息,而在中国民歌中,音程及其组合是区分不同地域民歌的重要参考。参照图2,本发明将一段中国民歌旋律M表示为由音高P、音程I和节奏R三部分组成的序列。各子序列表示如下:
[0049] 1-1)音高序列P的表示:由中国民歌旋律中呈现的音高类型组成,休止符被分配了一个特殊的标记;
[0050] 1-2)音程序列I的表示:以半音为步长,每个音程表示为下一个音高和当前音高之间的差值;
[0051] 1-3)节奏序列R的表示:由中国民歌旋律中呈现的时长类型组成。
[0052] 2)建立中国民歌生成模型:将三个子序列作为变分自编码器的输入,同时将变分自编码器隐变量空间按照音高、节奏、风格以及内容分割为音乐的音高风格隐变量、音高内容隐变量、节奏风格隐变量和节奏内容隐变量四个子空间,最后经过解码器得到旋律序列。参照图1,关键步骤描述如下:
[0053] (i)给定一个中国民歌旋律序列M={m1,m2,…,mk,…,mn},其中mk表示第k个音符对应的音高标记pk、音程序列ik和节奏序列rk的特征组合,将音高、音程及节奏三种子序列分别输入至三个编码器,然后将三个编码器的输出向量拼接为一个向量。编码器采用带有残差连接的双向门限循环单元网络(GRU)。
[0054] (ii)从编码器输出的线性变换中分别采样得到音高风格隐变量 音高内容变量 节奏风格变量 和节奏内容变量 然后,将 和 连接到总音高隐变量ZP中,用于预测音高序列 在节奏变量中使用相同的操作来预测 最后,将所有隐变量连接起来用于预测整个旋律序列 解码器是一个普通的两层GRU模型。根据上述过程,变分自编码器的基本损失函数表示如下:
[0055]
[0056] 其中H(·,·)和BCE(·,·)分别表示预测值和目标值之间的交叉熵和二元交叉熵,KLtotal表示四个隐变量的KL(Kullback-Leibler)散度损失之和,β为KL散度项系数,通过设置β<1,可以改善模型的生成能力。
[0057] 3)隐变量空间分离:引入对抗训练方法将音乐的音高、节奏、风格以及内容四个隐变量子空间进行分离,具体包括以下步骤:
[0058] Step1采用对抗训练和时间监督方法分离音高和节奏子隐变量:音高子隐变量ZP输入到节奏解码器,节奏子隐变量ZR输入到音高解码器,使两个解码器预测出全零序列,由此得到两个基于交叉熵的损失:
[0059]
[0060]
[0061] 其中,0指全零序列,·指向量对应元素的乘积, 为节奏隐变量输入到音高解码器得到的序列, 为音高隐变量输入到节奏解码器得到的输出序列。
[0062] Step2采用对抗训练和标签监督方法分离风格和内容子隐变量:将四部分子隐变量合并得到音乐风格子隐变量Zs和内容子隐变量Zc,然后使用标签监督和对抗训练方式分离中国民歌风格和内容子隐变量。具体地,利用中国民歌的地域信息定义风格分类器和对抗分类器,将隐空间中的风格和内容进行分离,参见图3。风格分类器和对抗分类器都是具有Softmax函数的线性层,风格分类器确保风格变量对地域标签具有区分性,而对抗分类器强制内容变量对于地域标签不具有区分性。
[0063] 对于风格分类器,其损失函数定义为:
[0064]
[0065] 其中,y表示真实的风格标签,p(y|Zs)是来自风格分类器的预测概率分布。
[0066] 对于对抗分类器,通过最大化对抗分类器预测的经验熵值进行训练,同时将对抗分类器的参数进行独立训练,确保分类器的梯度不会回传给变分自编码器的其他模块,其损失函数定义如下:
[0067]
[0068] 其中p(y|Zc)是来自对抗分类器的预测概率分布。
[0069] 综上,模型的总体训练目标是最小化如下损失函数:
[0070]
[0071] 4)具有特定地域标签的中国民歌生成:根据上述的变分自编码器建立和隐空间的分离方法训练模型,最后根据输入的地域风格信息生成具有相应地域标签的中国民歌。具体生成过程如下:根据给定的地域风格,将从已训练好的风格隐变量分布中采样得到给定风格的地域风格隐变量,与从随机标准正态分布中采样得到的内容隐变量拼接得到完整的隐变量,然后分别输入到训练后的音高解码器和节奏解码器生成音高序列和节奏序列,最后可以得到新的中国民歌旋律序列。
[0072] 为了验证本发明生成具有特定地域风格的中国民歌有效性,本发明采用了以下三种客观评估和主观评估指标:
[0073] (1)音符重建准确率:通过计算生成旋律中音符序列的准确率来评估模型音乐生成的质量
[0074] (2)风格识别准确率:通过额外训练的独立风格分类器对模型生成的音乐进行风格判别来评估模型音乐风格生成的质量;
[0075] (3)专家测评:通过邀请三位中国民歌研究领域的专家对模型生成的音乐进行现场听测,并从音乐性(生成的音乐是否拥有清晰的音乐结构和音乐意味)、风格显著性(生成的音乐是否与给定的地域标签相匹配)两方面进行评分(5分制,分值越高代表效果越好)。
[0076] 表1:客观评估结果。
[0077]
[0078] 参照表1,客观评估方面:本发明从音符重建准确率和风格识别准确率两个指标对采用不同损失函数的模型进行了自动评估。实验结果可以看出,本发明(即使用Jtotal为目标函数的模型)在风格识别准确率方面取得了最好的结果,在重建准确性方面取得了次优的结果。普通的变分自编码器模型在这两方面均表现不佳。Jadv,P和Jadv,R的加入提高了重建准确率,但未能对风格分类带来有意义的改进。随着Jadv,Zc或Jdis,Zs的加入,这三种识别精度都有了很大的提高,这表明隐空间按照预期被成功分解。
[0079] 表2:主观评估结果。
[0080]
[0081] 参照表2,主观评估方面:关于音乐性,所有的测试模型都有相似的表现,说明额外损失函数的加入对原始变分自编码器的生成质量没有负面影响。此外,使用总目标Jtotal的模型在风格显著性方面明显优于其他模型,与表1的结果一致。
[0082] 参照图4,本发明成功生成具有特定地域风格的中国民歌,例如生成的蒙古语歌曲中出现了蒙古族音乐中惯用的长音符和大音程;生成的湖南民歌出现了典型的大三度、小三度结合湖南特色等。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈