一种情绪符号音乐生成方法、装置及存储介质
- 国知局
- 2024-06-21 11:48:40
本发明涉及数据处理,尤其涉及一种情绪符号音乐生成方法、装置及存储介质。
背景技术:
1、根据音乐在电子设备中的存储格式,音乐可以分为符号音乐和音频音乐。符号音乐为结构化的音乐信息集,包含音乐的音符、音轨等等音乐信息。符号音乐易于电子设备读写和理解,常见存储格式为midi和musicxml。音频音乐以音频信息进行存储,常见存储形式为mp3、wav。符号音乐有着结构化、较小的体积等优点。相较于音频音乐,基于符号音乐的计算机算法通常有着更低的开销和难度。用户可结合音色库,将符号音乐映射为直接可听的音频音乐。
2、基于transformer的时序模型通常需先将输入数据编码为词序列,常见的词序列为由单词组成的一维序列,每个单词表示一个事件,如音乐的音高事件、音长事件等。音符是音乐的基本元素,由于音符包含音高、音长、音强等事件,音符通常无法以单个单词的形式进行表示。复合词由多个词素组成,可同时包含多个事件,可利用单个复合词可以同时表示音符的音高、音强、音长等信息,音乐复合词序列更符合符号音乐的结构性。复合词序列通常以二维的形式表示,其中第一维表示序列顺序,第二维表示复合词内的事件种类。不同复合词内的事件种类和数量通常一致,不存在的事件可使用占位符替代。一维序列对应的编码方法可称为一维表示法,复合词序列对应的编码方法称为复合词表示法。
3、深度学习模型的效果与模型训练时使用的数据集规模和质量呈正相关。由于存在标注开销,通常无标签数据集的规模和质量优于有标签数据集。为了提高模型效果,使用无标签数据集进行模型训练而后使用有标签数据集进行模型训练是深度学习模型的常见训练流程,其中前者通常称为预训练,后者通常称为微调。
4、目前的情绪符号音乐生成系统通常基于深度学习模型,需要使用带有情绪标签的音乐数据集进行模型训练,从而学习数据集的音乐性以及情绪性。用户可将情绪标签作为控制信号,输入至训练完成的深度学习模型以进行情绪符号音乐生成。此方法的控制信号种类受限于音乐数据集的情绪标签种类。近年,有研究尝试将音乐属性引入深度学习情绪符号音乐生成系统中。此类系统从音乐中提取和分析获得与情绪相关的音乐属性集,例如音乐调性。用户可将情绪标签和音乐属性集作为控制信号输入至训练完成的深度学习模型以进行情绪符号音乐生成。但是,现有的技术方案还存有以下缺陷:1)预训练与微调是当前深度学习模型的常用训练流程。现有的基于复合词的情绪符号音乐生成系统通常于模型预训练前确定控制信号集和相应模型的设计和构成,如需调整控制信号集,则需要重新进行模型预训练,增大模型训练的时空开销。2)现有基于属性的情绪符号音乐系统通常使用一维表示法,仅能统一编码和处理符号音乐和单值控制信号,如需处理序列控制信号,则需要添加额外的模型结构。3)现有的基于属性的情绪符号音乐生成系统需要将控制信号转化为离散值,但是通常仅使用二值,表示高数值与低数值。
技术实现思路
1、为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于公开一种情绪符号音乐生成方法、装置及存储介质。
2、本发明所采用的技术方案是:
3、一种情绪符号音乐生成方法,包括以下步骤:
4、获取输入信息,根据所述输入信息生成音乐所需的情绪标签;
5、基于预设的情绪与音乐属性的映射关系,根据所述情绪标签映射得到音乐属性集;
6、对所述情绪标签和所述音乐属性集进行编码,获得控制复合事件序列;
7、根据控制复合事件序列生成融合控制信息的拼接向量;
8、根据融合控制信息的拼接向量和起始符,采用自回归式逐个预测符号音乐复合事件,直至达到最长序列长度或者达到结束符,获得音乐复合事件序列;
9、对音乐复合事件序列进行解码,获得符号音乐。
10、进一步地,所述情绪符号音乐生成方法采用训练后的有条件生成模型来实现,所述有条件生成模型包括音乐编解码模块、控制信号编码模块、音乐生成模块和音乐控制模块;
11、所述音乐编解码模块用于将符号音乐编码为音乐复合词序列,或者将音乐复合词序列解码为符号音乐;
12、所述控制信号编码模块用于将控制信号集编码为控制复合事件序列;
13、所述音乐生成模块基于cp-transformer深度学习模型,用于生成音乐复合事件序列;其中接收音乐控制模块提供的控制信息,以影响所生成的符号音乐的情绪倾向;
14、所述音乐控制模块为音乐生成模块提供控制信息,以影响音乐生成模块生成的符号音乐所包含的情绪倾向。
15、进一步地,所述有条件生成模型还包括属性预处理模块;所述属性预处理模块用于从符号音乐中提取音乐属性,并将属于连续值的音乐属性离散化为离散值;该模块用于模型训练时的数据预处理阶段;
16、所述有条件生成模型通过以下方式进行训练:
17、设置有条件生成模型的控制信号集,模型结构和参数,以及初始化模型的权重;
18、将预训练后的无条件生成模型的权重,赋值给有条件生成模型;其中,有条件生成模型和无条件生成模型的模型结构和参数相匹配;
19、根据属性预处理模块处理有情绪标签的符号音乐数据集,获得离散化的音乐属性集;
20、利用有情绪标签的符号音乐数据集和离散化的音乐属性集微调有条件生成模型,得到可用于情绪符号音乐生成任务的情绪符号音乐生成模型;
21、其中,所述无条件生成模型仅包含音乐生成模块和音乐编解码模块,采用大规模的无标签数据集对无条件生成模型进行预训练,以学得更强的音乐性。
22、进一步地,在属性预处理模块中,使用基于属性多分位数的多值音乐属性离散化方法将属于连续值的音乐属性离散化为离散值。
23、进一步地,所述音乐编解码模块使用cp表示法来编码符号音乐,将符号音乐编码为音乐复合事件序列x={x1,x2,...,xn},其中n为序列长度;对于序列中第i个位置的复合词其中nk表示复合词中音乐事件的种类数量。
24、进一步地,所述控制信号编码模块以音乐情绪标签和音乐属性集构成的控制信号集作为输入,使用基于复合词表示法的控制信息编码方法将控制信号编码为控制复合事件序列;
25、所述控制信号编码模块可编码单值控制信号和序列控制信号,其中控制复合事件序列的格式为其中n为序列长度,与符号音乐复合事件序列的长度一致。
26、进一步地,所述音乐生成模块包括复合嵌入层、嵌入融合层、控制融合层、基于transformer模型的因果注意力层、多头预测器;
27、所述音乐生成模块的工作方式如下:
28、对于序列长度为n的音乐复合事件序列x={x1,x2,...,xn},其中的每个复合事件xi进行嵌入操作,得到嵌入向量ei,j:
29、ei,j=embeddingj(xi,j),j=1,2...nj
30、其中,embeddingj(·)为第j个事件所对应的嵌入层函数;nj为事件种类数量;
31、拼接所有嵌入向量ei,j,经过一层全连接层,得到音乐拼接向量gi:
32、
33、其中,nh为transformer因果注意力层的隐藏层的维度。wm为音乐复合嵌入融合层的权重,音乐复合嵌入融合层的结构为单层全连接层;
34、如果是无条件形态:
35、将音乐拼接向量gi与位置嵌入向量pi相加,得到嵌入表征公式为:
36、
37、如果是有条件形态:
38、将音乐拼接向量gi与音乐控制模块输出的控制拼接向量gci拼接,经过控制融合层,得到
39、融合控制信息的拼接向量公式如下:
40、
41、其中,wcm为控制融合层的权重,控制融合层的结构为单层全连接层;
42、将融合的拼接向量gi与位置嵌入向量pi相加,得到嵌入表征公式为:
43、
44、其中,
45、将嵌入表征输入transformer因果自注意力层,得到上下文表征hi;
46、根据上下文表征hi,预测第i+1个复合事件xi+1。
47、进一步地,所述音乐控制模块包括复合嵌入层、嵌入融合层;
48、所述音乐控制模块的工作方式如下:
49、对于序列长度为i的控制复合事件序列c={c1,c2,...,cn},模型获取控制拼接向量gci的流程如下:
50、控制复合事件序列c={c1,c2,...,cn}中的每个复合事件ci进行嵌入操作,得到控制嵌入向量eci,j,公式如下:
51、eci,j=embeddingk(ci,k),k=1,2,...nc
52、其中,embeddingk(·)为第k个控制事件所对应的嵌入层函数,nc为控制事件种类数量;
53、拼接所有控制嵌入向量eci,j,经过一层全连接层,得到控制拼接向量gci;
54、gci=wc(concat[eci,1,eci,2...eci,k])
55、其中,wc为控制复合嵌入融合层的权重,其结构为单层全连接层;
56、将控制拼接向量gci输入受控模式的音乐生成模块,作为生成符号音乐的第i位控制信息。
57、本发明所采用的另一技术方案是:
58、一种情绪符号音乐生成装置,包括:
59、至少一个处理器;
60、至少一个存储器,用于存储至少一个程序;
61、当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
62、本发明所采用的另一技术方案是:
63、一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如上所述方法。
64、本发明的有益效果是:本发明通过分离音乐和控制信号集的编码序列和相应的处理模块,允许模型基于统一的预训练模型权重,灵活调整与音乐控制相关的模型设置,仅需进行时空开销较小的模型微调,即可使得模型具备生成情绪符号音乐的能力。
本文地址:https://www.jishuxx.com/zhuanli/20240618/23700.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。