一种控制电钢琴变音色的方法、装置、系统及介质与流程

文档序号:32434782发布日期:2022-12-06 17:37阅读:119来源:国知局
一种控制电钢琴变音色的方法、装置、系统及介质与流程

1.本技术实施例涉及电子音乐控制技术领域,具体而言,涉及一种控制电钢琴变音色的方法、装置、系统及介质。


背景技术:

2.随着智能时代的发展,各大电钢琴品牌比如yamaha,roland等均有其配套的软件,每个品牌对应的应用软件的功能都大同小异,均以连接midi播放音乐为主,没有其他的功能。而传统的电钢琴配套的软件大多以连接usb-midi线来读取电钢琴的信号,或者是简单地向电钢琴发送命令,使其播放音符。但调整音色的时候往往需要用户手动切换,在演奏曲谱时有诸多不便。因此,传统控制电钢琴的方法不能充分激活电钢琴多音源以及可编程的特性,导致了用户或演奏者只能使用到其中很小的一部分功能,造成了极大的资源浪费,而且功能玩法单一乏味,久而久之,会让用户失去对电钢琴的演奏兴趣。


技术实现要素:

3.本技术实施例提供一种控制电钢琴变音色的方法、装置、系统及介质,旨在控制电钢琴变音色,提升用户演奏电钢琴的体验。
4.本技术实施例第一方面提供一种控制电钢琴变音色的方法,所述方法包括:
5.从服务端下载所述控制变音midi文件至客户端,所述客户端上建立有midi通道;
6.对所述控制变音midi文件进行数据分析,获取所述控制变音midi文件中的第一分析结果,所述第一分析结果包括事件events、分辨率division和速度tempo,所述事件events中包含有至少一个控制变音指令;
7.根据所述第一分析结果进行计算,得到第二分析结果,所述第二分析结果包括所述事件events的执行时间ticks;
8.将所述执行时间ticks映射至曲谱对应的小节,生成映射数据,并从所述映射数据中获取所述小节对应的所述事件events;以及
9.将所述小节对应的所述事件events中包含的所述控制变音指令,通过所述客户端上建立的所述midi通道发送至电钢琴。
10.可选地,从所述服务端下载所述控制变音midi文件至所述客户端,所述客户端建立有所述midi通道之前,还包括:
11.使用cubase软件制作所述控制变音midi文件;以及
12.上传所述控制变音midi文件至所述服务端。
13.可选地,对所述控制变音midi文件进行数据分析,获取所述控制变音midi文件中的第一分析结果,所述第一分析结果包括事件events、分辨率division和速度tempo,所述事件events中包含有控制变音指令,还包括:
14.获取所述控制变音midi文件的头部信息,如未能获取,则默认所述速度tempo为80;以及
15.根据所述控制变音midi文件的所述头部信息获取所述速度tempo的公式为:
16.tempo=60000000.0/microseconds per beat
17.可选地,根据所述第一分析结果进行计算,得到所述第二分析结果,所述第二分析结果包括所述事件events的所述执行时间ticks,包括:
18.计算所述事件events对应的所述执行时间ticks的公式为:
19.1tick=1/division/tempo*60seconds
20.可选地,将所述执行时间ticks映射至所述曲谱对应的所述小节,生成所述映射数据,并从所述映射数据中获取所述小节对应的所述事件events,还包括:
21.当所述曲谱开始播放时,根据所述小节对应的小节编号依次在所述映射数据中查找是否所述小节对应的所述事件events。
22.可选地,当所述曲谱开始播放时,根据所述小节对应的小节编号依次在所述映射数据中查找是否所述小节对应的所述事件events,包括:
23.如果存在,则获取所述小节对应的所述事件events,并根据所述事件events包含的控制变音指令,所述控制变音指令包括设置所述小节到指定时间节点自动改变所述电钢琴的音色;以及
24.如果不存在,则继续播放所述曲谱中所述小节对应的下一小节,并重复根据所述小节对应的小节编号依次在所述映射数据中查找是否所述小节对应的所述事件events的操作,直至所述曲谱中所有小节播放完毕。
25.可选地,将所述小节对应的所述事件events中包含的所述控制变音指令,通过所述客户端上建立的所述midi通道发送至电钢琴,包括:
26.所述客户端包括安卓端和ios端,所述midi通道分别包括通过有线或无线的方式,使用所述安卓端的amidi api或所述ios端的coremidi api用以发送所述midi控制变音指令至所述电钢琴,使所述电钢琴变换音色。
27.本技术实施例第二方面提供一种控制电钢琴变音色的装置,所述装置包括:
28.下载模块,用于从服务端下载所述控制变音midi文件至客户端,所述客户端上建立有midi通道;
29.分析模块,用于对所述控制变音midi文件进行数据分析,获取所述控制变音midi文件中的第一分析结果,所述第一分析结果包括事件events、分辨率division和速度tempo,所述事件events中包含有至少一个控制变音指令;
30.计算模块,用于根据所述第一分析结果进行计算,得到第二分析结果,所述第二分析结果包括所述事件events的执行时间ticks;
31.映射模块,用于将所述执行时间ticks映射至曲谱对应的小节,生成映射数据,并从所述映射数据中获取所述小节对应的所述事件events;以及
32.发送模块,用于将所述小节对应的所述事件events中包含的所述控制变音指令,通过所述客户端上建立的所述midi通道发送至电钢琴。
33.本技术实施例第三方面提供一种系统,包括:
34.一个或多个处理器;和
35.其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如本技术实施例第一方面提供的方法。
36.本技术实施例第四方面提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,所述一个或多个处理器执行如本技术实施例第一方面提供的方法。
37.本技术实施例在于提供一种控制电钢琴变音色的方法、装置、系统及介质,属于电子音乐控制技术领域。所述方法包括:从服务端下载所述控制变音midi文件至客户端,所述客户端上建立有midi通道;对所述控制变音midi文件进行数据分析,获取所述控制变音midi文件中的第一分析结果,所述第一分析结果包括事件events、分辨率division和速度tempo,所述事件events中包含有至少一个控制变音指令;根据所述第一分析结果进行计算,得到第二分析结果,所述第二分析结果包括所述事件events的执行时间ticks;将所述执行时间ticks映射至曲谱对应的小节,生成映射数据,并从所述映射数据中获取所述小节对应的所述事件events;以及将所述小节对应的所述事件events中包含的所述控制变音指令,通过所述客户端上建立的所述midi通道发送至电钢琴。使用本技术提供的一种控制电钢琴变音色的方法,可以使得用户在独自一人的情况下,也能用电钢琴演奏出一个乐队才能完成的曲目,大大地增加了电钢琴的可玩性,且在一定程度上避免了对社会物品资源的浪费。
附图说明
38.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
39.图1是本技术实施例提出的一种控制电钢琴变音色的方法的示意图;
40.图2是本技术实施例提成的一种控制电钢琴变音色的方法的流程图;以及
41.图3是本技术实施例提出的一种控制电钢琴变音色的装置的结构框图。
具体实施方式
42.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
43.请参阅图1示出的一种控制电钢琴变音色的方法,所述方法可应用于电钢琴的音色控制,所述方法包括以下步骤:
44.步骤101:从服务端下载所述控制变音midi文件至客户端,所述客户端上建立有midi通道。
45.本技术实施例中,服务端为具有存储以及具有通过使用有线传输方式如usb线路,或无线传输方式如wifi等传送文件的功能,而客户端则包括手机端,电脑端等一切具有移动性,以及具有通过使用有线传输方式如usb线路,或无线传输方式如wifi等下载文件的功能。midi,全称为musical instrument digital interface,是20世纪80年代初为解决点声乐器之间的通信问题而发明的技术,而midi文件属于二进制文件,一般具有头部信息,用以
描述该文件的属性,一般包括文件的类型。客户端上建立有midi通道,即服务器上的midi文件无法直接与电钢琴之间建立联系,其传送过程需要首先在客户端上建立一个通过有线或无线的通道,而后将解析后的midi文件中的控制指令发送至电钢琴用以控制该电钢琴。比如,在使用android客户端(如android手机或相关产品)时,可以采用amidi aip;当使用ios客户端(如苹果手机或相关产品)时,可以采用coremidi api等作为midi通道。本技术实施例中采用标准的midi文件用以作为控制电钢琴变音的手段有多种原因,第一,用户或内容制作者可以用连接电钢琴的方式来达到预览制作效果的目的;第二是因为midi文件是国际通用的标准文件,可以适用于各国的电钢琴,达到便于除制作者之外的第三方使用的效果。
46.可选地,在从所述服务端下载控制变音midi文件至客户端,所述客户端建立有所述midi通道之前,还包括:
47.使用cubase软件制作所要上传至服务器的控制变音midi文件,并上传所述控制变音midi文件之服务端。cubase是德国steinberg公司开发的全功能数字音乐、音频工作软件。这款软件有midi音序功能、音频编辑处理功能、多轨录音缩混功能、视频配乐以及环绕声处理功能等。但本技术实施例的制作控制变音midi文件的软件,并不局限于cubase软件,使用cubase软件进行制作仅是本技术实施例的一个优选例子。
48.步骤102:对所述控制变音midi文件进行数据分析,获取所述控制变音midi文件中的第一分析结果,所述第一分析结果包括事件events、分辨率division和速度tempo,所述事件events中包含有至少一个控制变音指令。
49.本技术实施例中,在下载用于控制电钢琴变音的midi文件到客户端后,需要对midi文件进行初步的数据分析,得到midi文件中的第一分析结果,包括事件events、分辨率division和速度tempo。事件events为了方便排序和使用,会以列表的方式呈现,其中,事件events中包含有至少一个控制变音指令,即可以有两个或以上的控制变音指令,用以在发送这些控制变音指令至电钢琴的时候,可以达到使该电钢琴变换出不同音色的效果。而分辨率division直接可在midi文件中分析出来,会在后续步骤中的计算公式中用到。速度tempo则是根据在步骤101中提到的midi头部信息中得到,此时分为两种情况,如果未能获取到该midi文件的头部信息,则默认速度tempo为80;如果成功获取到该midi文件的头部信息,则根据该midi文件的头部信息获取速度tempo,公式如下:
50.tempo=60000000.0/microseconds per beat
51.其中,per beat表示为曲谱的节拍。
52.步骤103:根据所述第一分析结果进行计算,得到第二分析结果,所述第二分析结果包括所述事件events的执行时间ticks。
53.本技术实施例中,在得到第一分析结果后,需要进一步计算事件events所对应的执行时间ticks,以便用于与实际要对应的曲谱时间相关联,所述执行时间ticks是一个相对的时间单位,与现实生活中的时间具有换算关系,具体比例依照曲谱来确定。用来计算事件events所对应的执行时间ticks的公式为:
54.1 tick=1/division/tempo*60 seconds
55.其中,division为步骤102中提到的,可直接在midi文件中分析出来的分辨率数据,tempo为步骤102中使用上述公式计算得出,或取默认值为80。
56.步骤104:将所述执行时间ticks映射至曲谱对应的小节,生成映射数据,并从所述
映射数据中获取所述小节对应的所述事件events。
57.本技术实施例中,将事件events的执行时间ticks映射到曲谱对应的小节上,即开始播放曲谱对应的曲目时,对每个小节进行编号,例如当小节开始的时候编号为1,开始小节的下一小节编号为2,依次类推,直至对曲谱内所有小节进行编号完毕,起对应原理如下表1所示,其中速度tempo为60,beat节拍为4/4:
[0058] 小节1小节2小节3小节4小节5小节6...执行时间(ticks)1850无10800无无25000 事件(events)pc无pc无无pc 映射结果1无3无无5 [0059]
表1
[0060]
其中,以表1为例进行具体的说明,该曲谱共对应有6个小节,其中小节1、3和6对应有事件的执行时间ticks,对应小节1,小节3,小节6的执行时间ticks为1850、10800和25000,即当上述执行时间以一定比例与现实时间进行换算后,当曲谱在该时间演奏到对应小节时,会执行对应的事件events,表1中的pc,全称为program change,也即代表了在该执行时间下,会有事件events发生,所述事件events中包含有控制变音指令。映射结果以不同标号表示改变电钢琴音色的不同,比如1代表传统钢琴,3代表爵士音,5代表电子音等等,以分析出的控制变音的midi文件的具体数据为准,在此不多赘述。
[0061]
可选地,当所述曲谱开始播放时,根据所述小节对应的小节编号依次在所述映射数据中查找是否存在所述小节对应的所述事件events。
[0062]
在本技术实施例中,根据小节对应的小节编号依次在映射数据中查找是否存在所述小节对应的事件events包括两种情况,分别为存在对应的事件events以及不存在对应的事件events。
[0063]
如果存在,则获取所述小节对应的所述事件events,并根据所述事件events包含的控制变音指令,所述控制变音指令包括设置所述小节到指定时间节点自动改变所述电钢琴的音色;以及
[0064]
如果不存在,则继续播放所述曲谱中所述小节对应的下一小节,并重复根据所述小节对应的小节编号依次在所述映射数据中查找是否所述小节对应的所述事件events的操作,直至所述曲谱中所有小节播放完毕。
[0065]
根据上述实施例的列举,请参阅图3所示,本技术所公开的一种控制电钢琴变音色的方法的完整操作流程为:
[0066]
s1:使用cubase软件制作控制变音midi文件;
[0067]
s2:上传所述控制变音midi文件至服务端;
[0068]
s3:从所述服务端下载所述控制变音midi文件至客户端;
[0069]
s4;在所述客户端解析所述控制变音midi文件,获得控制变音指令等数据;
[0070]
s5:映射所述控制变音等数据到对应的曲谱小节,并存储相关数据;
[0071]
s6:按序依次播放所述曲谱的各个小节且判断当前小节是否包含所述控制变音指令;
[0072]
s7:如果是,则发送所述控制变音指令给电钢琴,所述带有控制变音指令的小节演奏完毕后,重复步骤s6,直至下一个带有控制变音指令的小节出现时,重复此步骤;
[0073]
s8:如果不是,重复步骤s6;
[0074]
s9:所有小节播放完毕。
[0075]
基于同一发明构思,请参阅图3所示,本技术实施例提供一种控制电钢琴变音色的装置,所述装置包括:
[0076]
下载模块,用于从服务端下载所述控制变音midi文件至客户端,所述客户端上建立有midi通道;
[0077]
分析模块,用于对所述控制变音midi文件进行数据分析,获取所述控制变音midi文件中的第一分析结果,所述第一分析结果包括事件events、分辨率division和速度tempo,所述事件events中包含有至少一个控制变音指令;
[0078]
计算模块,用于根据所述第一分析结果进行计算,得到第二分析结果,所述第二分析结果包括所述事件events的执行时间ticks;
[0079]
映射模块,用于将所述执行时间ticks映射至曲谱对应的小节,生成映射数据,并从所述映射数据中获取所述小节对应的所述事件events;以及
[0080]
发送模块,用于将所述小节对应的所述事件events中包含的所述控制变音指令,通过所述客户端上建立的所述midi通道发送至电钢琴。
[0081]
基于同一发明构思,本技术实施例还提供一种系统,包括:
[0082]
一个或多个处理器;和
[0083]
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如本技术实施例提出的一种控制电钢琴变音色的方法。
[0084]
基于同一发明构思,本技术实施例还提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本技术实施例提出的一种控制电钢琴变音色的方法。
[0085]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0086]
本技术实施例在于提供一种控制电钢琴变音色的方法、装置、系统及介质,属于电子音乐控制技术领域。所述方法包括:从服务端下载所述控制变音midi文件至客户端,所述客户端上建立有midi通道;对所述控制变音midi文件进行数据分析,获取所述控制变音midi文件中的第一分析结果,所述第一分析结果包括事件events、分辨率division和速度tempo,所述事件events中包含有至少一个控制变音指令;根据所述第一分析结果进行计算,得到第二分析结果,所述第二分析结果包括所述事件events的执行时间ticks;将所述执行时间ticks映射至曲谱对应的小节,生成映射数据,并从所述映射数据中获取所述小节对应的所述事件events;以及将所述小节对应的所述事件events中包含的所述控制变音指令,通过所述客户端上建立的所述midi通道发送至电钢琴。使用本技术提供的一种控制电钢琴变音色的方法,可以使得用户在独自一人的情况下,也能用电钢琴演奏出一个乐队才能完成的曲目,大大地增加了电钢琴的可玩性,且在一定程度上避免了对社会物品资源的浪费。
[0087]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0088]
本领域内的技术人员应明白,本技术实施例的实施例可提供为方法、装置、或计算
机程序产品。因此,本技术实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0089]
本技术实施例是参照根据本技术实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0090]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0091]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0092]
尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。
[0093]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0094]
以上对本技术所提供的一种控制电钢琴变音色的方法、装置、系统及介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1