In case you didn’t knew :
The package pipewire-roc adds modules to pipewire which support the ROC-toolkit for realtime low latency audio streaming.
Via sound server modules, as listed here audio streams between pulseaudio, pipewire as well as macOS virtual devices could be streamed.
Why you might ask ? Well, I’ve moved my USB-DAC to another device, an SBC which is an NanoPI Nano (an rather old Arm Cortex-A7 with 1.2GHz, 512mb of RAM and only 100mbit Ethernet) which I’m going to route my whole audio output to instead of using my Desktop client. That way I could use different devices to stream audio to the NanoPI, which would also receive streams from my Apple devices, and, most importantly to me, I’m going to add an I2S ADC board to the NanoPI which would digitalize my phono input additionally - without the need to have my Desktop running just to listen to audio. And that way I’löd have the opportunity to apply an parametric equalizer to the phono source as well - which is more or less an room equalization filter that has been generated via the software room eq wizard to achieve a better frequency response from my speakers.
Up so far, I’m quite impressed. As the audio stream would introduce some latency to the signal. But as the ROC-toolkit is actually optimized for that purpose, the outcome while playing back videos, displaying it on my Desktop and streaming the audio to the SBC doesn’t seem to introduce much latency, as I can’t really tell that the audio signal is totally out of sync.
Unfortunately the part to get it running on the SBC hasn’t been that straight forward. But as that is related to the fact that I’m running DietPI (headless) on the NanoPI, which is a leight-weight distro based on Debian Trixie which is optimized, even for older SBCs. Therefore, no arch repos… but also not the bloat Raspberry PI OS (Lite) comes with. And it’s also less resource demanding than a minimal Armbian install.
So after some compiling on the SBC itself, the creation of some systemd unit files and other shenanigans, I know have a little audio server that would idle away unattended. And just do it’s thing as long as it’s microSD card might survive. And then, I’m screwed
Guess I should prepare an backup copy next.