CamillaDSP Pipewire config Fedora 40 help

linuxonly

Member
Thread Starter
Joined
Jul 27, 2024
Messages
73
More  
Preamp, Processor or Receiver
Logitech Z906
DAC
AMD FCH Azalia
Computer Audio
SPDIF output with alsa, pipewire, wireplumber on Fedora 40
Middle Height Speakers
30 in
Front Height Speakers
33 in
Rear Height Speakers
57 in
Video Display Device
X11/VGA + X11/DVI
Streaming Equipment
Kodi
Hi again,

Another problematic config. I can see the mysink devices in pavucontrol, the camilladsp too, I've selected the mysinc one as default output but not a sound is ever going to the SPDIF output whereas it worked perfectly fine with Easyeffects (disabled for those tests)

Instructions:

Code:
Pipewire
Pipewire implements both the PulseAudio and Jack APIs. It is therefore supported both via the Pulse and the Jack backends, and there is no need for a specific Pipewire backend.

Pipewire supports creating null-sink like PulseAudio. Create it with:

pactl load-module module-null-sink sink_name=MySink object.linger=1 media.class=Audio/Sink
List sources and sinks with:

pw-cli ls Node
This will list all devices, and the null-sink should be included like this:

    id 75, type PipeWire:Interface:Node/3
         factory.id = "18"
         node.description = "MySink Audio/Sink sink"
         node.name = "MySink"
         media.class = "Audio/Sink"
This device can be set as the default output in the Gnome sound settings, meaning all desktop audio will use it. The audio sent to this device can then be captured from the monitor output named "MySink.monitor" using the PulseAudio backend.

Kodi audio setup:

Code:
2024-09-13 11:06:36.695 T:41       info <general>: Found 1 Lists of Devices
2024-09-13 11:06:36.695 T:41       info <general>: Enumerated PIPEWIRE devices:
2024-09-13 11:06:36.695 T:41       info <general>:     Device 1
2024-09-13 11:06:36.695 T:41       info <general>:         m_deviceName      : Default
2024-09-13 11:06:36.695 T:41       info <general>:         m_displayName     : Default
2024-09-13 11:06:36.695 T:41       info <general>:         m_displayNameExtra: Default Output Device (PIPEWIRE)
2024-09-13 11:06:36.695 T:41       info <general>:         m_deviceType      : AE_DEVTYPE_PCM
2024-09-13 11:06:36.695 T:41       info <general>:         m_channels        : FL, FR
2024-09-13 11:06:36.695 T:41       info <general>:         m_sampleRates     : 5512,8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000,384000
2024-09-13 11:06:36.695 T:41       info <general>:         m_dataFormats     : AE_FMT_RAW,AE_FMT_U8,AE_FMT_S16NE,AE_FMT_S24NE4,AE_FMT_S32NE,AE_FMT_S24NE3,AE_FMT_FLOAT
2024-09-13 11:06:36.695 T:41       info <general>:         m_streamTypes     : No passthrough capabilities
2024-09-13 11:06:36.695 T:41       info <general>:     Device 2
2024-09-13 11:06:36.695 T:41       info <general>:         m_deviceName      : alsa_output.pci-0000_00_14.2.iec958-stereo
2024-09-13 11:06:36.695 T:41       info <general>:         m_displayName     : Audio interne Stéréo numérique (IEC958)
2024-09-13 11:06:36.695 T:41       info <general>:         m_displayNameExtra: Audio interne Stéréo numérique (IEC958) (PIPEWIRE)
2024-09-13 11:06:36.695 T:41       info <general>:         m_deviceType      : AE_DEVTYPE_IEC958
2024-09-13 11:06:36.695 T:41       info <general>:         m_channels        : FL, FR
2024-09-13 11:06:36.695 T:41       info <general>:         m_sampleRates     : 5512,8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000,384000
2024-09-13 11:06:36.695 T:41       info <general>:         m_dataFormats     : AE_FMT_RAW,AE_FMT_U8,AE_FMT_S16NE,AE_FMT_S24NE4,AE_FMT_S32NE,AE_FMT_S24NE3,AE_FMT_FLOAT,AE_FMT_RAW
2024-09-13 11:06:36.695 T:41       info <general>:         m_streamTypes     : STREAM_TYPE_DTS_512,STREAM_TYPE_DTS_1024,STREAM_TYPE_DTS_2048,STREAM_TYPE_DTSHD_CORE,STREAM_TYPE_AC3
2024-09-13 11:06:36.695 T:41       info <general>:     Device 3
2024-09-13 11:06:36.695 T:41       info <general>:         m_deviceName      : MySink
2024-09-13 11:06:36.695 T:41       info <general>:         m_displayName     : MySink Audio/Sink sink
2024-09-13 11:06:36.695 T:41       info <general>:         m_displayNameExtra: MySink Audio/Sink sink (PIPEWIRE)
2024-09-13 11:06:36.695 T:41       info <general>:         m_deviceType      : AE_DEVTYPE_PCM
2024-09-13 11:06:36.695 T:41       info <general>:         m_channels        : FL, FR
2024-09-13 11:06:36.695 T:41       info <general>:         m_sampleRates     : 5512,8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000,384000
2024-09-13 11:06:36.695 T:41       info <general>:         m_dataFormats     : AE_FMT_RAW,AE_FMT_U8,AE_FMT_S16NE,AE_FMT_S24NE4,AE_FMT_S32NE,AE_FMT_S24NE3,AE_FMT_FLOAT
2024-09-13 11:06:36.695 T:41       info <general>:         m_streamTypes     : No passthrough capabilities
2024-09-13 11:06:36.695 T:41       info <general>:     Device 4
2024-09-13 11:06:36.695 T:41       info <general>:         m_deviceName      : easyeffects_sink
2024-09-13 11:06:36.695 T:41       info <general>:         m_displayName     : Easy Effects Sink
2024-09-13 11:06:36.695 T:41       info <general>:         m_displayNameExtra: Easy Effects Sink (PIPEWIRE)
2024-09-13 11:06:36.695 T:41       info <general>:         m_deviceType      : AE_DEVTYPE_PCM
2024-09-13 11:06:36.695 T:41       info <general>:         m_channels        : FL, FR
2024-09-13 11:06:36.695 T:41       info <general>:         m_sampleRates     : 5512,8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000,384000
2024-09-13 11:06:36.695 T:41       info <general>:         m_dataFormats     : AE_FMT_RAW,AE_FMT_U8,AE_FMT_S16NE,AE_FMT_S24NE4,AE_FMT_S32NE,AE_FMT_S24NE3,AE_FMT_FLOAT
2024-09-13 11:06:36.695 T:41       info <general>:         m_streamTypes     : No passthrough capabilities

CDSP setup:

Code:
devices:
  samplerate: 48000
  chunksize: 2048
  queuelimit: 4
  enable_rate_adjust: true
  adjust_period: 10.0
  silence_threshold: -80.0
  silence_timeout: 60.0
  target_level: 0

  capture:
    channels: 2
    device: "MySink.monitor"
    format: S32LE
    type: Pulse

  playback:
    channels: 2
    device: "MySink"
    format: S32LE
    type: Pulse

CDSP log:
Code:
$ camilladsp -v ./.config/.camilladsp/stereo.yml
2024-09-13 11:25:06.873557 INFO [src/bin.rs:683] CamillaDSP version 2.0.3
2024-09-13 11:25:06.873584 INFO [src/bin.rs:684] Running on linux, x86_64
2024-09-13 11:25:06.873602 DEBUG [src/bin.rs:728] Loaded state: None
2024-09-13 11:25:06.873608 DEBUG [src/bin.rs:738] Using default initial volume
2024-09-13 11:25:06.873612 DEBUG [src/bin.rs:755] Using default initial mute
2024-09-13 11:25:06.873616 DEBUG [src/bin.rs:765] Initial mute: [false, false, false, false, false]
2024-09-13 11:25:06.873620 DEBUG [src/bin.rs:766] Initial volume: [0.0, 0.0, 0.0, 0.0, 0.0]
2024-09-13 11:25:06.873625 DEBUG [src/bin.rs:768] Read config file Some("./.config/.camilladsp/stereo.yml")
2024-09-13 11:25:06.874134 DEBUG [src/config.rs:1549] 2_sept_730hz-48000.wav is relative
2024-09-13 11:25:06.874148 DEBUG [src/config.rs:1553] Using 2_sept_730hz-48000.wav found relative to config file dir
2024-09-13 11:25:06.874154 DEBUG [src/config.rs:1549] 2_sept_730hz-48000.wav is relative
2024-09-13 11:25:06.874161 DEBUG [src/config.rs:1553] Using 2_sept_730hz-48000.wav found relative to config file dir
2024-09-13 11:25:06.878464 DEBUG [src/filters.rs:178] Read raw data from: '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, number of coeffs: 131072
2024-09-13 11:25:06.879040 DEBUG [src/filters.rs:337] Read wav file '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, channel: 0 of 2, samplerate: 48000, length: 65536
2024-09-13 11:25:06.883703 DEBUG [src/filters.rs:178] Read raw data from: '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, number of coeffs: 131072
2024-09-13 11:25:06.884708 DEBUG [src/filters.rs:337] Read wav file '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, channel: 1 of 2, samplerate: 48000, length: 65536
2024-09-13 11:25:06.884768 DEBUG [src/bin.rs:808] Config is valid
2024-09-13 11:25:06.885177 DEBUG [src/bin.rs:994] Wait for config
2024-09-13 11:25:06.885197 DEBUG [src/bin.rs:1010] Waiting to receive a command
2024-09-13 11:25:06.885202 DEBUG [src/bin.rs:1013] Config change command received
2024-09-13 11:25:06.885206 DEBUG [src/bin.rs:999] New config is available and there are no queued commands, continuing
2024-09-13 11:25:06.885209 DEBUG [src/bin.rs:1036] Config ready, start processing
2024-09-13 11:25:06.885383 DEBUG [src/bin.rs:157] Using channels [true, true]
2024-09-13 11:25:06.885399 WARN [src/audiodevice.rs:523] Needless 1:1 sample rate conversion active. Not needed since enable_rate_adjust=False
2024-09-13 11:25:06.886466 DEBUG [src/audiodevice.rs:465] Creating asynchronous resampler with parameters: SincInterpolationParameters { sinc_len: 64, f_cutoff: 0.91563815, oversampling_factor: 1024, interpolation: Linear, window: Hann2 }
2024-09-13 11:25:06.886574 DEBUG [src/filters.rs:488] Build new pipeline
2024-09-13 11:25:06.886648 DEBUG [src/filters.rs:364] Build filter group from config
2024-09-13 11:25:06.897052 DEBUG [src/filters.rs:178] Read raw data from: '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, number of coeffs: 131072
2024-09-13 11:25:06.899041 DEBUG [src/filters.rs:337] Read wav file '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, channel: 0 of 2, samplerate: 48000, length: 65536
2024-09-13 11:25:06.903618 DEBUG [src/fftconv.rs:50] Conv fir_l is using 32 segments
2024-09-13 11:25:06.908306 DEBUG [src/filters.rs:364] Build filter group from config
2024-09-13 11:25:06.911643 DEBUG [src/filters.rs:178] Read raw data from: '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, number of coeffs: 131072
2024-09-13 11:25:06.912064 DEBUG [src/filters.rs:337] Read wav file '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, channel: 1 of 2, samplerate: 48000, length: 65536
2024-09-13 11:25:06.915593 DEBUG [src/fftconv.rs:50] Conv fir_r is using 32 segments
2024-09-13 11:25:06.918439 DEBUG [src/processing.rs:19] build filters, waiting to start processing loop
2024-09-13 11:25:06.997708 DEBUG [src/bin.rs:265] Playback thread ready to start
2024-09-13 11:25:07.093143 DEBUG [src/bin.rs:275] Capture thread ready to start
2024-09-13 11:25:07.093175 DEBUG [src/bin.rs:278] Both capture and playback ready, release barrier
2024-09-13 11:25:07.093195 DEBUG [src/bin.rs:280] Supervisor loop starts now!
2024-09-13 11:25:07.093246 DEBUG [src/processing.rs:21] Processing loop starts now!
2024-09-13 11:25:07.093404 DEBUG [src/pulsedevice.rs:319] starting captureloop
2024-09-13 11:25:07.093620 DEBUG [src/pulsedevice.rs:168] starting playback loop
2024-09-13 11:23:17.060531 WARN [src/conversions.rs:65] Clipping detected, 21 samples clipped, peak +2.39 dB (131.6%)
2024-09-13 11:23:17.104830 WARN [src/conversions.rs:65] Clipping detected, 19 samples clipped, peak +2.39 dB (131.7%)
2024-09-13 11:23:17.785997 WARN [src/conversions.rs:65] Clipping detected, 31 samples clipped, peak +1.26 dB (115.6%)
2024-09-13 11:23:18.340718 WARN [src/conversions.rs:65] Clipping detected, 52 samples clipped, peak +2.09 dB (127.1%)
2024-09-13 11:23:18.383823 WARN [src/conversions.rs:65] Clipping detected, 54 samples clipped, peak +1.20 dB (114.8%)
2024-09-13 11:23:18.509934 WARN [src/conversions.rs:65] Clipping detected, 38 samples clipped, peak +4.03 dB (159.0%)
q^C2024-09-13 11:25:31.272835 DEBUG [src/bin.rs:835] Received signal: 2
2024-09-13 11:25:31.272958 INFO [src/bin.rs:868] Shutting down
2024-09-13 11:25:31.272984 DEBUG [src/bin.rs:244] Exit requested...
2024-09-13 11:25:31.286479 DEBUG [src/pulsedevice.rs:335] Exit message received, sending EndOfStream
2024-09-13 11:25:31.288132 DEBUG [src/bin.rs:1038] Processing ended with status Ok(Exit)
2024-09-13 11:25:31.288158 DEBUG [src/bin.rs:1048] Exiting

No activity in the playback tab for CDSP...

Capture d’écran du 2024-09-13 11-46-36.png Capture d’écran du 2024-09-13 11-44-24.png Capture d’écran du 2024-09-13 11-44-19.png Capture d’écran du 2024-09-13 11-44-14.png
 

linuxonly

Member
Thread Starter
Joined
Jul 27, 2024
Messages
73
More  
Preamp, Processor or Receiver
Logitech Z906
DAC
AMD FCH Azalia
Computer Audio
SPDIF output with alsa, pipewire, wireplumber on Fedora 40
Middle Height Speakers
30 in
Front Height Speakers
33 in
Rear Height Speakers
57 in
Video Display Device
X11/VGA + X11/DVI
Streaming Equipment
Kodi
Update

Tried another method. Got CDSP to process sound, however completely lost Kodi passthrough, which requires a complex rituel to get it back whenever I need it. There is seemingly an inherent incompatibility here.

Kodi setup:
Code:
2024-09-13 17:58:02.963 T:39       info <general>: Found 1 Lists of Devices
2024-09-13 17:58:02.963 T:39       info <general>: Enumerated PIPEWIRE devices:
2024-09-13 17:58:02.963 T:39       info <general>:     Device 1
2024-09-13 17:58:02.963 T:39       info <general>:         m_deviceName      : Default
2024-09-13 17:58:02.963 T:39       info <general>:         m_displayName     : Default
2024-09-13 17:58:02.963 T:39       info <general>:         m_displayNameExtra: Default Output Device (PIPEWIRE)
2024-09-13 17:58:02.963 T:39       info <general>:         m_deviceType      : AE_DEVTYPE_PCM
2024-09-13 17:58:02.963 T:39       info <general>:         m_channels        : FL, FR
2024-09-13 17:58:02.963 T:39       info <general>:         m_sampleRates     : 5512,8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000,384000
2024-09-13 17:58:02.963 T:39       info <general>:         m_dataFormats     : AE_FMT_RAW,AE_FMT_U8,AE_FMT_S16NE,AE_FMT_S24NE4,AE_FMT_S32NE,AE_FMT_S24NE3,AE_FMT_FLOAT
2024-09-13 17:58:02.963 T:39       info <general>:         m_streamTypes     : No passthrough capabilities
2024-09-13 17:58:02.963 T:39       info <general>:     Device 2
2024-09-13 17:58:02.963 T:39       info <general>:         m_deviceName      : alsa-sink
2024-09-13 17:58:02.963 T:39       info <general>:         m_displayName     : Alsa Loopback
2024-09-13 17:58:02.963 T:39       info <general>:         m_displayNameExtra: Alsa Loopback (PIPEWIRE)
2024-09-13 17:58:02.963 T:39       info <general>:         m_deviceType      : AE_DEVTYPE_PCM
2024-09-13 17:58:02.963 T:39       info <general>:         m_channels        : FL, FR
2024-09-13 17:58:02.963 T:39       info <general>:         m_sampleRates     : 5512,8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000,384000
2024-09-13 17:58:02.963 T:39       info <general>:         m_dataFormats     : AE_FMT_RAW,AE_FMT_U8,AE_FMT_S16NE,AE_FMT_S24NE4,AE_FMT_S32NE,AE_FMT_S24NE3,AE_FMT_FLOAT
2024-09-13 17:58:02.963 T:39       info <general>:         m_streamTypes     : No passthrough capabilities
2024-09-13 17:58:02.963 T:39       info <general>:     Device 3
2024-09-13 17:58:02.963 T:39       info <general>:         m_deviceName      : alsa_output.pci-0000_00_14.2.iec958-stereo
2024-09-13 17:58:02.963 T:39       info <general>:         m_displayName     : Audio interne Stéréo numérique (IEC958)
2024-09-13 17:58:02.963 T:39       info <general>:         m_displayNameExtra: Audio interne Stéréo numérique (IEC958) (PIPEWIRE)
2024-09-13 17:58:02.963 T:39       info <general>:         m_deviceType      : AE_DEVTYPE_IEC958
2024-09-13 17:58:02.963 T:39       info <general>:         m_channels        : FL, FR
2024-09-13 17:58:02.963 T:39       info <general>:         m_sampleRates     : 5512,8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000,384000
2024-09-13 17:58:02.963 T:39       info <general>:         m_dataFormats     : AE_FMT_RAW,AE_FMT_U8,AE_FMT_S16NE,AE_FMT_S24NE4,AE_FMT_S32NE,AE_FMT_S24NE3,AE_FMT_FLOAT,AE_FMT_RAW
2024-09-13 17:58:02.963 T:39       info <general>:         m_streamTypes     : STREAM_TYPE_DTS_512,STREAM_TYPE_DTS_1024,STREAM_TYPE_DTS_2048,STREAM_TYPE_DTSHD_CORE,STREAM_TYPE_AC3,STREAM_TYPE_EAC3
2024-09-13 17:58:02.964 T:40       info <general>: CActiveAESink::OpenSink - initialize sink

CDSP log:
Code:
2024-09-13 17:50:41.397591 INFO [src/bin.rs:683] CamillaDSP version 2.0.3
2024-09-13 17:50:41.397620 INFO [src/bin.rs:684] Running on linux, x86_64
2024-09-13 17:50:41.397637 DEBUG [src/bin.rs:728] Loaded state: None
2024-09-13 17:50:41.397643 DEBUG [src/bin.rs:738] Using default initial volume
2024-09-13 17:50:41.397647 DEBUG [src/bin.rs:755] Using default initial mute
2024-09-13 17:50:41.397651 DEBUG [src/bin.rs:765] Initial mute: [false, false, false, false, false]
2024-09-13 17:50:41.397655 DEBUG [src/bin.rs:766] Initial volume: [0.0, 0.0, 0.0, 0.0, 0.0]
2024-09-13 17:50:41.397660 DEBUG [src/bin.rs:768] Read config file Some(".config/.camilladsp/stereo.yml")
2024-09-13 17:50:41.398304 DEBUG [src/config.rs:1549] 2_sept_730hz-48000.wav is relative
2024-09-13 17:50:41.398328 DEBUG [src/config.rs:1553] Using 2_sept_730hz-48000.wav found relative to config file dir
2024-09-13 17:50:41.398333 DEBUG [src/config.rs:1549] 2_sept_730hz-48000.wav is relative
2024-09-13 17:50:41.398340 DEBUG [src/config.rs:1553] Using 2_sept_730hz-48000.wav found relative to config file dir
2024-09-13 17:50:41.401971 DEBUG [src/filters.rs:178] Read raw data from: '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, number of coeffs: 131072
2024-09-13 17:50:41.403294 DEBUG [src/filters.rs:337] Read wav file '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, channel: 0 of 2, samplerate: 48000, length: 65536
2024-09-13 17:50:41.406563 DEBUG [src/filters.rs:178] Read raw data from: '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, number of coeffs: 131072
2024-09-13 17:50:41.407296 DEBUG [src/filters.rs:337] Read wav file '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, channel: 1 of 2, samplerate: 48000, length: 65536
2024-09-13 17:50:41.407327 DEBUG [src/bin.rs:808] Config is valid
2024-09-13 17:50:41.407475 DEBUG [src/bin.rs:994] Wait for config
2024-09-13 17:50:41.407483 DEBUG [src/bin.rs:1010] Waiting to receive a command
2024-09-13 17:50:41.407487 DEBUG [src/bin.rs:1013] Config change command received
2024-09-13 17:50:41.407490 DEBUG [src/bin.rs:999] New config is available and there are no queued commands, continuing
2024-09-13 17:50:41.407493 DEBUG [src/bin.rs:1036] Config ready, start processing
2024-09-13 17:50:41.407681 DEBUG [src/bin.rs:157] Using channels [true, true]
2024-09-13 17:50:41.407711 DEBUG [src/filters.rs:488] Build new pipeline
2024-09-13 17:50:41.407853 DEBUG [src/filters.rs:364] Build filter group from config
2024-09-13 17:50:41.411000 DEBUG [src/filters.rs:178] Read raw data from: '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, number of coeffs: 131072
2024-09-13 17:50:41.411562 DEBUG [src/filters.rs:337] Read wav file '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, channel: 0 of 2, samplerate: 48000, length: 65536
2024-09-13 17:50:41.413586 DEBUG [src/fftconv.rs:50] Conv fir_l is using 32 segments
2024-09-13 17:50:41.414921 DEBUG [src/filters.rs:364] Build filter group from config
2024-09-13 17:50:41.417504 DEBUG [src/filters.rs:178] Read raw data from: '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, number of coeffs: 131072
2024-09-13 17:50:41.418154 DEBUG [src/filters.rs:337] Read wav file '/home/shizuma/.config/.camilladsp/2_sept_730hz-48000.wav', format: FLOAT32LE, channel: 1 of 2, samplerate: 48000, length: 65536
2024-09-13 17:50:41.420726 DEBUG [src/fftconv.rs:50] Conv fir_r is using 32 segments
2024-09-13 17:50:41.422764 DEBUG [src/processing.rs:19] build filters, waiting to start processing loop
2024-09-13 17:50:41.444455 DEBUG [src/alsadevice.rs:334] Available Playback devices: [("hw:Loopback,0,0", "Loopback, Loopback PCM, subdevice #0"), ("hw:Loopback,0,1", "Loopback, Loopback PCM, subdevice #1"), ("hw:Loopback,0,2", "Loopback, Loopback PCM, subdevice #2"), ("hw:Loopback,0,3", "Loopback, Loopback PCM, subdevice #3"), ("hw:Loopback,0,4", "Loopback, Loopback PCM, subdevice #4"), ("hw:Loopback,0,5", "Loopback, Loopback PCM, subdevice #5"), ("hw:Loopback,0,6", "Loopback, Loopback PCM, subdevice #6"), ("hw:Loopback,0,7", "Loopback, Loopback PCM, subdevice #7"), ("hw:Loopback,1,0", "Loopback, Loopback PCM, subdevice #0"), ("hw:Loopback,1,1", "Loopback, Loopback PCM, subdevice #1"), ("hw:Loopback,1,2", "Loopback, Loopback PCM, subdevice #2"), ("hw:Loopback,1,3", "Loopback, Loopback PCM, subdevice #3"), ("hw:Loopback,1,4", "Loopback, Loopback PCM, subdevice #4"), ("hw:Loopback,1,5", "Loopback, Loopback PCM, subdevice #5"), ("hw:Loopback,1,6", "Loopback, Loopback PCM, subdevice #6"), ("hw:Loopback,1,7", "Loopback, Loopback PCM, subdevice #7"), ("hw:HDMI,3,0", "HDA ATI HDMI, HDMI 0, subdevice #0"), ("hw:Generic,0,0", "HD-Audio Generic, ALC1150 Analog, subdevice #0"), ("hw:Generic,1,0", "HD-Audio Generic, ALC1150 Digital, subdevice #0"), ("null", "Discard all samples (playback) or generate zero samples (capture)"), ("oss", "Open Sound System"), ("pipewire", "PipeWire Sound Server"), ("pulse", "PulseAudio Sound Server"), ("sysdefault:CARD=Loopback", "Loopback, Loopback PCM\nDefault Audio Device"), ("front:CARD=Loopback,DEV=0", "Loopback, Loopback PCM\nFront output / input"), ("surround21:CARD=Loopback,DEV=0", "Loopback, Loopback PCM\n2.1 Surround output to Front and Subwoofer speakers"), ("surround40:CARD=Loopback,DEV=0", "Loopback, Loopback PCM\n4.0 Surround output to Front and Rear speakers"), ("surround41:CARD=Loopback,DEV=0", "Loopback, Loopback PCM\n4.1 Surround output to Front, Rear and Subwoofer speakers"), ("surround50:CARD=Loopback,DEV=0", "Loopback, Loopback PCM\n5.0 Surround output to Front, Center and Rear speakers"), ("surround51:CARD=Loopback,DEV=0", "Loopback, Loopback PCM\n5.1 Surround output to Front, Center, Rear and Subwoofer speakers"), ("surround71:CARD=Loopback,DEV=0", "Loopback, Loopback PCM\n7.1 Surround output to Front, Center, Side, Rear and Woofer speakers"), ("hdmi:CARD=HDMI,DEV=0", "HDA ATI HDMI, HDMI 0\nHDMI Audio Output"), ("sysdefault:CARD=Generic", "HD-Audio Generic, ALC1150 Analog\nDefault Audio Device"), ("front:CARD=Generic,DEV=0", "HD-Audio Generic, ALC1150 Analog\nFront output / input"), ("surround21:CARD=Generic,DEV=0", "HD-Audio Generic, ALC1150 Analog\n2.1 Surround output to Front and Subwoofer speakers"), ("surround40:CARD=Generic,DEV=0", "HD-Audio Generic, ALC1150 Analog\n4.0 Surround output to Front and Rear speakers"), ("surround41:CARD=Generic,DEV=0", "HD-Audio Generic, ALC1150 Analog\n4.1 Surround output to Front, Rear and Subwoofer speakers"), ("surround50:CARD=Generic,DEV=0", "HD-Audio Generic, ALC1150 Analog\n5.0 Surround output to Front, Center and Rear speakers"), ("surround51:CARD=Generic,DEV=0", "HD-Audio Generic, ALC1150 Analog\n5.1 Surround output to Front, Center, Rear and Subwoofer speakers"), ("surround71:CARD=Generic,DEV=0", "HD-Audio Generic, ALC1150 Analog\n7.1 Surround output to Front, Center, Side, Rear and Woofer speakers"), ("iec958:CARD=Generic,DEV=0", "HD-Audio Generic, ALC1150 Digital\nIEC958 (S/PDIF) Digital Audio Output")]
2024-09-13 17:50:41.444213 DEBUG [src/alsadevice.rs:334] Available Capture devices: [("hw:Loopback,0,0", "Loopback, Loopback PCM, subdevice #0"), ("hw:Loopback,0,1", "Loopback, Loopback PCM, subdevice #1"), ("hw:Loopback,0,2", "Loopback, Loopback PCM, subdevice #2"), ("hw:Loopback,0,3", "Loopback, Loopback PCM, subdevice #3"), ("hw:Loopback,0,4", "Loopback, Loopback PCM, subdevice #4"), ("hw:Loopback,0,5", "Loopback, Loopback PCM, subdevice #5"), ("hw:Loopback,0,6", "Loopback, Loopback PCM, subdevice #6"), ("hw:Loopback,0,7", "Loopback, Loopback PCM, subdevice #7"), ("hw:Loopback,1,0", "Loopback, Loopback PCM, subdevice #0"), ("hw:Loopback,1,1", "Loopback, Loopback PCM, subdevice #1"), ("hw:Loopback,1,2", "Loopback, Loopback PCM, subdevice #2"), ("hw:Loopback,1,3", "Loopback, Loopback PCM, subdevice #3"), ("hw:Loopback,1,4", "Loopback, Loopback PCM, subdevice #4"), ("hw:Loopback,1,5", "Loopback, Loopback PCM, subdevice #5"), ("hw:Loopback,1,6", "Loopback, Loopback PCM, subdevice #6"), ("hw:Loopback,1,7", "Loopback, Loopback PCM, subdevice #7"), ("hw:Generic,0,0", "HD-Audio Generic, ALC1150 Analog, subdevice #0"), ("null", "Discard all samples (playback) or generate zero samples (capture)"), ("oss", "Open Sound System"), ("pipewire", "PipeWire Sound Server"), ("pulse", "PulseAudio Sound Server"), ("sysdefault:CARD=Loopback", "Loopback, Loopback PCM\nDefault Audio Device"), ("front:CARD=Loopback,DEV=0", "Loopback, Loopback PCM\nFront output / input"), ("sysdefault:CARD=Generic", "HD-Audio Generic, ALC1150 Analog\nDefault Audio Device"), ("front:CARD=Generic,DEV=0", "HD-Audio Generic, ALC1150 Analog\nFront output / input")]
2024-09-13 17:50:41.449661 DEBUG [src/alsadevice.rs:352] Playback: supported channels, min: 1, max: 64, list: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]
2024-09-13 17:50:41.449788 DEBUG [src/alsadevice.rs:353] Playback: setting channels to 2
2024-09-13 17:50:41.449804 DEBUG [src/alsadevice.rs:357] Playback: supported samplerates: Range(1, 384000)
2024-09-13 17:50:41.449808 DEBUG [src/alsadevice.rs:358] Playback: setting rate to 48000
2024-09-13 17:50:41.449816 DEBUG [src/alsadevice.rs:362] Playback: supported sample formats: [S16LE, S24LE, S24LE3, S32LE, FLOAT32LE]
2024-09-13 17:50:41.449820 DEBUG [src/alsadevice.rs:363] Playback: setting format to S32LE
2024-09-13 17:50:41.449830 DEBUG [src/alsadevice_buffermanager.rs:57] Setting buffer size to 8192 frames
2024-09-13 17:50:41.449837 DEBUG [src/alsadevice_buffermanager.rs:70] Device is using a buffer size of 8192 frames
2024-09-13 17:50:41.449840 DEBUG [src/alsadevice_buffermanager.rs:78] Setting period size to 1024 frames
2024-09-13 17:50:41.541890 DEBUG [src/alsadevice.rs:387] Opening Playback device "pipewire" with parameters: HwParams { channels: Ok(2), rate: "Ok(48000) Hz", format: Ok(S32LE), access: Ok(RWInterleaved), period_size: "Ok(1024) frames", buffer_size: "Ok(8192) frames" }, SwParams(avail_min: Ok(2048) frames, start_threshold: Ok(1) frames, stop_threshold: Ok(8192) frames)
2024-09-13 17:50:41.541983 DEBUG [src/alsadevice.rs:392] Playback device "pipewire" successfully opened
2024-09-13 17:50:41.542120 DEBUG [src/bin.rs:265] Playback thread ready to start
2024-09-13 17:50:41.542280 DEBUG [src/alsadevice.rs:352] Capture: supported channels, min: 2, max: 2, list: [2]
2024-09-13 17:50:41.542287 DEBUG [src/alsadevice.rs:353] Capture: setting channels to 2
2024-09-13 17:50:41.542293 DEBUG [src/alsadevice.rs:357] Capture: supported samplerates: Discrete([48000])
2024-09-13 17:50:41.542296 DEBUG [src/alsadevice.rs:358] Capture: setting rate to 48000
2024-09-13 17:50:41.542301 DEBUG [src/alsadevice.rs:362] Capture: supported sample formats: [S32LE]
2024-09-13 17:50:41.542304 DEBUG [src/alsadevice.rs:363] Capture: setting format to S32LE
2024-09-13 17:50:41.542311 DEBUG [src/alsadevice_buffermanager.rs:57] Setting buffer size to 8192 frames
2024-09-13 17:50:41.542322 DEBUG [src/alsadevice_buffermanager.rs:70] Device is using a buffer size of 8192 frames
2024-09-13 17:50:41.542325 DEBUG [src/alsadevice_buffermanager.rs:78] Setting period size to 1024 frames
2024-09-13 17:50:41.542389 DEBUG [src/alsadevice.rs:387] Opening Capture device "hw:Loopback,1,0" with parameters: HwParams { channels: Ok(2), rate: "Ok(48000) Hz", format: Ok(S32LE), access: Ok(RWInterleaved), period_size: "Ok(1024) frames", buffer_size: "Ok(8192) frames" }, SwParams(avail_min: Ok(2048) frames, start_threshold: Ok(0) frames, stop_threshold: Ok(8192) frames)
2024-09-13 17:50:41.542401 DEBUG [src/alsadevice.rs:392] Capture device "hw:Loopback,1,0" successfully opened
2024-09-13 17:50:41.543505 DEBUG [src/bin.rs:275] Capture thread ready to start
2024-09-13 17:50:41.543525 DEBUG [src/bin.rs:278] Both capture and playback ready, release barrier
2024-09-13 17:50:41.543542 DEBUG [src/bin.rs:280] Supervisor loop starts now!
2024-09-13 17:50:41.543556 DEBUG [src/alsadevice.rs:1037] Starting captureloop
2024-09-13 17:50:41.543668 DEBUG [src/alsadevice.rs:951] Starting playback loop
2024-09-13 17:50:41.543688 DEBUG [src/alsadevice.rs:415] Playback loop uses a buffer of 2048 frames
2024-09-13 17:50:41.543739 INFO [src/alsadevice.rs:648] Capture device supports rate adjust
2024-09-13 17:50:41.543743 DEBUG [src/alsadevice.rs:657] Capture loop uses a buffer of 8192 frames
2024-09-13 17:50:41.543774 DEBUG [src/alsadevice.rs:253] Starting capture from state: SND_PCM_STATE_PREPARED, Ready to start
2024-09-13 17:50:41.543795 DEBUG [src/processing.rs:21] Processing loop starts now!
2024-09-13 17:50:41.589322 INFO [src/alsadevice.rs:142] PB: Starting playback from Prepared state
2024-09-13 17:50:51.572487 DEBUG [src/alsadevice.rs:573] PB: buffer level: 2358.7, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 1892, tv_nsec: 214553795 }, values: [0.02803933, 0.028322212] })
2024-09-13 17:51:01.599552 DEBUG [src/alsadevice.rs:573] PB: buffer level: 2362.6, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 1902, tv_nsec: 241617547 }, values: [0.01648664, 0.015234905] })
2024-09-13 17:51:11.624981 DEBUG [src/alsadevice.rs:573] PB: buffer level: 2368.2, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 1912, tv_nsec: 267048725 }, values: [0.026063336, 0.038938906] })
2024-09-13 17:51:21.652619 DEBUG [src/alsadevice.rs:573] PB: buffer level: 2368.4, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 1922, tv_nsec: 294684243 }, values: [0.012916089, 0.013450869] })
2024-09-13 17:51:31.680299 DEBUG [src/alsadevice.rs:573] PB: buffer level: 2377.2, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 1932, tv_nsec: 322366220 }, values: [0.06456917, 0.031236725] })
2024-09-13 17:51:41.706661 DEBUG [src/alsadevice.rs:573] PB: buffer level: 2373.1, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 1942, tv_nsec: 348727780 }, values: [0.0, 0.0] })
2024-09-13 17:51:51.732365 DEBUG [src/alsadevice.rs:573] PB: buffer level: 2374.3, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 1952, tv_nsec: 374430154 }, values: [0.0, 0.0] })
2024-09-13 17:52:01.759238 DEBUG [src/alsadevice.rs:573] PB: buffer level: 2382.6, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 1962, tv_nsec: 401304398 }, values: [0.0012389149, 0.004195945] })
2024-09-13 17:52:11.785196 DEBUG [src/alsadevice.rs:573] PB: buffer level: 2393.6, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 1972, tv_nsec: 427263097 }, values: [0.030450262, 0.009273474] })
2024-09-13 17:52:21.812355 DEBUG [src/alsadevice.rs:573] PB: buffer level: 2395.0, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 1982, tv_nsec: 454421594 }, values: [0.043423206, 0.042372733] })
2024-09-13 17:52:31.840139 DEBUG [src/alsadevice.rs:573] PB: buffer level: 2398.9, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 1992, tv_nsec: 482206900 }, values: [0.016041767, 0.011314018] })
2024-09-13 17:52:41.865488 DEBUG [src/alsadevice.rs:573] PB: buffer level: 2401.8, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 2002, tv_nsec: 507554867 }, values: [0.027391123, 0.0150486585] })
2024-09-13 17:52:43.743203 WARN [src/conversions.rs:65] Clipping detected, 1 samples clipped, peak +0.03 dB (100.3%)
2024-09-13 17:52:51.892684 DEBUG [src/alsadevice.rs:573] PB: buffer level: 2192.9, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 2012, tv_nsec: 534749554 }, values: [0.0, 0.0] })
2024-09-13 17:53:01.919246 DEBUG [src/alsadevice.rs:573] PB: buffer level: 1879.4, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 2022, tv_nsec: 561313222 }, values: [0.019549748, 0.013816785] })
2024-09-13 17:53:03.497207 WARN [src/conversions.rs:65] Clipping detected, 1 samples clipped, peak +0.15 dB (101.8%)
2024-09-13 17:53:06.356312 WARN [src/conversions.rs:65] Clipping detected, 25 samples clipped, peak +0.95 dB (111.6%)
2024-09-13 17:53:11.946585 DEBUG [src/alsadevice.rs:573] PB: buffer level: 1900.1, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 2032, tv_nsec: 588651812 }, values: [0.06731425, 0.055106703] })
2024-09-13 17:53:17.663139 WARN [src/conversions.rs:65] Clipping detected, 32 samples clipped, peak +1.98 dB (125.5%)
2024-09-13 17:53:17.706237 WARN [src/conversions.rs:65] Clipping detected, 15 samples clipped, peak +0.49 dB (105.7%)
2024-09-13 17:53:18.260570 WARN [src/conversions.rs:65] Clipping detected, 22 samples clipped, peak +0.82 dB (109.9%)
2024-09-13 17:53:21.972511 DEBUG [src/alsadevice.rs:573] PB: buffer level: 1904.5, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 2042, tv_nsec: 614576102 }, values: [0.09097008, 0.077764116] })
2024-09-13 17:53:31.999516 DEBUG [src/alsadevice.rs:573] PB: buffer level: 1908.8, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 2052, tv_nsec: 641583186 }, values: [0.039553322, 0.02658639] })
2024-09-13 17:53:40.447729 WARN [src/conversions.rs:65] Clipping detected, 3 samples clipped, peak +0.13 dB (101.6%)
2024-09-13 17:53:42.026353 DEBUG [src/alsadevice.rs:573] PB: buffer level: 1910.4, signal rms: Some(HistoryRecord { time: Instant { tv_sec: 2062, tv_nsec: 66841

CDSP config:
Code:
devices:
  samplerate: 48000
  chunksize: 2048
  queuelimit: 4
  enable_rate_adjust: false
  adjust_period: 10.0
  silence_threshold: -80.0
  silence_timeout: 60.0
  target_level: 0

  capture:
    channels: 2
    #device: "MySink.monitor"
    device: "hw:Loopback,1,0"
    format: S32LE
    type: Alsa

  playback:
    channels: 2
    #device: "MySink"
    device: "pipewire"
    format: S32LE
    type: Alsa

.asoundrc
Code:
pcm.a52 {
        type a52
        slavepcm "iec958:{ AES0 0x06 AES1 0x82 AES2 0x00 AES3 0x00 CARD Generic DEV 0 }"
}

pcm.copya52 {
  type copy
  slave {
    pcm "a52"
  }
}
#
# Place your global alsa-lib configuration here...
#
#
pcm.!default {
   type plug
   slave.pcm "camilladsp"
}
 
pcm.camilladsp {

    # Use the ALSA plug-in "plug" for rate-/format-conversion.
    type plug

    # Forward the audio stream to the ALSA loopback-device
    slave {
    pcm {

        # Direct hardware access
        type    hw

        # Loopback card name
        #
        # Has to match "id" in the options of the snd-aloop module
        card    "Loopback"

        # Loopback device ID
        device    0

        # Number of audio channels
        #
        # Has to match the number of channels in music player app
        # and in the CamillaDSP input configuration
        channels    2

        # Format of audio stream
        #
        # Has to match the format defined
        # in the CamillaDSP input configuration
        format    "S32_LE"

        # Sample rate of audio stream
        #
        # Has to match the sample rate (or capture sample rate if resampling is used)
            # of the CamillaDSP configuration.
            #
        rate    48000
    }
    }
}


ctl.!default {
    type hw
    card "Loopback"
}
# Create an ALSA default control-device for the ALSA loopback-device.
ctl.camilladsp {

    # Direct hardware access
        type    hw

    # Loopback card name
    #
    # Has to match "id" in the options of the snd-aloop module
        card    "Loopback"
}

.config/pipewire/pipewire.conf.d/10-alsa-loopback.conf:
Code:
context.objects = [
    {   factory = adapter
        args = {
            factory.name            = api.alsa.pcm.sink
            node.name               = "alsa-sink"
            node.description        = "Alsa Loopback"
            media.class             = "Audio/Sink"
            api.alsa.path           = "hw:Loopback,0,0"
            #api.alsa.period-size   = 1024
            #api.alsa.headroom      = 0
            #api.alsa.disable-mmap  = false
            #api.alsa.disable-batch = false
            audio.format           = "S32LE"
            audio.rate             = 48000
            audio.channels         = 2
            #audio.position         = "FL,FR"
        }
    }
]

Capture d’écran du 2024-09-13 18-08-42.png Capture d’écran du 2024-09-13 18-08-47.png Capture d’écran du 2024-09-13 18-08-33.png

aplay -l:
Code:
$ aplay -l
**** Liste des périphériques matériels PLAYBACK ****
carte 0 : Loopback [Loopback], périphérique 0 : Loopback PCM [Loopback PCM]
  Sous-périphériques : 6/8
  Sous-périphérique #0 : subdevice #0
  Sous-périphérique #1 : subdevice #1
  Sous-périphérique #2 : subdevice #2
  Sous-périphérique #3 : subdevice #3
  Sous-périphérique #4 : subdevice #4
  Sous-périphérique #5 : subdevice #5
  Sous-périphérique #6 : subdevice #6
  Sous-périphérique #7 : subdevice #7
carte 0 : Loopback [Loopback], périphérique 1 : Loopback PCM [Loopback PCM]
  Sous-périphériques : 8/8
  Sous-périphérique #0 : subdevice #0
  Sous-périphérique #1 : subdevice #1
  Sous-périphérique #2 : subdevice #2
  Sous-périphérique #3 : subdevice #3
  Sous-périphérique #4 : subdevice #4
  Sous-périphérique #5 : subdevice #5
  Sous-périphérique #6 : subdevice #6
  Sous-périphérique #7 : subdevice #7
carte 1 : HDMI [HDA ATI HDMI], périphérique 3 : HDMI 0 [HDMI 0]
  Sous-périphériques : 1/1
  Sous-périphérique #0 : subdevice #0
carte 2 : Generic [HD-Audio Generic], périphérique 0 : ALC1150 Analog [ALC1150 Analog]
  Sous-périphériques : 1/1
  Sous-périphérique #0 : subdevice #0
carte 2 : Generic [HD-Audio Generic], périphérique 1 : ALC1150 Digital [ALC1150 Digital]
  Sous-périphériques : 0/1
  Sous-périphérique #0 : subdevice #0
 
Top Bottom