0

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
Kara
  • 6,115
  • 16
  • 50
  • 57
Nomi G
  • 23
  • 4

1 Answers1

2

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..."

CL.
  • 173,858
  • 17
  • 217
  • 259
  • Now I see. I was so confused on those bytes. So, if channel message with the same status as previous one would written without a status byte. Thanks! – Nomi G Mar 10 '17 at 07:15