一种基于动态规划与抑扬格的旋律结构边界检测方法
- 国知局
- 2024-06-21 11:49:05
本发明属于音乐科技领域,尤其是涉及一种基于动态规划与抑扬格的旋律结构边界检测方法。
背景技术:
1、随着计算能力和aigc技术的发展,基于人工智能的音乐生成系统已经取得了惊人的成果,受到了研究者的广泛关注。深度学习在音乐创作领域的应用已经取得显著进展,然而,目前的研究在处理音乐发展中的细致变化,例如旋律的重复、变化和结构多样性时,仍面临一些挑战。
2、音乐创作中的不同部分往往包含丰富且细致的结构,包括主题的重复、对比旋律的有序重复等,这都要求模型能够理解和处理音乐作品的整体性和变化性。在音乐作品中,除主题重复外,其它部分鲜有明确重复,一首完整乐曲常采用如aba或abaca的结构。这不仅需要旋律在远处重复,还需引入与主题对比的旋律,且这些对比旋律也要有序地重复,确保结构连贯性。然而,目前的模型很多时候不能很好地捕捉这些隐藏的重复。这主要是因为当前的深度学习模型的数据处理方式与人类音乐家的创作思路存在差距:模型以音符级别处理数据,而人类音乐家的创意通常蕴含在一组音符中,音符间的关系也远比模型的注意力机制复杂。
3、为了解决这些问题,最新的研究已开始尝试更复杂的音乐结构建模方式,如2022年发表在神经信息处理系统大会neurips会议上的论文:用于音乐生成具有细粒度和粗粒度注意力机制的transformer-“museformer:transformer with fine-and coarse-grained attention for music generation”作者提出的模型的粗细粒度注意力机制,以及2022年发表在ieee transactions on multimedia上的论文:使用主题条件控制的符号音乐生成transformer-“theme transformer:symbolic music generation with theme-conditioned transformer”作者提出的结构分割和层次模型。这些工作都在寻找以更灵活、更准确的方式表现音乐结构的新方法。
4、然而,现有研究在音乐结构分割方面仍存在局限性,主要在于其对特定音乐理论的依赖。例如,西方的音乐结构依赖小节划分和特定的音乐理论,但对于现代或非西方音乐体系,或者涵盖多种音乐风格的作品,这种方法可能就不再适用。未来的音乐生成模型需要能够处理更多元化、更灵活的音乐结构,并理解和模拟多种音乐理论和风格,这需要大量的研究和开发工作。
技术实现思路
1、本发明提供了一种基于动态规划与抑扬格的旋律结构边界检测方法,能够根据音乐中具有重复与发展的结构特性来提取音乐中最小的结构单元。
2、一种基于动态规划与抑扬格的旋律结构边界检测方法,包括:
3、(1)将音频二进制文件midi转换为音符序列信息,用音乐理论自动化量化框架对音符序列信息进行量化;
4、(2)依据量化好的网格线进行音符节奏重要性赋值以及赋值修正;
5、(3)根据音符的节奏重要性赋值,对音乐中最小结构单元rps进行相似性判断以及分类;
6、(4)采用动态规划dp算法进行rps分割。
7、本发明将应用音乐理论方面的重复与发展和音乐结构中的相似性来提取音乐中的最小结构单元rps,rps是由2-3个音符组成的音乐结构单元,提取midi数据中的rps可以有效地使用知识增强策略使得模型能够更好地理解音乐结构边界,提升生成音乐的质量。
8、根据音乐理论中关于音乐句法的研究,听众的音乐句法加工能力是个体把握音乐整体与深层意义的前提,句法在音乐意义的理解中尤为重要。音乐句法是一种将音乐的各个部分连结起来,并构成一个有意义整体的结构规则,对于接受者来说,对句法的认知不仅体现在对句子结构的规则的认知上,也体现在对音乐结构边界的知觉上。
9、音乐中的句法指的是将离散的结构元素结合成序列的原则。这意味着我们可以识别知觉上的离散元素,也可以将这些元素结合成序列的标准。因此,基于主观听觉的音乐结构边界和结构组织规则的研究将是未来大部分关于音乐意义与主观体验研究的基础。
10、由于语言与音乐的相似性,很多基于语言的实证研究可以作为音乐心理学研究的参考。例如人类在语言结构边界的知觉将会诱发一种cps成分。同时,在删除音段信息,只保留哼鸣的句子,也能诱发结束正向偏移closure positive shift(cps)。这暗示着cps成分体现出对于语调边界的认识,而不依赖于其他的音素、句法和语义信息。同时,cps对音乐有相同的作用也是合理的推理。
11、音乐专业知识对音乐边界的感知的有相当大的影响。音乐家可以对三个层次的结构边界作出反应,但是非专业的被试的cps只在乐段边界出现时被发现,并且在三个分句条件下都检测出了持续的额叶负性。总的来说,当边界感强度足够时,cps在音乐家和非音乐家中都能被激发出来。
12、因此,本发明强调音乐旋律中结构以及边界的重要性,让深度学习模型能够理解音乐旋律中的最小结构片段和听感边界,能够学习到音乐旋律中的曲式结构,从而生成质量更高的旋律。
13、步骤(1)中,用音乐理论自动化量化框架对音符序列信息进行量化,具体包括:
14、首先,将旋律轨道以120刻度ticks为间隔设置网格线,然后将每个音符的开始start、结束end吸附到最近的网格线上;
15、接着,清除旋律轨道中的复音,如果有start、end相同,音高pitch不同的音符,只保留音高最高的音符;
16、当音高<50的音符占所有音符50%以上时该旋律被视为是鼓drum,删除被视为鼓文件的旋律;如果旋律数据中存在大于等于一小节的空拍rest,则将其分为两个或者多条旋律数据,分割过程保证音符相对小节线的偏移位置不变;删除旋律数据中小节数量少于16小节的数据;删除旋律数据中音符数量少于64的数据。
17、步骤(2)中,先对每个音符进行基础赋值后再进行修正,修正值为duration/120。
18、进一步地,在没有切分音的情况下,基础赋值根据音符起始位置所在网格线中的位置赋予不同的值,具体为:
19、基础赋值为5的起始位置:网格grid1;基础赋值为4的起始位置:网格grid9;基础赋值为3的起始位置:网格grid5,网格grid13;基础赋值为2的起始位置:网格grid3,网格grid7,网格grid11,网格grid15;基础赋值为1的起始位置:网格grid2,网格grid4,网格grid6,网格grid8,网格grid10,网格grid12,网格grid14,网格grid16。
20、进一步地,在有切分音的情况下,分为单一切分音和连续切分音两种情况:
21、对于只有单一切分音的情况:若该音符属于骨干音,即切分音+长音,则该音符初始赋值为5;同时对该切分音的前一个音符进行赋值更改,更改量化网格线,将起始位置网格grid1与该切分音start位置对齐,根据对齐后的网格线赋值对该音符进行赋值更改;
22、若该前一个音符的时长duration大于等于720ticks或该音符与后切分音音符之间存在大于等于240ticks的空拍,则不对该音符进行节奏重要性赋值修正;
23、对于连续切分音的情况:首先将连续的切分音看作一个整体s,若s中间出现大于等于240ticks的空拍,则将从空拍处拆分s;
24、若不存在空拍,则按照s中音符的时长duration进行分类处理,若s中切分音的duration都相同,则量化网格线的grid1对齐s中第一个切分音的start,并以此重新对齐的网格线对s的前一个音符以及s中的每个切分音进行赋值更改;
25、若s中切分音的duration不同,继续细分为两种情况:
26、若s中所有切分音的duration都不相同,将s中duration最长的切分音赋值为5,s中的其他切分音根据duration长度排序赋值依次递减1,完成s内的切分音赋值后,量化网格线的grid1对齐s中第一个切分音的start,并以此重新对齐的网格线仅对s的前一个音符进行赋值更改,s内的切分音赋值不变;
27、若s中所有切分音的duration部分相同,则按照duration长度排序赋值,等长且相邻的切分音按照出现顺序赋值依次减1,duration长度最小的切分音要在s中保持最低的赋值。
28、步骤(3)中,对音乐中最小结构单元rps进行相似性判断以及分类,具体规则为:
29、根据节奏组织将rps分为5种类型:iamb抑扬格(0,1)、anapest抑抑扬(0,0,1)、trochee扬抑格(1,0)、dactyl扬抑抑格(1,0,0)、amphibrach抑扬抑格(0,1,0);
30、根据旋律轮廓将rps分为12种类型,其中,2个音符分为:上行、下行、平行;3个音符分为:上行、下行、平行、先上后下、先下后上、先平后上、先平后下、先下后平、先上后平;
31、根据节奏组织与旋律轮廓是否相同的组合,总结出4种关系类型:
32、相似的rps:关系relation1为节奏组织相同,旋律轮廓相同,关系relation2为节奏组织相同,旋律轮廓不同;不相似的rps:关系relation3为节奏组织不同,旋律轮廓相同,关系relation4为节奏组织不同,旋律轮廓不同。
33、进一步地,根据旋律轮廓将rps分为12种类型时,2个音符的情况下,如果后一个音符的pitch减去前一个音符的pitch的差为负,则归类为下行;如果后一个音符的pitch减去前一个音符的pitch的差为正,则归类为上行;如果后一个音符的pitch减去前一个音符的pitch的差为0,则归类为平行。
34、进一步地,根据旋律轮廓将rps分为12种类型时,3个音符的情况下,设第二个音符的pitch减去第一个音符的pitch的差为度量balance_1,第三个音符的pitch减去第二个音符的pitch的差为度量balance_2,则有:
35、如果balance_1和balance_2同时为负,归类为下行;如果balance_1和balance_2同时为正,归类为上行;如果balance_1和balance_2同时为0,归类为平行;如果balance_1为负,balance_2为正,归类为先下后上;如果balance_1为正,balance_2为负,归类为先上后下;如果balance_1为0,balance_2为正,归类为先平后上;如果balance_1为0,balance_2为负,归类为先平后下;如果balance_1为负,balance_2为0,归类为先下后平;如果balance_1为正,balance_2为0,归类为先上后平。
36、步骤(4)的具体过程为:
37、首先进行段落分割,段落分割点有两种:部分骨干音且是小节最长音,空拍rest大于等于240ticks;都取每个音的end作为分割线;
38、接着进行rps分割,将音符数量小于等于3个段落作为一个完整的rps,如果段落内的音符数量大于3,则采用rps分割算法,并在每个段落开头用标识符标记。
39、rps分割算法采用了传统算法中的动态规划(dp)算法思路,状态转移方程的目标是使得所有分割出来的rps占据尽可能多的全局旋律音符数量,从而得到全旋律最优解的rps分割方案。
40、与现有技术相比,本发明具有以下有益效果:
41、1、本发明使得深度学习模型能够更好地理解音乐结构知识,让生成的旋律更符合人类音乐创作的规律;
42、2、本发明能够更好地反映出旋律中的结构信息,并将音乐中重复与发展的结构方式客观标准化地表达。
本文地址:https://www.jishuxx.com/zhuanli/20240618/23741.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。