迄今为止,绝大部分的音乐检索系统都是面向MIDI数据库
MIDI文件是由多个Chunk组成,而乐谱的全部就记录在Chunk里面。Chunk
的结构如表3.1,每个Chunk的前面四个字节表示Chunk的类型,接着四个字节表示数据的长度,之后是Chunk的数据。MIDI文件中有两种Chunk一种是HeaderChunk,其类型的标记是“MThd’’;另一种是TrackChunk,类型标记是“MTrk”。HeaderChunk提供了MIDI文件的简要信息,TrackChunk包含了最多16个通道的MIDI数据。正如表3.1所示,一个MIDI文件一般由一个HeaderChunk和紧接着的一个或多和TrackChunk组成。
Chunk
类型 长度 数据
MIDI文件 MThd 6 格式 <Tracks> <Division>
MTrk <长度> <Delta-time><Event> .........................
Header Chunk数据部分包含了3个16位的数据区,这些数据区描述了MIDI
文件的格式,Track的数量和MIDI的时间设置,如图表3.2所示。MIDI文件的格式
有三种,格式O表示MIDI文件只有一个音轨的信息,也就是只有一个HeaderChunk
和一个TrackChunk;格式1表示文件中由一个或者多个同步音轨,也就是所有的
Track同时播放;格式2表示MIDI中含有一个或者多个独立的音轨信息,即所有的
Track独立播放。<tracks>表示MIDI文件中 MIDI哼唱检索算法研究+文献综述(7):http://www.751com.cn/jisuanji/lunwen_9874.html