Raspberry Pi 4 and 3B+ with USB audio interface (Focusrite 8i6 3rd gen) causing distortion
Hi all! I'm trying to get clean non-distorted (non-robotic) sound from USB devices connected to either RPi 4 4GB, 8GB or even RPi 3B+.
For this purpose I'm using Focusrite Scarlet 8i6 USB audio interface.
What I've found so far: I get distortion on RPi 3B + and with RPi 4 4GB or 8GB. What I found is that removing "-s" (small s) in /etc/jackdrc solves this distortion, but then I get the XRUNS which causes audio to cut from time to time, but audio is clean and not distorted which is great step so far...
Which of these parameters would you guys recommend me to change? Or add? Did anyone had anything similar already?
Right now when using this config it's fine most of the time, with some cuts in audio:
exec /usr/bin/jackd -v -t 1500 -P 75 -d alsa -d hw:USB -r 96000 -p 128 -n 3 -S 24
same with:
exec /usr/bin/jackd -R -v -t 1000 -P 99 -d alsa -d hw:USB -r 48000 -p 256 -n 3 -S 24
and maybe the best so far:
exec /usr/bin/jackd -m -R -P 75 -t 2000 -d alsa -d hw:USB -M -H -r 48000 -p 128 -n 3 -S 24 (still sometimes cuts the audio for half a second)
it's weird that RPi 4 is acting weirder compared to RPi 3B+ tho.
But with these settings above I'm getting to the point that USB audio interface might be usable! So, I'd like some help from you guys to get the best possible config.
Thanks a lot! :)
Hi all, I've noticed that on RPi 3B+ is installed jackd2 1.9.11 while on RPi 4 is installed version 1.9.12. How can I upgrade to at least 1.9.14 on RPi 4 or downgrade to 1.9.11 to see if problem would be "solved"? Thanks!
Report an issue to your linux distribution about the outdated packaged version. Or ask them how to build it yourself.
FWIW I've found that some USB devices (zoom h2n, some usb memory card readers) refuse to work reliably on rpi4, when they do work reliably on a rpi2 I have to hand, my wild guess is that the USB sockets on the rpi4 aren't as good at handling devices that aren't very compliant with USB specs as on the rpi2.
I have several USB interfaces running on several Pis without any issues. I note that @vedranius is using a -P of 75, which is more than kernel tasklets (they run at FF 50). So your jack has the power to starve the hardware drivers... I don't know if it's an issue in practice, but I've taken to limiting my Jack priority to 40, unless I'm sure that unrelated hardware can starve the jack process. What does -S 24 mean? IIUC -S means "shorts", i.e. 16 bit samples, and does not take an argument, at least on the jackd version shipping with raspios (1.9.12). Or maybe I should RTFS?
Hi Vedranius
Have you got the system running well - if so how, was it the Jack problem or something more/different ? - I'm looking to do the same thing - Scarlett 8i6 on Pi. Any thoughts or suggestions would be very much appreciated by me. Sorry I'm a newbie here so the editor and ettiquette are unfamiliar territory. Thanks for your thoughts, best regards
JRvdP