如何解释MIDI文件分析参数的值,特别是“midi.NoteOnEvent”的“
我正在尝试使用
python(
link to the repo)的工具包python-midi来分析MIDI文件.
基本上,我的问题是关于我刚提取的数据的解释. 这是数据: mididump.py HHOP-Drums.mid midi.Pattern(format=0,resolution=96,tracks= [midi.Track( [midi.TrackNameEvent(tick=0,text='HHOP-Drumsx00',data=[72,72,79,80,45,68,114,117,109,115,0]),midi.TimeSignatureEvent(tick=0,data=[4,2,36,8]),midi.NoteOnEvent(tick=0,channel=0,data=[60,125]),data=[71,110]),midi.NoteOffEvent(tick=24,midi.NoteOffEvent(tick=0,(...) midi.NoteOffEvent(tick=12,midi.EndOfTrackEvent(tick=0,data=[])])]) (我省略了midi.NoteOn / OffEvent的大部分内容,以缩短此问题中嵌入的代码. >我不知道midi.TrackNameEvent的数据字段代表什么.
因此,很容易猜到,在midi.NoteOn / OffEvent数据字段的情况下,我们可以这样解释:midi.NoteOnEvent(tick = 0,channel = 0,data = [note_number,velocity]). 这是一个棘手的部分:在分析循环中分配给C1的底鼓.编号为this explanation of the MIDI standard C1的音符编号为12.但是,我们可以在分析的输出中看到,底鼓的音符编号为71. 为什么会这样? 注意:更重要的是,在将此分析的结果编码回MIDI之后,这个替代品似乎在Logic中的C1(OS X的音乐软件)中播放. 解决方法
> TrackNameEvent的数据字段与文本相同,只是不尝试解码它. >音符编号是唯一对MIDI有用的东西. 如何标记它(“C1”,或“踢鼓”或“71”)并不重要,并且可能在不同的程序中有所不同.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |