I am trying to parse MIDI files using the toolkit python-midifor python( repo link ).
Basically, my question is about interpreting the data I just extracted.
Here are the data:
mididump.py HHOP-Drums.mid
midi.Pattern(format=0, resolution=96, tracks=\
[midi.Track(\
[midi.TrackNameEvent(tick=0, text='HHOP-Drums\x00', 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]),
midi.NoteOnEvent(tick=0, channel=0, data=[71, 110]),
midi.NoteOffEvent(tick=24, channel=0, data=[60, 0]),
midi.NoteOffEvent(tick=0, channel=0, data=[71, 0]),
(...)
midi.NoteOffEvent(tick=12, channel=0, data=[71, 0]),
midi.NoteOffEvent(tick=0, channel=0, data=[72, 0]),
midi.NoteOnEvent(tick=0, channel=0, data=[72, 110]),
midi.NoteOffEvent(tick=24, channel=0, data=[72, 0]),
midi.EndOfTrackEvent(tick=0, data=[])])])
(I skipped most of midi.NoteOn / OffEvent to shorten the code embedded in this question. A complete analysis of this MIDI track is available here: http://pastebin.com/5emVhJWb .)
- I do not know what the field means
data midi.TrackNameEvent. - Secondly, the field is
data midi.NoteOn/OffEventrather obscure. According to the repo documentation python-midi:NoteOnEvent , , , . , , - , , .
NoteOffEvent , , . , , , - , , . NoteOnEvents NoteOffEvents.
, , midi.NoteOn/OffEvent data : midi.NoteOnEvent(tick=0, channel=0, data=[note_number, velocity]).
: , C1 . MIDI. C1 - 12. , 71.
?
. , MIDI, kickdrum, , C1 Logic ( OS X).