Unrecognized status byte in Midi file

285 views Asked by At

I've been working on Midi file for some time and I stuck on some kind of status byte of thing. According to the standard Midi file format there is no such a things. So, Can someone tell what is this 3 bytes information "00 a040". I know that "00" is the byte stands for delta time and 0xa0 should be status byte, If only I understood it correctly. Last 3 bytes located at line 18 is the only part I don't understand so far. After those 3 bytes, then comes the text meta event bytes lead by "00 ff01".

Midi File Line 18th to 19th:

ff 51 03 09 cc 90 00 c0 00 00 b0 07 64 00 0a 40  
00 ff 01 20 62 64 63 61 34 32 36 64 31 30 34 61
1

There are 1 answers

1
CL. On BEST ANSWER

The SMF specification says:

Running status is used: status bytes of MIDI channel messages may be omitted if the preceding event is a MIDI channel message with the same status.

So these bytes can be decoded as follows:

ff 51 03 09 cc 90: meta event: set tempo, 9CC90h = 642192 µs per quarter note
00: delta time
c0 00: set program 0 (piano) on channel 0
00: delta time
b0 07 64: set controller 7 (volumn) to value 100
00: delta time
  0a 40: running status (repeat B0h); set controller 10 (expression) to value 64
00: delta time
ff 01 20 ...: meta event: text: "bdca426d104a..."