Re: Multimedia timing on OS X
Re: Multimedia timing on OS X
- Subject: Re: Multimedia timing on OS X
- From: Garett Shulman <email@hidden>
- Date: Wed, 04 May 2011 12:55:13 -0600
Thanks for your feedback on this! While I am working on a midi app, I would ultimately like to be able to schedule arbitrary callback functions with high precision. It seems that this may require mach api.
On May 4, 2011, at 3:59 AM, Brian Willoughby wrote:
>
> On May 4, 2011, at 01:39, Ross Bencina wrote:
>> I agree with what you've said about CoreMIDI scheduling. I do not advocate the use of the timer code I posted as the optimal way to schedule MIDI events. However note that the question (and the subject line) is about multimedia timers in general, not about CoreMIDI.
>
> Sorry. I may have gotten confused between multiple threads, since there have been some CoreMIDI-specific questions here lately.
>
>
>> One thing I would note about MIDI is that it is not a high performance channel. A 3 byte MIDI message takes about 1ms to transmit, with running-status you can do a bit better. Trying to send more than one message at once is going to lead to significant jitter no matter what you do at the driver level or with fancy hardware scheduling. Perhaps this is a good reason to seek to remove all other sources of jitter to avoid adding even more jitter.
>
> Yes, MIDI has data-dependent jitter on the timing. But note that USB has an average jitter of about 1 ms depending upon the USB load, with a minimum average jitter of 0.5 ms, no matter what data is flowing. In fact, USB jitter depends more upon other things in the system that have nothing to do with the MIDI data. In contrast, when the MIDI message rate drops to one at a time, the jitter drops to a very low 0.032 ms - something USB cannot touch.
>
> CoreMIDI allows a multi-port MIDI interface to put one message per port, with maybe 8 ports, and thus you achieve a 0.032 ms jitter much of the time. That's because advance delivery takes USB uncertainty out of the picture. Of course, this doesn't work with standard USB-MIDI.
>
> 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
_______________________________________________
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