Re: core midi time stamping
Re: core midi time stamping
- Subject: Re: core midi time stamping
- From: Brian Willoughby <email@hidden>
- Date: Sat, 16 Jul 2005 17:00:53 -0700
[ It's worth remembering that the "original" MIDI (using five-pin DIN
[ cables) transmits data at around 31250 baud, or 3125 characters per
[ second. Given that a note on or off is 3 bytes (with a possible
[ small saving for running status) then this system allows around 1000
[ messages per second, or around 1msec per message.
It is also worth noting that 5-pin MIDI is completely asynchronous, meaning it
is unclocked. The start of a note can occur with a 32 usec timing accuracy at
worst, or 1 usec accuracy with most 32x asynchronous receivers.
There are actually two variables to consider here: the duration of a message,
and how fine-grained its timing can be. USB and FW shorten the duration of a
message significantly, in exchange for making its timing 100 to 1000 times
coarser. For live monitoring latency, this tradeoff may wash out, but for
recording - where the latency can be corrected where known - it is better to
have a longer latency if it means more accurate timing.
[ Playing 10 notes simultaneously across various channels takes around
[ 10 msecs. Using a MIDI controller keyboard for input and echoing from
[ the computer to an external synth then we get a monitoring delay
[ ("latency") of at least 2 msecs.
[
[ USB and FireWire devices may be inherently faster, but we know that
[ the five-pin DIN cable system was fast enough for practical use so I
[ suggest that trying to achieve sub-millisecond timings is unlikely to
[ give any tangible or noticeable benefits to the user.
I would disagree that 5-pin MIDI was fast enough. Even at the time, musicians
were aware of the problems, and some equipment was designed to avoid the
problems where possible. Just because it was a standard doesn't mean it's
musical. There simply wasn't enough processing power or advanced transmission
technology to do any better than that.
[ I don't think anyone will notice the improvement, except for the odd
[ pathological situation. And, of course, any improvements you get will
[ be wiped out if the user is still operating with five-pin DIN
[ equipment - and there's plenty of that around.
People dismiss MIDI sound sources and MIDI controllers all the time because
they don't sound acceptable. Many people are not aware of the technology or
why they're dismissing MIDI in their choice of musical instrument, but that
doesn't mean that an improvement in the technology would not make it more
likely for musicians to find it acceptable.
However, the MIDI interface and software are not the only factors. Scanning
in keyboards and controllers also introduces latency. Even a keyboard that it
only a few octaves is not scanned fully in parallel. Groups of keys are read
individually, so the performer's input may not be detected until the scan loops
around. A similar process happens with MIDI continuous controller devices,
where scanning of multiplexed knobs and faders, plus processing to filter out
noise and spurious readings, introduces a delay that results in uncorrectable
latency.
What would be ideal is an interface which time stamps the MIDI messages where
they are created. If tightly integrated into the scanning routines, this would
result in very human MIDI controllers. Patent pending.
Brian Willoughby
Sound Consulting
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden