• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: core midi time stamping
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: core midi time stamping


  • Subject: Re: core midi time stamping
  • From: Bob Lang <email@hidden>
  • Date: Sat, 16 Jul 2005 23:50:54 +0100

Hi All

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

Bob
--
On 16 Jul 2005, at 19:06, Herbie Robinson wrote:

At 4:40 AM -0700 7/15/05, Brian Willoughby wrote:

A custom driver is required to get better MIDI latency performance than this over USB.


Careful with terminology there. Depending on who you are talking to (as in most Musicians who use computers), latency means the time it takes to echo back an input event for monitoring purposes. No fancy driver stuff can improve that over USB. Ideally for USB, it would be 1 msec average (1/2 msec for input and 1/2 msec for output). In practice, it seems to be more like 2-3 msec.


Time-stamping will improve the timing accuracy of both recording and playback, but not monitoring during recording. One the hardware I've tested, time-stamping didn't help very much (pulled of maybe 1 msec). I suspect that the device firmware also introduces a lot of delays, but don't have the means to really tell for sure.


I have no experience with the limitations of FireWire for MIDI time stamping.


The isochronous heartbeat it 1/8 msec. If MIDI is done isochronously, then it would insert 1/16msec average latency. If it's not isochronous (MIDI really shouldn't be, because we don't want MIDI packets dropped), then it could be faster, but 1/16th msec is probably faster than the OS can schedule; so, I suspect the hardware isn't going to be the limiting factor.
--
-*****************************************
** http://www.curbside-recording.com/ **
******************************************
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40blueyonder.co.uk


This email sent to email@hidden



_______________________________________________ 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
  • Follow-Ups:
    • Re: core midi time stamping
      • From: Herbie Robinson <email@hidden>
    • Re: core midi time stamping
      • From: Brian Willoughby <email@hidden>
References: 
 >core midi time stamping (From: david tay <email@hidden>)
 >Re: core midi time stamping (From: Brian Willoughby <email@hidden>)
 >Re: core midi time stamping (From: Herbie Robinson <email@hidden>)

  • Prev by Date: Re: core midi time stamping
  • Next by Date: Re: core midi time stamping
  • Previous by thread: Re: core midi time stamping
  • Next by thread: Re: core midi time stamping
  • Index(es):
    • Date
    • Thread