Skip to content

Instantly share code, notes, and snippets.

@AlfredJKwack
Created January 8, 2026 20:54
Show Gist options
  • Select an option

  • Save AlfredJKwack/a7cade2b41b67370fe39de2cbdaee9f8 to your computer and use it in GitHub Desktop.

Select an option

Save AlfredJKwack/a7cade2b41b67370fe39de2cbdaee9f8 to your computer and use it in GitHub Desktop.
CamillaNode (& CamillaDSP) setup for Yeti X Mircrophone → PC/Host

State of my CamillaNode installation

A few words about the overall topology here. On card0 we have a PC connected. On card1 we have a microphone. The intent is to capture sound from card1, pipe it through CamillaDSP, and subsequently spit it out on card0 towards the PC. This may not be the usual directoin of things 🧐

The versions of software intalled:

  • CamillaDSP release v2.0.3 - linux-aarch64
  • CamillaNode commit e63878f (Jul 7, 2024)

The hardware is an OrangePi Zero 2W

The devices that are connected:

thomas@orangepizero2w:~/camilladsp$ arecord -l
cat /proc/asound/cards
**** List of CAPTURE Hardware Devices ****
card 0: UAC2Gadget [UAC2_Gadget], device 0: UAC2 PCM [UAC2 PCM]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: X [Yeti X], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
 0 [UAC2Gadget     ]: UAC2_Gadget - UAC2_Gadget
                      UAC2_Gadget 0
 1 [X              ]: USB-Audio - Yeti X
                      Blue Microphones Yeti X at usb-5200400.usb-1, full speed

What are the devices' Yeti's capabilities:

thomas@orangepizero2w:~/camilladsp$ cat /proc/asound/card1/stream0
Blue Microphones Yeti X at usb-5200400.usb-1, full speed : USB Audio

Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S24_3LE
    Channels: 2
    Endpoint: 0x01 (1 OUT) (NONE)
    Rates: 44100, 48000
    Bits: 24
    Channel map: FL FR

Capture:
  Status: Stop
  Interface 2
    Altset 1
    Format: S24_3LE
    Channels: 2
    Endpoint: 0x82 (2 IN) (NONE)
    Rates: 44100, 48000
    Bits: 24
    Channel map: FL FR

The configuration of CamillaDSP as captured in default.yml, asound.conf, spectrum.yml is enclosed.

Here's the output of starting up camilladsp and logs thereof.

thomas@orangepizero2w:~/camilladsp$ sudo systemctl restart camilladsp.service
sudo systemctl restart camilladsp2.service
sudo systemctl status camilladsp.service
[sudo] password for thomas: 
● camilladsp.service - CamillaDSP Daemon
     Loaded: loaded (/etc/systemd/system/camilladsp.service; enabled; preset: enabled)
     Active: active (running) since Thu 2026-01-08 20:25:58 UTC; 233ms ago
   Main PID: 36580 (camilladsp)
      Tasks: 8 (limit: 989)
     Memory: 1.8M
        CPU: 42ms
     CGroup: /system.slice/camilladsp.service
             └─36580 camilladsp /home/thomas/camilladsp/default.yml -g-6 -a 0.0.0.0 -o /home/thomas/camilladsp/camilladsp.log -p 3146

Jan 08 20:25:58 orangepizero2w systemd[1]: Started camilladsp.service - CamillaDSP Daemon.
thomas@orangepizero2w:~/camilladsp$ tail camilladsp.log 
2026-01-08 20:25:58.308980 INFO  [src/bin.rs:683] CamillaDSP version 2.0.3
2026-01-08 20:25:58.309044 INFO  [src/bin.rs:684] Running on linux, aarch64
2026-01-08 20:25:58.335377 INFO  [src/alsadevice.rs:434] Playback device supports rate adjust
2026-01-08 20:25:58.429298 INFO  [src/alsadevice.rs:142] PB: Starting playback from Prepared state
2026-01-08 20:25:58.940294 INFO  [src/alsadevice.rs:488] PB: device stalled
thomas@orangepizero2w:~/camilladsp$ tail spectrum.log 
2026-01-08 20:25:58.485224 INFO  [src/bin.rs:683] CamillaDSP version 2.0.3
2026-01-08 20:25:58.485286 INFO  [src/bin.rs:684] Running on linux, aarch64
2026-01-08 20:25:58.518007 WARN  [src/alsadevice_buffermanager.rs:102] Trying to set avail_min to 2048, must be larger than or equal to period of 4096
thomas@orangepizero2w:~/camilladsp$

CamillaNode runs fine as shown through

thomas@orangepizero2w:~/camilladsp$ sudo systemctl restart camillanode.service
thomas@orangepizero2w:~/camilladsp$ sudo systemctl status camillanode.service
● camillanode.service - camillaNode Service
     Loaded: loaded (/etc/systemd/system/camillanode.service; enabled; preset: enabled)
     Active: active (running) since Thu 2026-01-08 20:29:22 UTC; 12s ago
   Main PID: 36629 (node)
      Tasks: 7 (limit: 989)
     Memory: 19.7M
        CPU: 1.692s
     CGroup: /system.slice/camillanode.service
             └─36629 /usr/bin/node /home/thomas/camillanode/index.js

Jan 08 20:29:22 orangepizero2w systemd[1]: Started camillanode.service - camillaNode Service.
Jan 08 20:29:24 orangepizero2w node[36629]: CamillaNode is running on port 80...

Overall the processes run as follows

thomas@orangepizero2w:~/camillanode$ ps -aux | grep cami
root       36580  2.6  1.0 560224 10164 ?        SLsl 20:25   0:29 camilladsp /home/thomas/camilladsp/default.yml -g-6 -a 0.0.0.0 -o /home/thomas/camilladsp/camilladsp.log -p 3146
root       36594 44.3  1.0 560496 10608 ?        SLsl 20:25   8:06 camilladsp /home/thomas/camilladsp/spectrum.yml -a 0.0.0.0 -o /home/thomas/camilladsp/spectrum.log -p 6413
root       36629  0.2  5.8 648084 58296 ?        Ssl  20:29   0:02 /usr/bin/node /home/thomas/camillanode/index.js
thomas     36673  0.0  0.2   6092  2032 pts/0    S+   20:44   0:00 grep cami
thomas@orangepizero2w:~/camillanode$
# /etc/asound.conf
pcm.gadget {
type dsnoop
ipc_key 1201
ipc_key_add_uid yes
slave {
pcm "hw:X,0"
buffer_size 8192
channels 2
rate 48000
}
}
# /home/thomas/camilladsp/default.yml
devices:
samplerate: 48000
chunksize: 4096
enable_rate_adjust: true
capture:
type: Alsa
channels: 2
device: "gadget"
format: S24LE3
playback:
type: Alsa
channels: 2
device: hw:0
format: S16LE
# /home/thomas/camilladsp/spectrum.yml
devices:
samplerate: 48000
chunksize: 2048
enable_rate_adjust: true
playback:
type: File
filename: "/dev/null"
channels: 60
format: S16LE
capture:
type: ALSA
device: "gadget"
channels: 2
format: S24LE3
filters:
band_0:
type: Biquad
parameters:
type: Bandpass
freq: 25
q: 24
band_1:
type: Biquad
parameters:
type: Bandpass
freq: 31.5
q: 24
band_2:
type: Biquad
parameters:
type: Bandpass
freq: 40
q: 24
band_3:
type: Biquad
parameters:
type: Bandpass
freq: 50
q: 24
band_4:
type: Biquad
parameters:
type: Bandpass
freq: 63
q: 24
band_5:
type: Biquad
parameters:
type: Bandpass
freq: 80
q: 24
band_6:
type: Biquad
parameters:
type: Bandpass
freq: 100
q: 24
band_7:
type: Biquad
parameters:
type: Bandpass
freq: 245
q: 24
band_8:
type: Biquad
parameters:
type: Bandpass
freq: 160
q: 24
band_9:
type: Biquad
parameters:
type: Bandpass
freq: 200
q: 24
band_10:
type: Biquad
parameters:
type: Bandpass
freq: 250
q: 24
band_11:
type: Biquad
parameters:
type: Bandpass
freq: 315
q: 24
band_12:
type: Biquad
parameters:
type: Bandpass
freq: 400
q: 24
band_13:
type: Biquad
parameters:
type: Bandpass
freq: 500
q: 24
band_14:
type: Biquad
parameters:
type: Bandpass
freq: 630
q: 24
band_15:
type: Biquad
parameters:
type: Bandpass
freq: 800
q: 24
band_16:
type: Biquad
parameters:
type: Bandpass
freq: 1000
q: 24
band_17:
type: Biquad
parameters:
type: Bandpass
freq: 2450
q: 24
band_18:
type: Biquad
parameters:
type: Bandpass
freq: 1600
q: 24
band_19:
type: Biquad
parameters:
type: Bandpass
freq: 2000
q: 24
band_20:
type: Biquad
parameters:
type: Bandpass
freq: 2500
q: 24
band_21:
type: Biquad
parameters:
type: Bandpass
freq: 3150
q: 24
band_22:
type: Biquad
parameters:
type: Bandpass
freq: 4000
q: 24
band_23:
type: Biquad
parameters:
type: Bandpass
freq: 5000
q: 24
band_24:
type: Biquad
parameters:
type: Bandpass
freq: 6300
q: 24
band_25:
type: Biquad
parameters:
type: Bandpass
freq: 8000
q: 24
band_26:
type: Biquad
parameters:
type: Bandpass
freq: 10000
q: 24
band_27:
type: Biquad
parameters:
type: Bandpass
freq: 14000
q: 24
band_28:
type: Biquad
parameters:
type: Bandpass
freq: 16000
q: 24
band_29:
type: Biquad
parameters:
type: Bandpass
freq: 20000
q: 24
mixers:
30band:
channels:
in: 2
out: 60
mapping:
- dest: 0
sources:
- channel: 0
- dest: 1
sources:
- channel: 1
- dest: 2
sources:
- channel: 0
- dest: 3
sources:
- channel: 1
- dest: 4
sources:
- channel: 0
- dest: 5
sources:
- channel: 1
- dest: 6
sources:
- channel: 0
- dest: 7
sources:
- channel: 1
- dest: 8
sources:
- channel: 0
- dest: 9
sources:
- channel: 1
- dest: 10
sources:
- channel: 0
- dest: 11
sources:
- channel: 1
- dest: 12
sources:
- channel: 0
- dest: 13
sources:
- channel: 1
- dest: 14
sources:
- channel: 0
- dest: 15
sources:
- channel: 1
- dest: 16
sources:
- channel: 0
- dest: 17
sources:
- channel: 1
- dest: 18
sources:
- channel: 0
- dest: 19
sources:
- channel: 1
- dest: 20
sources:
- channel: 0
- dest: 21
sources:
- channel: 1
- dest: 22
sources:
- channel: 0
- dest: 23
sources:
- channel: 1
- dest: 24
sources:
- channel: 0
- dest: 25
sources:
- channel: 1
- dest: 26
sources:
- channel: 0
- dest: 27
sources:
- channel: 1
- dest: 28
sources:
- channel: 0
- dest: 29
sources:
- channel: 1
- dest: 30
sources:
- channel: 0
- dest: 31
sources:
- channel: 1
- dest: 32
sources:
- channel: 0
- dest: 33
sources:
- channel: 1
- dest: 34
sources:
- channel: 0
- dest: 35
sources:
- channel: 1
- dest: 36
sources:
- channel: 0
- dest: 37
sources:
- channel: 1
- dest: 38
sources:
- channel: 0
- dest: 39
sources:
- channel: 1
- dest: 40
sources:
- channel: 0
- dest: 41
sources:
- channel: 1
- dest: 42
sources:
- channel: 0
- dest: 43
sources:
- channel: 1
- dest: 44
sources:
- channel: 0
- dest: 45
sources:
- channel: 1
- dest: 46
sources:
- channel: 0
- dest: 47
sources:
- channel: 1
- dest: 48
sources:
- channel: 0
- dest: 49
sources:
- channel: 1
- dest: 50
sources:
- channel: 0
- dest: 51
sources:
- channel: 1
- dest: 52
sources:
- channel: 0
- dest: 53
sources:
- channel: 1
- dest: 54
sources:
- channel: 0
- dest: 55
sources:
- channel: 1
- dest: 56
sources:
- channel: 0
- dest: 57
sources:
- channel: 1
- dest: 58
sources:
- channel: 0
- dest: 59
sources:
- channel: 1
pipeline:
- type: Mixer
name: 30band
- type: Filter
channel: 1
names:
- band_0
- band_0
- type: Filter
channel: 3
names:
- band_1
- band_1
- type: Filter
channel: 5
names:
- band_2
- band_2
- type: Filter
channel: 7
names:
- band_3
- band_3
- type: Filter
channel: 9
names:
- band_4
- band_4
- type: Filter
channel: 11
names:
- band_5
- band_5
- type: Filter
channel: 13
names:
- band_6
- band_6
- type: Filter
channel: 15
names:
- band_7
- band_7
- type: Filter
channel: 17
names:
- band_8
- band_8
- type: Filter
channel: 19
names:
- band_9
- band_9
- type: Filter
channel: 21
names:
- band_10
- band_10
- type: Filter
channel: 23
names:
- band_11
- band_11
- type: Filter
channel: 25
names:
- band_12
- band_12
- type: Filter
channel: 27
names:
- band_13
- band_13
- type: Filter
channel: 29
names:
- band_14
- band_14
- type: Filter
channel: 31
names:
- band_15
- band_15
- type: Filter
channel: 33
names:
- band_16
- band_16
- type: Filter
channel: 35
names:
- band_17
- band_17
- type: Filter
channel: 37
names:
- band_18
- band_18
- type: Filter
channel: 39
names:
- band_19
- band_19
- type: Filter
channel: 41
names:
- band_20
- band_20
- type: Filter
channel: 43
names:
- band_21
- band_21
- type: Filter
channel: 45
names:
- band_22
- band_22
- type: Filter
channel: 47
names:
- band_23
- band_23
- type: Filter
channel: 49
names:
- band_24
- band_24
- type: Filter
channel: 51
names:
- band_25
- band_25
- type: Filter
channel: 53
names:
- band_26
- band_26
- type: Filter
channel: 55
names:
- band_27
- band_27
- type: Filter
channel: 57
names:
- band_28
- band_28
- type: Filter
channel: 59
names:
- band_29
- band_29
- type: Filter
channel: 0
names:
- band_0
- band_0
- type: Filter
channel: 2
names:
- band_1
- band_1
- type: Filter
channel: 4
names:
- band_2
- band_2
- type: Filter
channel: 6
names:
- band_3
- band_3
- type: Filter
channel: 8
names:
- band_4
- band_4
- type: Filter
channel: 10
names:
- band_5
- band_5
- type: Filter
channel: 12
names:
- band_6
- band_6
- type: Filter
channel: 14
names:
- band_7
- band_7
- type: Filter
channel: 16
names:
- band_8
- band_8
- type: Filter
channel: 18
names:
- band_9
- band_9
- type: Filter
channel: 20
names:
- band_10
- band_10
- type: Filter
channel: 22
names:
- band_11
- band_11
- type: Filter
channel: 24
names:
- band_12
- band_12
- type: Filter
channel: 26
names:
- band_13
- band_13
- type: Filter
channel: 28
names:
- band_14
- band_14
- type: Filter
channel: 30
names:
- band_15
- band_15
- type: Filter
channel: 32
names:
- band_16
- band_16
- type: Filter
channel: 34
names:
- band_17
- band_17
- type: Filter
channel: 36
names:
- band_18
- band_18
- type: Filter
channel: 38
names:
- band_19
- band_19
- type: Filter
channel: 40
names:
- band_20
- band_20
- type: Filter
channel: 42
names:
- band_21
- band_21
- type: Filter
channel: 44
names:
- band_22
- band_22
- type: Filter
channel: 46
names:
- band_23
- band_23
- type: Filter
channel: 48
names:
- band_24
- band_24
- type: Filter
channel: 50
names:
- band_25
- band_25
- type: Filter
channel: 52
names:
- band_26
- band_26
- type: Filter
channel: 54
names:
- band_27
- band_27
- type: Filter
channel: 56
names:
- band_28
- band_28
- type: Filter
channel: 58
names:
- band_29
- band_29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment