Having read the discussion recently about whether MIDI does or does not
cause audible timing degradation in music, I did a few calculations:
Each byte of a MIDI message takes 320 microseconds to send. A typical
note 'on' or 'off' event needs 2 bytes (assuming 'running status' is
used, which is normal practice). It therefore takes 0.00064 seconds to
send a note event via MIDI.
Sound travels at (approximately) 330 metres per second. In 0.00064
seconds, sound travels 0.2112 metres (about 8.25 inches). A typical
upright piano is about 1.5m wide and the hammers over a 2 octave span
are about 33 centimetres apart.
If timing variations due to MIDI data transmission are audible, then it
should be equally possible to hear a difference in note timings simply
by standing at different ends of the piano whilst it is being played by
a roll. My feeling is that timing variations this small are inaudible,
particularly compared to the times involved in movement of the piano's
action.
I do agree with Robbie Rhodes, however, that much more critical to the
overall response time is the delay involved in processing the received
signal and turning this into an actual hammer solenoid drive signal.
Unfortunately, this timing can vary widely between manufacturers and
there appears to be no standard which says how fast a MIDI decoder has
to respond -- something to check when considering purchasing a MIDI
player system.
For the record, my MTP-1 MIDI boards use a Reduced Instruction Set
Computer (RISC) controller which is so fast that the note output
drivers are energised before the MIDI message has even completely
finished! This is possible because the last few microseconds in each
message don't carry any information and this time is enough for a fast
processor to decode the data in the preceding part of the message.
Regards,
John Wale
Coventry, UK
|