Description
Audio passed from pipewire to Camilladsp.
- Camilladsp sends both Centre and LFE from source to a single output channel ie. sending audio to either Centre or LFE wind up on the same Cammiladsp output channel
- Camilladsp sends both RR and RL from source to a single output channel ie. sending audio to either Centre or LFE wind up on the same Cammiladsp output channel
The problem occurs when a player writes to a Pipewire virtual sink- either Loopback or Null sink ... and then Camilladsp reads from either the ".monitor" of the sink or from Loopback source ie.
- player --> pipewire null-sink --> pipewire null-sink.monitor --> camilladsp --> alsa dac
- player --> pipewire loopback-sink --> pipewire loopback-sink.monitor --> camilladsp --> alsa dac
- player --> pipewire loopback-sink --> pipewire loopback-src --> camilladsp --> alsa dac
when the sink is defined to have 6 channels and pipewire-pulse default sink set as one of the above graphs AND alsa default is set to pulseaudio then using speaker-test results in
- FC and LFE both winding up on camilladsp output channel 2
- RL and RL both winding up on camilladsp output channel 5
Speaker-test does not exhibit the same issue when wireplumber is used to bind the sink direct to the dac ie. when
- player --> loopback-sink --> loopback-sink.monitor --> pipewire-dac (same dac as above but controlled by pipewire not alsa direct)
In this case speaker test outputs audio "correctly" ie. output channels are mapped correctly to input channels
System Info ... both on Intel x86_64
-
Kubuntu v 24.10 kernel 6.11.0-14-generic
-
Camilladsp (installed using the nifty install scripts) v 3.0.2
-
Pipewire v 1.2.4
-
Wireplumber v 0.5.6
-
qpwgraph v 0.7.2
-
Kubuntu v 24.04 kernel 6.8.0-53-generic
-
Camilladsp v 2.0.3
-
Pipewire v 1.0.5
-
Wireplumber v 0.4.17
-
qpwgraph v 0.6.1
Config
description: 'Pipewire Null Sink test '
devices:
adjust_period: null
capture:
channels: 6
device: RE-null-sink.monitor
format: FLOAT32LE
labels:
- null
- null
- null
- null
- null
- null
type: Pulse
capture_samplerate: null
chunksize: 1024
enable_rate_adjust: null
multithreaded: null
playback:
channels: 6
device: plughw:CARD=X3,DEV=0
format: S24LE3
type: Alsa
queuelimit: null
rate_measure_interval: null
resampler:
profile: Balanced
type: AsyncSinc
samplerate: 48000
silence_threshold: null
silence_timeout: null
stop_on_rate_change: null
target_level: null
volume_limit: null
volume_ramp_time: null
worker_threads: null
filters: {}
mixers:
nullsink_8in:
channels:
in: 6
out: 6
description: null
labels:
- '0'
- '1'
- '2'
- '3'
- '4'
- '5'
mapping:
- dest: 0
mute: false
sources:
- channel: 0
gain: 0
inverted: false
mute: false
scale: dB
- dest: 1
mute: false
sources:
- channel: 1
gain: 0
inverted: false
mute: false
scale: dB
- dest: 2
mute: false
sources:
- channel: 2
gain: 0
inverted: false
mute: false
scale: dB
- dest: 3
mute: false
sources:
- channel: 3
gain: 0
inverted: false
mute: false
scale: dB
- dest: 4
mute: false
sources:
- channel: 4
gain: 0
inverted: false
mute: false
scale: dB
- dest: 5
mute: false
sources:
- channel: 5
gain: 0
inverted: false
mute: false
scale: dB
pipeline:
- bypassed: null
description: null
name: nullsink_8in
type: Mixer
processors: {}
title: null
For some reason I'm unable to attach files, but I see nothing useful in the log (no erros). I can attach log info inline if that will help
Logs
run camilladsp with debug logging (-v). If it's short, paste it directly here, otherwise attach it as a separate file.
Activity