zhuanli/21/202310341014.html by HTTrack Website Copier/3.x [XR&CO'2014], Mon, 24 Jul 2023 09:34:51 GMT --> 一种自动判断乐曲调门的方法、电子装置及存储介质与流程

一种自动判断乐曲调门的方法、电子装置及存储介质与流程

文档序号:34865822发布日期:2023-07-23 19:34阅读:8来源:国知局
一种自动判断乐曲调门的方法、电子装置及存储介质与流程

1.本发明涉及乐曲调门判断技术领域,特别是涉及一种自动判断乐曲调门的方法、电子装置及存储介质。


背景技术:

2.在音乐记谱中,往往是通过记谱人在记谱时,通过各音符之间的关系来确定调门。1、2、3、4、5、6、7这七个音符,1和2,2和3,4和5,5和6,6和7之间都是相差一度音,而3和4,7和高音1之间相差半度音。从而在简谱上标记1=d、1=c等类似标记。这种人工判断乐曲调门方式,效率低,对操作人的音乐素养、经验要求比较高。


技术实现要素:

3.本发明的目的是提供一种自动判断乐曲调门的方法、电子装置及存储介质,能够借助计算机程序自动确定乐曲所属的调门,完成效率高,准确度高,适合大规模自动化的应用。
4.为实现上述目的,本发明提供了如下方案:一种自动判断乐曲调门的方法,该方法包括以下步骤:建立调门与音符组成的多个调门-音符集合,所述调门-音符集合中,调门与音符建立对应关系,不同调门包含对应的音符;获取待定调门乐曲的频域数据,并把频域数据与待定调门音符对应起来;基于频域数据,统计不同待定调门音符在待定调门乐曲中出现并持续的总时间,记录到数组a中;从数组a中分别筛选出与多个不同所述调门-音符集合中的音符一致的待定调门音符,得到与多个不同所述调门-音符集合对应的多个待定调门音符组合;基于数组a,确定多个待定调门音符组合中所有待定调门音符的出现并持续的总时间累加之和最大的待定调门音符组合;基于对应的调门-音符集合,确定总时间累加之和最大的待定调门音符组合对应的调门,作为待定调门乐曲的调门。
5.优选的,所述建立调门与音符组成的调门-音符集合,包括:将a2至c5音域范围的音符按照12平均律的顺序列出来;按照1=c,1=#c,1=d,1=#d,1=e,1=f,1=#f,1=g,1=#g,1=a,1=#a,1=b的调门,从列出来的音符中找到不同调门包含的音符,组成12个调门-音符集合,用集合sn表示,n=1,2,...,12;n为整数。
6.优选的,所述获取待定调门乐曲的频域数据,包括:采用傅里叶变换或常数q变换(cqt,constant-q transform),将待定调门乐曲的时序数据进行频域变换处理,得到待定调门乐曲的频域数据。
7.优选的,所述基于频域数据,统计不同待定调门音符在待定调门乐曲中出现并持
续的总时间,记录到数组a中,包括:基于频域数据,按照时间顺序列出待定调门乐曲所用的所有待定调门音符,并统计不同待定调门音符在待定调门乐曲中出现并持续的总时间,记录到数组a中。
8.优选的,所述从数组a中分别筛选出与多个不同所述调门-音符集合中的音符一致的待定调门音符,得到与多个不同所述调门-音符集合对应的多个待定调门音符组合,包括:分别筛选出数组a中在12个调门-音符集合中出现过的待定调门音符,得到与12调门-音符集合一一对应的12个待定调门音符组合。
9.优选的,所述基于数组a,确定多个待定调门音符组合中所有待定调门音符的出现并持续的总时间累加之和最大的待定调门音符组合,包括:分别计算12个待定调门音符组合中包含的所有待定调门音符的出现并持续的总时间累加之和,并进行比较,确定总时间累加之和最大的待定调门音符组合。
10.本发明还公开一种电子装置,包括一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如上述的自动判断乐曲调门的方法。
11.本发明还公开一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述的自动判断乐曲调门的方法。
12.根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供的自动判断乐曲调门的方法,通过建立多个调门-音符集合,明确了不同音符所属的调门,待定调门乐曲可以基于此找到所包含待定调门音符所属的调门,然后根据出现并持续的总时间,找到时间最长的一组待定调门音符组合对应的调门即可确定为待定调门乐曲的调门,借助上述方法,能够快速、准确得到待定调门乐曲的调门,完成效率高,准确度高,适合大规模自动化的应用。
附图说明
13.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
14.图1为本发明自动判断乐曲调门的方法的流程图;图2为本发明待定调门乐曲的示意图。
具体实施方式
15.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
16.本发明的目的是提供一种自动判断乐曲调门的方法、电子装置及存储介质,能够借助计算机程序自动确定乐曲所属的调门,完成效率高,准确度高,适合大规模自动化的应
用;解决了人工判断乐曲调门方式,效率低,对操作人的音乐素养、经验要求比较高的问题。
17.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
18.如图1所示,本发明提供的自动判断乐曲调门的方法,包括以下步骤:b1,建立调门与音符组成的多个调门-音符集合,所述调门-音符集合中,调门与音符建立对应关系,不同调门包含对应的音符;b2,获取待定调门乐曲的频域数据,并把频域数据与待定调门音符对应起来;b3,基于频域数据,统计不同待定调门音符在待定调门乐曲中出现并持续的总时间,记录到数组a中;b4,从数组a中分别筛选出与多个不同所述调门-音符集合中的音符一致的待定调门音符,得到与多个不同所述调门-音符集合对应的多个待定调门音符组合;b5,基于数组a,确定多个待定调门音符组合中所有待定调门音符的出现并持续的总时间累加之和最大的待定调门音符组合;b6,基于对应的调门-音符集合,确定总时间累加之和最大的待定调门音符组合对应的调门,作为待定调门乐曲的调门。
19.其中,步骤b1中,所述建立调门与音符组成的调门-音符集合,包括:将a2至c5音域范围的音符按照12平均律的顺序列出来;其中,a2至c5音域范围,包括全部或其中部分连续区间;按照1=c,1=#c,1=d,1=#d,1=e,1=f,1=#f,1=g,1=#g,1=a,1=#a,1=b的调门,从列出来的音符中找到不同调门包含的音符,组成12个调门-音符集合,用集合sn表示,n=1,2,...,12;n为整数;各集合中的音符可能有重复。
20.步骤b2中,所述获取待定调门乐曲的频域数据,包括:采用傅里叶变换或常数q变换(cqt,constant-q transform),将待定调门乐曲的时序数据进行频域变换处理,得到待定调门乐曲的频域数据。
21.步骤b3中,所述基于频域数据,统计不同待定调门音符在待定调门乐曲中出现并持续的总时间,记录到数组a中,包括:基于频域数据,按照时间顺序列出待定调门乐曲所用的所有待定调门音符,并统计不同待定调门音符在待定调门乐曲中出现并持续的总时间,记录到数组a中。
22.步骤b4中,所述从数组a中分别筛选出与多个不同所述调门-音符集合中的音符一致的待定调门音符,得到与多个不同所述调门-音符集合对应的多个待定调门音符组合,包括:分别筛选出数组a中在12个调门-音符集合中出现过的待定调门音符,得到与12调门-音符集合一一对应的12个待定调门音符组合。
23.步骤b5中,所述基于数组a,确定多个待定调门音符组合中所有待定调门音符的出现并持续的总时间累加之和最大的待定调门音符组合,包括:分别计算12个待定调门音符组合中包含的所有待定调门音符的出现并持续的总时间累加之和,并进行比较,确定总时间累加之和最大的待定调门音符组合。
24.例如,对集合sn(n=1,2,...,12,n为整数),分别查找数组a中音符在集合sn(n=1,2,...,12,n为整数)中是否出现过。找出a中在sn(n=1,2,...,12,n为整数)中出现过的所有
音符,并把这些音符在a中记录的持续时间相加,记为tsn(n=1,2,...,12,n为整数),得到12个值;比较所有tsn(n=1,2,...,12,n为整数)的值,假设最大的值为tsk(0《k《13,k为整数),则集合sk(0《k《13,k为整数)对应的调门就是待定调门乐曲的调门。
25.具体实施例如下:音域范围取家用钢琴的按键范围a2-c5,则中间的音阶共有88个,与钢琴键数目一致,音阶分别为:a2,#a2,b2,c1,#c1,d1,#d1,e1,f1,#f1,g1,#g1,a1,#a1,b1,c,#c,d,#d,e,f,#f,g,#g,a,#a,b,c,#c,d,#d,e,f,#f,g,#g,a,#a,b,c1,#c1,d1,#d1,e1,f1,#f1,g1,#g1,a1,#a1,b1,c2,#c2,d2,#d2,e2,f2,#f2,g2,#g2,a2,#a2,b2,c3,#c3,d3,#d3,e3,f3,#f3,g3,#g3,a3,#a3,b3,c4,#c4,d4,#d4,e4,f4,#f4,g4,#g4,a4,#a4,b4,c5。
26.集合s1为c调,其中音符为:s1={a2,b2,c1,d1,e1,f1,g1,a1,b1,c,d,e,f,g,a,b,c,d,e,f,g,a,b,c1,d1,e1,f1,g1,a1,b1,c2,d2,e2,f2,g2,a2,b2,c3,d3,e3,f3,g3,a3,b3,c4,d4,e4,f4,g4,a4,b4,c5}集合s2为#c调,其中音符为:s2={#a2,c1,#c1,#d1,f1,#f1,#g1,#a1,c,#c,#d,f,#f,#g,#a,c,#c,#d,f,#f,#g,#a,c1,#c1,#d1,f1,#f1,#g1,#a1,c2,#c2,#d2,f2,#f2,#g2,#a2,c3,#c3,#d3,f3,#f3,#g3,#a3,c4,#c4,#d4,f4,#f4,#g4,#a4,c5}集合s3为d调,其中音符为:s3={a2,b2,#c1,d1,e1,#f1,g1,a1,b1,#c,d,e,#f,g,a,b,#c,d,e,#f,g,a,b,#c1,d1,e1,#f1,g1,a1,b1,#c2,d2,e2,#f2,g2,a2,b2,#c3,d3,e3,#f3,g3,a3,b3,#c4,d4,e4,#f4,g4,a4,b4}集合s4为#d调,其中音符为:s4={#a2,c1,d1,#d1,f1,g1,#g1,#a1,c,d,#d,f,g,#g,#a,c,d,#d,f,g,#g,#a,c1,d1,#d1,f1,g1,#g1,#a1,c2,d2,#d2,f2,g2,#g2,#a2,c3,d3,#d3,f3,g3,#g3,#a3,c4,d4,#d4,f4,g4,#g4,#a4,c5}集合s5为e调,其中音符为:s5={a2,b2,#c1,#d1,e1,#f1,#g1,a1,b1,#c,#d,e,#f,#g,a,b,#c,#d,e,#f,#g,a,b,#c1,#d1,e1,#f1,#g1,a1,b1,#c2,#d2,e2,#f2,#g2,a2,b2,#c3,#d3,e3,#f3,#g3,a3,b3,#c4,#d4,e4,#f4,#g4,a4,b4}集合s6为f调,其中音符为:s6={a2,#a2,c1,d1,e1,f1,g1,a1,#a1,c,d,e,f,g,a,#a,c,d,e,f,g,a,#a,c1,d1,e1,f1,g1,a1,#a1,c2,d2,e2,f2,g2,a2,#a2,c3,d3,e3,f3,g3,a3,#a3,c4,d4,e4,f4,g4,a4,#a4,c5}集合s7为#f调,其中音符为:s7={#a2,b2,#c1,#d1,f1,#f1,#g1,#a1,b1,#c,#d,f,#f,#g,#a,b,#c,#d,f,#f,#g,#a,b,#c1,#d1,f1,#f1,#g1,#a1,b1,#c2,#d2,f2,#f2,#g2,#a2,b2,#c3,#d3,f3,#f3,#g3,#a3,b3,#c4,#d4,f4,#f4,#g4,#a4,b4}
集合s8为g调,其中音符为:s8={a2,b2,c1,d1,e1,#f1,g1,a1,b1,c,d,e,#f,g,a,b,c,d,e,#f,g,a,b,c1,d1,e1,#f1,g1,a1,b1,c2,d2,e2,#f2,g2,a2,b2,c3,d3,e3,#f3,g3,a3,b3,c4,d4,e4,#f4,g4,a4,b4,c5}集合s9为#g调,其中音符为:s9={#a2,c1,#c1,#d1,f1,g1,#g1,#a1,c,#c,#d,f,g,#g,#a,c,#c,#d,f,g,#g,#a,c1,#c1,#d1,f1,g1,#g1,#a1,c2,#c2,#d2,f2,g2,#g2,#a2,c3,#c3,#d3,f3,g3,#g3,#a3,c4,#c4,#d4,f4,g4,#g4,#a4,c5}集合s10为a调,其中音符为:s10={a2,b2,#c1,d1,e1,#f1,#g1,a1,b1,#c,d,e,#f,#g,a,b,#c,d,e,#f,#g,a,b,#c1,d1,e1,#f1,#g1,a1,b1,#c2,d2,e2,#f2,#g2,a2,b2,#c3,d3,e3,#f3,#g3,a3,b3,#c4,d4,e4,#f4,#g4,a4,b4}集合s11为#a调,其中音符为:s11={a2,#a2,c1,d1,#d1,f1,g1,a1,#a1,c,d,#d,f,g,a,#a,c,d,#d,f,g,a,#a,c1,d1,#d1,f1,g1,a1,#a1,c2,d2,#d2,f2,g2,a2,#a2,c3,d3,#d3,f3,g3,a3,#a3,c4,d4,#d4,f4,g4,a4,#a4,c5}集合s12为b调,其中音符为:s12={#a2,b2,#c1,#d1,e1,#f1,#g1,#a1,b1,#c,#d,e,#f,#g,#a,b,#c,#d,e,#f,#g,#a,b,#c1,#d1,e1,#f1,#g1,#a1,b1,#c2,#d2,e2,#f2,#g2,#a2,b2,#c3,#d3,e3,#f3,#g3,#a3,b3,#c4,#d4,e4,#f4,#g4,#a4,b4}假设有一首乐曲片段需要判定调门。待定调门乐曲如图2所示。
27.进行上述步骤中的b2步,将乐曲录音片段进行时频变换,获得各音符的时序。
28.计算出现的音符和总时值,因为每分钟80拍,所以每拍为0.75秒。以下时值用秒计算:e:0.5*0.75,b:1.5*0.75,c:0.5*0.75,d:2.5*0.75,e:0.5*0.75,g:1.5*0.75,b:3.5*0.75,d1:4*0.75,e1:3*0.75,#f1:5*0.75,g1:3.5*0.75,b1:1*0.75所有音符的总时间为27*0.75秒。
29.把上述出现在集合s1-s12中的音符时长都加起来:集合s1:除了#f1 不在s1中,乐曲中其他音符都出现在集合s1中,因此ts1=0.5*0.75+1.5*0.75+0.5*0.75+2.5*0.75+0.5*0.75+1.5*0.75+3.5*0.75+4*0.75+3*0.75+3.5*0.75+1*0.75=22*0.75同理:ts2=5.5*0.75ts3=19*0.75ts4=12*0.75ts5=11.5*0.75ts6=16*0.75ts7=11*0.75ts8=27*0.75
ts9=5.5*0.75ts10=16.5*0.75ts11=12*0.75ts12=11*0.75可见,最大值为ts8,对应的集合s8为g调。从原谱上可以看到,该曲正是g调。
30.本发明还公开一种电子装置,包括一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如上述的自动判断乐曲调门的方法。
31.本发明还公开一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述的自动判断乐曲调门的方法。
32.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
zhuanli/21/202310341014.html by HTTrack Website Copier/3.x [XR&CO'2014], Mon, 24 Jul 2023 09:35:01 GMT -->