I’ve been measuring latency in the new Bookworm Oram SD image. The audio was configured at 48KHz with 2 x buffers of 256 frames, what gives an internal latency of 10.66 ms.
EDIT: this is the detailed jackd config:
/usr/bin/jackd -P 70 -t 2000 -s -d alsa -d hw:sndrpihifiberry -S -r 48000 -p 256 -n 2 -X raw
I’ve measured the real audio latency. I mean, the delay a signal suffers between the zynthian’s audio input and audio output connectors. In other words, i’m recording simultaneously the signal reaching the audio input and the signal getting out the audio output connector.
Here some plots for different cases:
Chain Bypass (no audio plugins): 17ms
Pre-fader gain in chain: 17ms
Pre-fader gain in chain => 2 x gains (pre-fader + postfader) in main bus: 17ms
Pre-fader gain in chain1 => prefader gain in chain2 => 2 x gains (pre-fader + postfader) in main bus: 22ms
Pre-fader gain in chain1 => prefader gain in chain2 => prefader gain in chain3 => 2 x gains (pre-fader + postfader) in main bus: 28ms
As you can see, the latency is 17ms for all cases, except when routing from chain to chain, what adds an extra period (5.33ms) each.
From the 17ms “straight” total latency, we have:
Total latency = 17 ms = audio input HW + audio input SYS + internal (jack) latency + audio output SYS + audio output HW
As jack latency is fixed by the frequency and buffer parameters:
internal (jack) latency = 10.66 ms
We could deduce:
HW + SYS latency = 6.34 ms
But it seems to high, so i’m inclined to think that zynthian processing (mixer??) is using an extra period.
So, yes, @ricard, it seems you are right and we need to take a deep look in the zynthian audio processing. We don’t want this extra period of latency!!
Cheers!