• 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
Measuring Input/Output latencies
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Measuring Input/Output latencies


  • Subject: Measuring Input/Output latencies
  • From: Stéphane Letz <email@hidden>
  • Date: Wed, 24 Aug 2011 12:57:40 +0200

Hi,

In the context of the JACK server, we are using a tool called "jack_iodelay" (developed by  Fons Adriaensen) which allows to measure IO latency using a calibrated signal.
(more info on Fons Adriaensen code here:  http://kokkinizita.linuxaudio.org/linuxaudio/downloads/index.html)

1) We have measured the IO latency on two different cards:

==============================================
MacBook Pro Internal card (Built-in Input / Built-in Output):
==============================================

At 512 frames IO buffer, 44.1 kHz :

 1181.934 frames     26.801 ms total roundtrip latency
	extra loopback latency: 20 frames

At 512 frames IO buffer, 48 kHz :

 1184.315 frames     24.673 ms total roundtrip latency
	extra loopback latency: 23 frames

At 512 frames IO buffer, 88.2 kHz :

 1242.453 frames     14.087 ms total roundtrip latency
	extra loopback latency: 49 frames

At 512 frames IO buffer, 96 kHz :

1237.911 frames     12.895 ms total roundtrip latency
	extra loopback latency: 44 frames

After one explicitly caused kAudioDeviceProcessorOverload:

At 512 frames IO buffer, 44.1 kHz :

7328.831 frames    166.187 ms total roundtrip latency   ==> QUITE STRANGE!!
	extra loopback latency: 6167 frames

Then this offset remains until we launch the JACK server again.


==============================================
MOTU 828 Mk2:
==============================================

At 512 frames IO buffer, 44.1 kHz :

1144.611 frames     25.955 ms total roundtrip latency
	extra loopback latency: 57 frames


At 512 frames IO buffer, 88.2 kHz :

 1192.875 frames     13.525 ms total roundtrip latency
	extra loopback latency: 57 frames

After one explicitly caused kAudioDeviceProcessorOverload:

==> same values


So basically It seems that the Apple MacBook Pro Internal card  does not resync correctly, and IO latency then gets huge.

Any idea why?

2) Measured latency differs from the driver reported latency, we were assuming that:

Input latency = Input latency safety offset  +  Input latency + IO buffer size

Output latency =  IO buffer size  +  Output latency  + Output latency safety offset

So global IO latency would be :  Input latency safety offset  +  Input latency + 2 * IO buffer size  +  Output latency  + Output latency safety offset

But we see this reported "extra loopback latency".

Does this value correspond to some additional ADC/DAC conversion latency?

Thanks.

Stéphane Letz




 _______________________________________________
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: Measuring Input/Output latencies
      • From: Ross Bencina <email@hidden>
    • Re: Measuring Input/Output latencies
      • From: Brian Willoughby <email@hidden>
  • Prev by Date: iOS: Is it possible to have multiple parallel AUGraphs using a Remote-I/O Output Unit?
  • Next by Date: iOS: RT Audio Processing of a Video Asset
  • Previous by thread: Re: iOS: Is it possible to have multiple parallel AUGraphs using a Remote-I/O Output Unit?
  • Next by thread: Re: Measuring Input/Output latencies
  • Index(es):
    • Date
    • Thread