I'm attempting to build a multi-effect guitar pedal out of a Pi-4B (8GB), and am running into problems getting jackd running with reasonably low latency. It runs fine as long as the period is set to 512 or higher, but at any lower values, I get something like the following when jackd tries to talk to ALSA:
audio_reservation_init
Acquire audio card Audio2
Acquire audio card Audio0
creating alsa driver ... hw:b1,0|hw:Device,0|128|3|44100|0|0|nomon|swmeter|-|32bit
configuring for 44100Hz, period = 128 frames (2.9 ms), buffer = 3 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 3 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: cannot set period size to 128 frames for playback
ALSA: cannot configure playback channel
When running the same settings on a laptop, this works fine, so I'm assuming the issues lies in hardware, but I've no clue which hardware. My general question is, naturally, "Why is this failing and what do I need to do to get jackd running with < 10ms total latency?", but more specifically:
Is the problem with the Pi itself, or with the audio interface, and if the latter, what properties must an audio interface have such that it will permit periods of 128 (or preferably lower)?
Currently, I'm using an ATNY USB interface cable (something like this one, although possibly a different model).