Topic: CRF Synchronisation between Mac OS (avbutil) and Digiface AVB

Hello,

if it works - it's all right :-)

Nevertheless I would like to ask, whether I do things right:

I have an RME Digiface AVB - configured to MASTER, channel 16 OUT "CRF (0 Channel))". I use Digifaces internal clock at 96 KHz.

On the MacMini attached to the AVB Network I configured 96 KHz as well, synched via Media Clock Input Stream, which I configured to be "CRF Audio 96 interval with 1 frame @48 KHz".

This works - I assume because 48 KHz und 96 KHz are multiples - where might arise jitter when passing zero in between but it's quite unlikely (?).

I would prefer kind of "CRF Audio 96 interval with 1 frame @96 KHz", but obviously this is not availabe on MacOS.

Am I doing right?

Is it still preferable to use a dedicated CRF stream (although 48 and 96 kHz are not directly matching), or would it be better to use an Audio Stream (IEC 61883) - when both at 96 KHz - to do the synching?

Thanks and best regards
Claus

Re: CRF Synchronisation between Mac OS (avbutil) and Digiface AVB

Hi Claus,

for pro audio use of AVB, I'd always refer to the Milan specification and the best practices around it. It was and is developed by pro audio people and has proven rock-solid in the field. Though neither the Digiface nor MacOS' AVB implementation are Milan certified, I'd still try to use as much of it as possible.

For media clock streams, Milan specifies CRF streams with interval 96 at the base rate of 48 kHz, regardless of the system sampling rate (48 kHz, 96 kHz, 192 kHz). So the way you have it up and running is totally best practice.

If we look a bit closer into the technical details, CRF is meant as a means to provide precise clocking information while consuming as little bandwidths as possible. The interval parameter means "one timestamp every x media events", so CRF audio 96 interval translates to "one timestamp every 96 audio samples", which at 48 kHz is 500 timestamps per second. As this rate is already way lower than the sampling rate, the clock recovery mechanism has already takes care of the many "zeros in between", and all algorithms I'm aware of handle that quite gracefully.

So while in theory it would be preferable to have more events, like 96 intervals at 96 kHz or even an interval of 1, which translates to using the media stream as clocking reference, in practice it is not necessary and all manufacturer's clock recovery mechanisms are fine-tuned to take care the standard media clock is recovered without measurable or audible differences.

My recommendation thus is to either use the Milan standard way of clocking, or, if you want to make sure the clock recovery gets as much information as possible, use the incoming media clock stream as a reference clock.

Best regards
Marc

Re: CRF Synchronisation between Mac OS (avbutil) and Digiface AVB

Thanks Marc. That's a lot of background information and experiece! Appreciate your help a lot :-)