I have been working on a compact Raspberry Pi 5 setup that gives CamillaDSP direct access to 8 analog inputs and 8 analog outputs from one HAT. The idea is to make a small Linux DSP box for things like:
-
active crossovers
-
room correction
-
multichannel capture
-
spatial audio experiments
-
multi-zone audio
-
audio routing / processing projects
I put the installation notes, configs, and tests here:
Current tested setup:
-
Raspberry Pi 5
-
64-bit Raspberry Pi OS
-
CamillaDSP 4.1.3
-
ALSA device:
hw:CARD=sndrpihifiberry,DEV=0 -
8-channel capture available
-
8-channel playback available
-
validated config: 48 kHz, 8 channels,
S32_LE -
direct ALSA access, avoiding PipeWire remixing/conversion
-
systemd service for running CamillaDSP at boot
The default CamillaDSP config is intentionally boring: input 1 to output 1, input 2 to output 2, etc. I wanted the first public test to prove the basic audio path before adding FIR filters, crossovers, delays, or EQ.
Example config:
devices:
samplerate: 48000
chunksize: 1024
capture:
type: Alsa
channels: 8
device: "hw:CARD=sndrpihifiberry,DEV=0"
format: S32_LE
playback:
type: Alsa
channels: 8
device: "hw:CARD=sndrpihifiberry,DEV=0"
format: S32_LE
I also added validation scripts for:
-
ALSA inventory
-
8-channel output test
-
8-channel input capture
-
CamillaDSP config checks
-
systemd service test
-
physical jack-to-jack loopback
-
CamillaDSP SignalGenerator loopback
One loopback test uses CamillaDSP itself as the signal source. With a stereo cable connected on the second jack pair, CamillaDSP generated a 500 Hz signal on output channels 2 and 3, and the strongest captured signal came back on input channels 2 and 3, as expected.
Product page for context:
Separate 8-output-only board, not the board used in this CamillaDSP 8-in/8-out test:
Installation guide / board detection notes:
