Midi文件解码方法和系统的制作方法_3

文档序号:9305391阅读:来源:国知局
上述过程,直至对文件的排序完成。
[0078]优选的,在其他实施例中,本发明MIDI文件解码系统还可以包括录入排序模块300。录入排序模块300,被配置为在事件通讯设备将接收到的事件传入到文件写入系统时,按照时间顺序将接收到的事件排序到MIDI文件中。
[0079]可以理解的,对于自编自解的系统,在录制文件的过程中,可以按照时间顺序,将事件通讯设备接收到的事件排序到MIDI文件中。一个实施例中,时间通讯设备接收到事件后,可以按照接收各个事件的时间的先后顺序,将接收到的事件排序到MIDI文件中。
[0080]优选的,在其他实施例中,本发明MIDI文件解码系统还可以包括新轨道排序模块400。新轨道排序模块400,被配置为在插入新轨道数据时,按照时间顺序将新轨道数据插入MIDI文件中。
[0081]可以理解的,对于录制好的MIDI文件,若要加入新轨道数据,则可以按照时间顺序将新轨道数据插入MIDI文件中。具体的,可以参照第一时间信息检测单元110和读取写入单元120的处理流程,按照时间顺序将新轨道数据插入MIDI文件中。
[0082]另外,将通过录入排序模块300将事件通讯设备将接收到的事件排序到MIDI文件中,或新轨道排序模块400按照时间顺序将新轨道数据插入MIDI文件中后,可以通过解码模块200对MIDI文件进行解码。
[0083]解码模块200,被配置以将按照时间顺序排序后的MIDI文件进行解码。
[0084]对经排序模块100排序后的MIDI文件进行解码时,可以按照时间顺序读取各个事件。具体的,参见图6,一个实施例中,解码模块200可以包括第二时间信息检测单元210和解码单元220。
[0085]第二时间信息检测单元210,被配置以检测MIDI文件的各个轨道的时间信息参数。
[0086]当第二时间信息检测单元210检测到某一轨道的时间信息参数表示该轨道所处理的事件结束时,通知解码单元220。具体情况,可参照第一时间信息检测单元110中的描述。
[0087]解码单元220,被配置以在时间信息参数表示当前轨道处理完当前事件时,将MIDI文件的下一个事件由当前轨道进行解码处理。
[0088]其中,可以逐一检测各个轨道的时间信息参数,当检测到某一轨道的时间信息参数表示该轨道所处理的事件结束时(例如时间信息参数的时间计数为零),则说明该轨道所处理的当前事件结束。则将文件的下一个事件交由该轨道进行解码处理。
[0089]同样,本实施例中,可以通过检测各个轨道的delta,来检测各个轨道的事件的持续时间长度或剩余时间。具体的,每个轨道均有一个包含时间信息参数的delta,表示该轨道正在处理的事件发生的持续时间。这个delta标志着该轨道是否已经可以处理下一个事件。例如,检测到一个轨道当前的delta为30,则表示该轨道的事件还在被处理,所以进行delta自减并继续查询下一个轨道的delta。直至获取到的某个轨道的delta为零时,则将文件的下一个事件交由delta为零的轨道进行解码处理。这样文件的各个事件按时间顺序由各个轨道进行解码处理,也不需要额外信息来标志事件的轨道信息。
[0090]上述MIDI文件解码系统,按照MIDI文件的各个轨道的时间信息参数对MIDI文件进行排序,并将排序后的MIDI文件进行解码,不需要跳着获取各个轨道的事件,也不需要预解各个轨道的所有事件,能够降低解码资源,节省MIDI文件的解码成本。
[0091] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种MIDI文件解码方法,其特征在于,包括以下步骤: 按照MIDI文件的各个轨道的时间信息参数对MIDI文件进行排序; 将排序后的所述MIDI文件进行解码。2.根据权利要求1所述的MIDI文件解码方法,其特征在于,所述按照MIDI文件的各个轨道的时间信息参数对所述MIDI文件进行排序步骤包括: 检测所述MIDI文件的各个轨道的时间信息参数; 在所述时间信息参数表示当前轨道所处理的事件结束时,跳转到当前轨道的文件位置,进行事件读取处理,并写入所述MIDI文件; 重复上述过程,直至对所述MIDI文件的排序完成。3.根据权利要求1所述的MIDI文件解码方法,其特征在于,所述将排序后的所述MIDI文件进行解码步骤包括: 检测所述MIDI文件的各个轨道的时间信息参数; 在所述时间信息参数表示当前轨道处理完当前事件时,将下一个事件由所述当前轨道进行解码处理; 重复上述过程,直至解码完成。4.根据权利要求2或3所述的MIDI文件解码方法,其特征在于,所述时间信息参数为所述MIDI文件的各个轨道所包含的delta。5.根据权利要求1至3任意一项所述的MIDI文件解码方法,其特征在于,所述方法还包括:事件通讯设备将接收到的事件传入到文件写入系统时,按照时间顺序将接收到的事件排序到所述MIDI文件中。6.根据权利要求1至3任意一项所述的MIDI文件解码方法,其特征在于,所述方法还包括:插入新轨道数据时,按照时间顺序将所述新轨道数据插入所述MIDI文件中。7.—种MIDI文件解码系统,其特征在于,包括排序模块和解码模块; 所述排序模块,被配置以按照MIDI文件的各个轨道的时间信息参数对MIDI文件进行排序; 所述解码模块,被配置以将排序后的所述MIDI文件进行解码。8.根据权利要求7所述的MIDI文件解码系统,其特征在于,所述排序模块包括第一时间信息检测单元和读取写入单元; 所述时间信息检测单元,被配置以检测所述MIDI文件的各个轨道的时间信息参数; 所述读取写入单元,被配置以在所述时间信息参数表示当前轨道所处理的事件结束时,跳转到当前轨道的文件位置,进行事件读取处理,并写入所述MIDI文件。9.根据权利要求7所述的MIDI文件解码系统,其特征在于,所述解码模块包括第二时间信息检测单元和解码单元; 所述第二时间信息检测单元,被配置以检测所述MIDI文件的各个轨道的时间信息参数; 所述解码单元,被配置以在所述时间信息参数表示当前轨道处理完当前事件时,将MIDI文件的下一个事件由所述当前轨道进行解码处理。10.根据权利要求8或9所述的MIDI文件解码系统,其特征在于,所述时间信息参数为所述MIDI文件的各个轨道所包含的delta。11.根据权利要求7至9任意一项所述的MIDI文件解码系统,其特征在于,所述系统还包括录入排序模块,所述录入排序模块被配置为在事件通讯设备将接收到的事件传入到文件写入系统时,按照时间顺序将接收到的事件排序到所述MIDI文件中。12.根据权利要求7至9任意一项所述的MIDI文件解码系统,其特征在于,所述系统还包括新轨道排序模块,所述新轨道排序模块被配置为在插入新轨道数据时,按照时间顺序将所述新轨道数据插入所述MIDI文件中。
【专利摘要】本发明公开一种MIDI文件解码方法和系统。上述方法包括:按照MIDI文件的各个轨道的时间信息参数对MIDI文件进行排序;将排序后的MIDI文件进行解码。上述系统包括排序模块和解码模块。上述MIDI文件解码方法和系统,不需要跳着获取各个轨道的事件,也不需要预解各个轨道的所有事件,能够降低解码资源,节省MIDI文件的解码成本。
【IPC分类】G11B27/10, G11B20/10
【公开号】CN105023594
【申请号】CN201510472794
【发明人】肖全之, 闫玉凤, 黄颖均, 方桂萍
【申请人】珠海市杰理科技有限公司
【公开日】2015年11月4日
【申请日】2015年8月4日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1