CAMILLA DSP tutorial with 8xIN+8xOUT

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: