CamillaDSP - Cross-platform IIR and FIR engine for crossovers, room correction etc.

Could I keep both these methods (which are essentially doing the same thing via RME TotalMix) with CamillaDSP adding loudness?
CamillaDSP won't be able to react to those ways of changing volume. You need to either use only the camilladsp volume control, or add just a loudness filter and forward your volume setting. This second option will require some development as I'm not aware of any existing solution for it. I would investigate if the volume setting can be read with python. If so, it would be easy to make a little script that updates the volume setting in camilladsp when needed.
 
  • Like
Reactions: 1 user
Member
Joined 2011
Paid Member
Thanks @phofman & CharlieLaub. This one had me spinning for a while.

Squeezelite debug log confirms that it tries to open the alsa device with correct SR. But whatever I did on the system the only SR actually making sound with CDSP where 44100.

Not until I read this from CDSP log it startet to dawn on me I'm fighting an issue @HenrikEnquist might have a look at for next release.
2023-12-16 17:02:58.110772 ERROR [src/bin.rs:814] capture_samplerate must match samplerate when resampling is disabled
2023-12-16 17:02:58.110831 DEBUG [src/bin.rs:815] Exiting due to config error
What had happened where that I had experimentet with resampling 44.1 and then later set the resampling to 'none'. Now the GUI hide the 'capture_samplerate' input, but the code still evaliate this parameter even with resampling disabled.
I think I am bumping into the same issue. If I specifically define "samplerate" in the config, it makes it impossible to playback any source that is !=samplerate unless resampling is enabled.

Ideally for me, "capture_samplerate" = the actual source sample rate, and "samplerate" = "capture_samplerate". This way, resampling can be disabled and all processing and playback can be done at the native sample rate of the source.

So when a 44.1 Hz file is played, both "capture_samplerate" and "samplerate" =41000, but if the next song in the queue is 96kHz, then capture_samplerate" and "samplerate" =96000
 
Member
Joined 2011
Paid Member
No that one was solved in 2.0.1.

What you want can be achieved using the alsa_cdsp plugin. This version has been updated to support v2.0: https://github.com/spfenwick/alsa_cdsp
Thanks for the reply!

I am running moOde, which is still stuck on an "ancient" version of CamillaDSP, so I will wait for the next moOde release (which will include the latest CamillaDSP) and try again.

In the meantime, what is your personal, subjective opinion on this? Am I overthinking this too much? Perhaps I should just choose a static "samplerate" such as 96000, enable synchronous resampling and be happy? Do the FIR filters work better at higher sample rates anyway? Other things to consider?
 
Hi, just a quick one. Upgraded finally to v2.0.2 from an old version.
On my rpi4 with ubuntu server everything went fine.
On my rpi3b with debian distro i got a fault trying to start the gui.

Wrong python version?
ImportError: cannot import name 'CamillaClient' from 'camilladsp' (/home/pi/.local/lib/python3.9/site-packages/camilladsp/init.py)
 
Last edited:
Actually it is like this. (of course it is v2.0.1.... )
pi@kjellern:~/camilladsp/camillagui/config $ python3 ~/camilladsp/camillagui/main.py
Traceback (most recent call last):
File "/home/pi/camilladsp/camillagui/main.py", line 4, in <module>
from camilladsp import CamillaClient
ImportError: cannot import name 'CamillaClient' from 'camilladsp' (/home/pi/.local/lib/python3.9/site-packages/camilladsp/init.py)
 
@HenrikEnquist has the change_format option been removed from CoreAudio type devices?

I was playing around with a TOSLINK I/O configuration on a mac mini 2012 and could not get it to run on V2.0.1 as I was getting the error "Capture error: Failed to find matching physical capture format". This happened regardless of capture format and also occurred if I omitted capture format.

V1.0.3 worked OK, but only if I had change_format set to false on the capture device. If change_format was set to true I received the same matching physical format error. Interestingly enough, I could set change_format to true on the playback device without issue.

Michael
 
Did you upgrade pycamilladsp?
Yes many times :)
sudo pip3 install git+https://github.com/HEnquist/pycamilladsp.git
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting git+https://github.com/HEnquist/pycamilladsp.git
Cloning https://github.com/HEnquist/pycamilladsp.git to /tmp/pip-req-build-u9_nc9br
Running command git clone --filter=blob:none --quiet https://github.com/HEnquist/pycamilladsp.git /tmp/pip-req-build-u9_nc9br Resolved https://github.com/HEnquist/pycamilladsp.git to commit f2d7711a86943790f5cab0f3429de89ebfc039a7
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: PyYAML>=6.0 in /usr/local/lib/python3.9/dist-packages (from camilladsp==2.0.2) (6.0)
Requirement already satisfied: websocket-client>=1.6 in /usr/local/lib/python3.9/dist-packages (from camilladsp==2.0.2) (1.7.0)
 
pi@kjellern:~ $ which pip3
/usr/local/bin/pip3

pi@kjellern:~ $ which python
/usr/bin/python

Actually I also found some leftovers using pip3 uninstall

Removed the old versions
But now I only got
Code:
pi@kjellern:~ $ python3 ~/camilladsp/camillagui/main.py

Segmentation fault
Code:
pi@kjellern:~ $ pip3 uninstall camilladsp
Found existing installation: camilladsp 1.0.0
Uninstalling camilladsp-1.0.0:
  Would remove:
    /home/pi/.local/lib/python3.9/site-packages/camilladsp-1.0.0.dist-info/*
    /home/pi/.local/lib/python3.9/site-packages/camilladsp/*
Proceed (Y/n)? y
  Successfully uninstalled camilladsp-1.0.0
pi@kjellern:~ $ pip3 uninstall camilladsp
Found existing installation: camilladsp 2.0.2
Uninstalling camilladsp-2.0.2:
  Would remove:
    /usr/local/lib/python3.9/dist-packages/camilladsp-2.0.2.dist-info/*
    /usr/local/lib/python3.9/dist-packages/camilladsp/*
Proceed (Y/n)? n
pi@kjellern:~ $ pip3 uninstall camilladsp-plot
Found existing installation: camilladsp-plot 1.0.1
Uninstalling camilladsp-plot-1.0.1:
  Would remove:
    /home/pi/.local/bin/plotcamillaconf
    /home/pi/.local/lib/python3.9/site-packages/camilladsp_plot-1.0.1.dist-info/*
    /home/pi/.local/lib/python3.9/site-packages/camilladsp_plot/*
Proceed (Y/n)? y
  Successfully uninstalled camilladsp-plot-1.0.1
pi@kjellern:~ $ pip3 uninstall camilladsp-plot
Found existing installation: camilladsp_plot 2.0.0
Uninstalling camilladsp_plot-2.0.0:
  Would remove:
    /usr/local/bin/plotcamillaconf
    /usr/local/lib/python3.9/dist-packages/camilladsp_plot-2.0.0.dist-info/*
    /usr/local/lib/python3.9/dist-packages/camilladsp_plot/*
Proceed (Y/n)? n
 
Yes, this just uses the format parameter now. Setting it to null means don't change format.

Thanks for the info. For some reason setting format: null gives a segmentation fault. Here are the two logs from V2.0.1 and the successful log from 1.03.

1) format: FLOAT32LE

Code:
michaeldsimon@michaelmini2012 camilladsp % camilladsp ~/camilladsp/configs/toslink2.yml -p 1234 -v
2024-01-17 18:29:28.746462 INFO [src/bin.rs:683] CamillaDSP version 2.0.1
2024-01-17 18:29:28.746505 INFO [src/bin.rs:684] Running on macos, x86_64
2024-01-17 18:29:28.746531 DEBUG [src/bin.rs:728] Loaded state: None
2024-01-17 18:29:28.746537 DEBUG [src/bin.rs:738] Using default initial volume
2024-01-17 18:29:28.746540 DEBUG [src/bin.rs:755] Using default initial mute
2024-01-17 18:29:28.746543 DEBUG [src/bin.rs:765] Initial mute: [false, false, false, false, false]
2024-01-17 18:29:28.746549 DEBUG [src/bin.rs:766] Initial volume: [0.0, 0.0, 0.0, 0.0, 0.0]
2024-01-17 18:29:28.746555 DEBUG [src/bin.rs:768] Read config file Some("/Users/michaeldsimon/camilladsp/configs/toslink2.yml")
2024-01-17 18:29:28.746963 DEBUG [src/bin.rs:808] Config is valid
2024-01-17 18:29:28.747032 DEBUG [src/socketserver.rs:432] Start websocket server on 127.0.0.1:1234
2024-01-17 18:29:28.747094 DEBUG [src/bin.rs:994] Wait for config
2024-01-17 18:29:28.747109 DEBUG [src/bin.rs:1010] Waiting to receive a command
2024-01-17 18:29:28.747118 DEBUG [src/bin.rs:1013] Config change command received
2024-01-17 18:29:28.747123 DEBUG [src/bin.rs:999] New config is available and there are no queued commands, continuing
2024-01-17 18:29:28.747128 DEBUG [src/bin.rs:1036] Config ready, start processing
2024-01-17 18:29:28.747204 DEBUG [src/bin.rs:157] Using channels [true, true]
2024-01-17 18:29:28.747221 DEBUG [src/filters.rs:488] Build new pipeline
2024-01-17 18:29:28.747255 DEBUG [src/coreaudiodevice.rs:361] Using a playback channel capacity of 5 chunks.
2024-01-17 18:29:28.747361 DEBUG [src/processing.rs:19] build filters, waiting to start processing loop
2024-01-17 18:29:28.747291 DEBUG [src/coreaudiodevice.rs:628] Using a capture channel capacity of 33 buffers.
2024-01-17 18:29:28.778999 DEBUG [src/coreaudiodevice.rs:255] Available capture devices: ["Built-in Input", "BlackHole 2ch", "Microsoft Teams Audio"]
2024-01-17 18:29:28.787108 DEBUG [src/coreaudiodevice.rs:218] Set phys playback stream format
2024-01-17 18:29:28.787607 DEBUG [src/coreaudiodevice.rs:244] Opened CoreAudio playback device Some("Built-in Output")
2024-01-17 18:29:28.787684 DEBUG [src/coreaudiodevice.rs:469] Playback device ready and waiting
2024-01-17 18:29:28.787692 DEBUG [src/bin.rs:265] Playback thread ready to start
2024-01-17 18:29:28.789928 ERROR [src/bin.rs:307] Capture error: Failed to find matching physical capture format
2024-01-17 18:29:28.789938 DEBUG [src/bin.rs:309] Error while starting, release barrier
2024-01-17 18:29:28.789974 DEBUG [src/bin.rs:312] Wait for playback thread to exit..
2024-01-17 18:29:28.789983 DEBUG [src/coreaudiodevice.rs:471] Playback device starts now!
2024-01-17 18:29:28.789983 DEBUG [src/processing.rs:21] Processing loop starts now!
2024-01-17 18:29:28.790080 ERROR [src/processing.rs:50] Message channel error: receiving on a closed channel
2024-01-17 18:29:29.127311 DEBUG [src/bin.rs:1038] Processing ended with status Ok(Restart)
2024-01-17 18:29:29.127344 DEBUG [src/bin.rs:1052] Restarting with new config
2024-01-17 18:29:29.127352 DEBUG [src/bin.rs:994] Wait for config
2024-01-17 18:29:29.127358 DEBUG [src/bin.rs:1004] Wait mode is disabled, there are no queued commands, and no new config. Exiting.
michaeldsimon@michaelmini2012 camilladsp % camilladsp ~/camilladsp/configs/toslink2.yml -p 1234 -v
2024-01-17 18:29:37.117362 INFO [src/bin.rs:683] CamillaDSP version 2.0.1
2024-01-17 18:29:37.117409 INFO [src/bin.rs:684] Running on macos, x86_64
2024-01-17 18:29:37.117440 DEBUG [src/bin.rs:728] Loaded state: None
2024-01-17 18:29:37.117447 DEBUG [src/bin.rs:738] Using default initial volume
2024-01-17 18:29:37.117451 DEBUG [src/bin.rs:755] Using default initial mute
2024-01-17 18:29:37.117454 DEBUG [src/bin.rs:765] Initial mute: [false, false, false, false, false]
2024-01-17 18:29:37.117459 DEBUG [src/bin.rs:766] Initial volume: [0.0, 0.0, 0.0, 0.0, 0.0]
2024-01-17 18:29:37.117466 DEBUG [src/bin.rs:768] Read config file Some("/Users/michaeldsimon/camilladsp/configs/toslink2.yml")
2024-01-17 18:29:37.117900 DEBUG [src/bin.rs:808] Config is valid
2024-01-17 18:29:37.117968 DEBUG [src/socketserver.rs:432] Start websocket server on 127.0.0.1:1234
2024-01-17 18:29:37.118021 DEBUG [src/bin.rs:994] Wait for config
2024-01-17 18:29:37.118034 DEBUG [src/bin.rs:1010] Waiting to receive a command
2024-01-17 18:29:37.118045 DEBUG [src/bin.rs:1013] Config change command received
2024-01-17 18:29:37.118051 DEBUG [src/bin.rs:999] New config is available and there are no queued commands, continuing
2024-01-17 18:29:37.118055 DEBUG [src/bin.rs:1036] Config ready, start processing
2024-01-17 18:29:37.118126 DEBUG [src/bin.rs:157] Using channels [true, true]
2024-01-17 18:29:37.118124 DEBUG [src/filters.rs:488] Build new pipeline
2024-01-17 18:29:37.118267 DEBUG [src/processing.rs:19] build filters, waiting to start processing loop
2024-01-17 18:29:37.118171 DEBUG [src/coreaudiodevice.rs:361] Using a playback channel capacity of 5 chunks.
2024-01-17 18:29:37.118244 DEBUG [src/coreaudiodevice.rs:628] Using a capture channel capacity of 33 buffers.
2024-01-17 18:29:37.149263 DEBUG [src/coreaudiodevice.rs:255] Available capture devices: ["Built-in Input", "BlackHole 2ch", "Microsoft Teams Audio"]
2024-01-17 18:29:37.157574 DEBUG [src/coreaudiodevice.rs:218] Set phys playback stream format
2024-01-17 18:29:37.158074 DEBUG [src/coreaudiodevice.rs:244] Opened CoreAudio playback device Some("Built-in Output")
2024-01-17 18:29:37.158154 DEBUG [src/coreaudiodevice.rs:469] Playback device ready and waiting
2024-01-17 18:29:37.158164 DEBUG [src/bin.rs:265] Playback thread ready to start
2024-01-17 18:29:37.160385 ERROR [src/bin.rs:307] Capture error: Failed to find matching physical capture format
2024-01-17 18:29:37.160396 DEBUG [src/bin.rs:309] Error while starting, release barrier
2024-01-17 18:29:37.160420 DEBUG [src/bin.rs:312] Wait for playback thread to exit..
2024-01-17 18:29:37.160427 DEBUG [src/processing.rs:21] Processing loop starts now!
2024-01-17 18:29:37.160437 DEBUG [src/coreaudiodevice.rs:471] Playback device starts now!
2024-01-17 18:29:37.160528 ERROR [src/processing.rs:50] Message channel error: receiving on a closed channel
2024-01-17 18:29:37.188546 DEBUG [src/bin.rs:1038] Processing ended with status Ok(Restart)
2024-01-17 18:29:37.188574 DEBUG [src/bin.rs:1052] Restarting with new config
2024-01-17 18:29:37.188580 DEBUG [src/bin.rs:994] Wait for config
2024-01-17 18:29:37.188585 DEBUG [src/bin.rs:1004] Wait mode is disabled, there are no queued commands, and no new config. Exiting.

2) format: null

Code:
michaeldsimon@michaelmini2012 configs % camilladsp ~/camilladsp/configs/toslink2.yml -p 1234 -v
2024-01-17 18:31:08.078858 INFO [src/bin.rs:683] CamillaDSP version 2.0.1
2024-01-17 18:31:08.078907 INFO [src/bin.rs:684] Running on macos, x86_64
2024-01-17 18:31:08.078933 DEBUG [src/bin.rs:728] Loaded state: None
2024-01-17 18:31:08.078940 DEBUG [src/bin.rs:738] Using default initial volume
2024-01-17 18:31:08.078944 DEBUG [src/bin.rs:755] Using default initial mute
2024-01-17 18:31:08.078947 DEBUG [src/bin.rs:765] Initial mute: [false, false, false, false, false]
2024-01-17 18:31:08.078952 DEBUG [src/bin.rs:766] Initial volume: [0.0, 0.0, 0.0, 0.0, 0.0]
2024-01-17 18:31:08.078962 DEBUG [src/bin.rs:768] Read config file Some("/Users/michaeldsimon/camilladsp/configs/toslink2.yml")
2024-01-17 18:31:08.079399 DEBUG [src/bin.rs:808] Config is valid
2024-01-17 18:31:08.079457 DEBUG [src/socketserver.rs:432] Start websocket server on 127.0.0.1:1234
2024-01-17 18:31:08.079487 DEBUG [src/bin.rs:994] Wait for config
2024-01-17 18:31:08.079498 DEBUG [src/bin.rs:1010] Waiting to receive a command
2024-01-17 18:31:08.079505 DEBUG [src/bin.rs:1013] Config change command received
2024-01-17 18:31:08.079509 DEBUG [src/bin.rs:999] New config is available and there are no queued commands, continuing
2024-01-17 18:31:08.079512 DEBUG [src/bin.rs:1036] Config ready, start processing
2024-01-17 18:31:08.079580 DEBUG [src/bin.rs:157] Using channels [true, true]
2024-01-17 18:31:08.079628 DEBUG [src/coreaudiodevice.rs:361] Using a playback channel capacity of 5 chunks.
2024-01-17 18:31:08.079606 DEBUG [src/filters.rs:488] Build new pipeline
2024-01-17 18:31:08.079791 DEBUG [src/processing.rs:19] build filters, waiting to start processing loop
2024-01-17 18:31:08.079677 DEBUG [src/coreaudiodevice.rs:628] Using a capture channel capacity of 33 buffers.
2024-01-17 18:31:08.110622 DEBUG [src/coreaudiodevice.rs:255] Available capture devices: ["Built-in Input", "BlackHole 2ch", "Microsoft Teams Audio"]
2024-01-17 18:31:08.118391 DEBUG [src/coreaudiodevice.rs:218] Set phys playback stream format
2024-01-17 18:31:08.118872 DEBUG [src/coreaudiodevice.rs:244] Opened CoreAudio playback device Some("Built-in Output")
2024-01-17 18:31:08.118944 DEBUG [src/coreaudiodevice.rs:469] Playback device ready and waiting
2024-01-17 18:31:08.118954 DEBUG [src/bin.rs:265] Playback thread ready to start
2024-01-17 18:31:08.120854 DEBUG [src/coreaudiodevice.rs:312] Set capture stream format
2024-01-17 18:31:08.121176 DEBUG [src/coreaudiodevice.rs:326] Opened CoreAudio capture device Some("Built-in Input")
2024-01-17 18:31:08.121598 DEBUG [src/coreaudiodevice.rs:1090] Capture device has 1 clock sources
zsh: segmentation fault  camilladsp ~/camilladsp/configs/toslink2.yml -p 1234 -v

3) V1.0.3

Code:
michaeldsimon@michaelmini2012 configs % camilladsp ~/camilladsp/configs/toslink1.yml -v
2024-01-17 23:35:22.643245 INFO [src/bin.rs:711] CamillaDSP version 1.0.3
2024-01-17 23:35:22.643316 INFO [src/bin.rs:712] Running on macos, x86_64
2024-01-17 23:35:22.643349 DEBUG [src/bin.rs:754] Read config file Some("/Users/michaeldsimon/camilladsp/configs/toslink1.yml")
2024-01-17 23:35:22.643832 DEBUG [src/bin.rs:773] Config is valid
2024-01-17 23:35:22.643850 DEBUG [src/bin.rs:857] Wait for config
2024-01-17 23:35:22.643862 DEBUG [src/bin.rs:890] Config ready
2024-01-17 23:35:22.643944 DEBUG [src/filters.rs:450] Build new pipeline
2024-01-17 23:35:22.643949 DEBUG [src/bin.rs:213] Using channels [true, true]
2024-01-17 23:35:22.643967 DEBUG [src/coreaudiodevice.rs:305] Using a playback channel capacity of 5 chunks.
2024-01-17 23:35:22.643988 DEBUG [src/processing.rs:19] build filters, waiting to start processing loop
2024-01-17 23:35:22.644050 DEBUG [src/coreaudiodevice.rs:583] Using a capture channel capacity of 33 buffers.
2024-01-17 23:35:22.684130 DEBUG [src/coreaudiodevice.rs:191] Opened CoreAudio playback device Built-in Output
2024-01-17 23:35:22.684232 DEBUG [src/coreaudiodevice.rs:422] Playback device ready and waiting
2024-01-17 23:35:22.684242 DEBUG [src/bin.rs:323] Playback thread ready to start
2024-01-17 23:35:22.684794 DEBUG [src/coreaudiodevice.rs:255] Set capture stream format
2024-01-17 23:35:22.685117 DEBUG [src/coreaudiodevice.rs:269] Opened CoreAudio capture device Built-in Input
2024-01-17 23:35:22.685465 DEBUG [src/coreaudiodevice.rs:685] Capture device ready and waiting
2024-01-17 23:35:22.685500 DEBUG [src/bin.rs:333] Capture thread ready to start
2024-01-17 23:35:22.685518 DEBUG [src/bin.rs:336] Both capture and playback ready, release barrier
2024-01-17 23:35:22.685554 DEBUG [src/bin.rs:338] Supervisor loop starts now!
2024-01-17 23:35:22.685560 DEBUG [src/coreaudiodevice.rs:424] Playback device starts now!
2024-01-17 23:35:22.685567 DEBUG [src/processing.rs:21] Processing loop starts now!
2024-01-17 23:35:22.685599 DEBUG [src/coreaudiodevice.rs:691] Capture device starts now!
2024-01-17 23:35:22.999792 WARN [src/coreaudiodevice.rs:377] Playback interrupted, no data available
2024-01-17 23:35:23.042456 INFO [src/coreaudiodevice.rs:366] Restarting playback after buffer underrun
2024-01-17 23:35:23.718607 DEBUG [src/coreaudiodevice.rs:817] Measured sample rate is 33698.611825002205 Hz
2024-01-17 23:35:23.718643 DEBUG [src/coreaudiodevice.rs:833] Rate watcher, measured sample rate is 33696.61212494405 Hz
2024-01-17 23:35:24.743163 DEBUG [src/coreaudiodevice.rs:817] Measured sample rate is 47974.47120970697 Hz
2024-01-17 23:35:24.743223 DEBUG [src/coreaudiodevice.rs:833] Rate watcher, measured sample rate is 47972.41824875826 Hz

Michael
 
It is a Mac mini 2012, running Catalina 10.15.7. It has built in TOSLINK input and output, which I am attempting to use as capture and playback devices. I tried using a hifime UR23 which is a cheap TOSLINK to USB device as a capture device on this machine and it works fine with V2.0.1.

I wonder if the issue has something to do with the dual nature of the TOSLINK input which can also act as an ADC. As a default Audio MIDI Settings will report the built in input as "Line In" but if a mini TOSLINK is inserted it will report as "Digital Input". However, V2.0.1 fails whether the source is reported as "Digital In" or "Line In".

Audio MIDI Settings - TOSLINK input
1705583000140.png


List Devices - TOSLINK Input
Code:
Available hosts:
  [CoreAudio]
CoreAudio
  Default Input Device:
    Ok("Built-in Input")
  Default Output Device:
    Ok("Built-in Output")
  Devices:


  Device: "Built-in Input"
  ============================================================

    Capture
    ------------------------------------------------------------
    Default input stream config:
      channels: 2, samplerate: 48000, format: FLOAT32LE
    All supported input stream configs:
      channels: 2, samplerate min: 32000 max: 32000, format: FLOAT32LE
      channels: 2, samplerate min: 44100 max: 44100, format: FLOAT32LE
      channels: 2, samplerate min: 48000 max: 48000, format: FLOAT32LE
      channels: 2, samplerate min: 96000 max: 96000, format: FLOAT32LE

    Playback
    ------------------------------------------------------------


  Device: "Built-in Output"
  ============================================================

    Capture
    ------------------------------------------------------------

    Playback
    ------------------------------------------------------------
    Default output stream config:
      channels: 2, samplerate: 48000, format: FLOAT32LE
    All supported output stream configs:
      channels: 2, samplerate min: 32000 max: 32000, format: FLOAT32LE
      channels: 2, samplerate min: 44100 max: 44100, format: FLOAT32LE
      channels: 2, samplerate min: 48000 max: 48000, format: FLOAT32LE
      channels: 2, samplerate min: 88200 max: 88200, format: FLOAT32LE
      channels: 2, samplerate min: 96000 max: 96000, format: FLOAT32LE


  Device: "HDMI"
  ============================================================

    Capture
    ------------------------------------------------------------

    Playback
    ------------------------------------------------------------
    Error: BackendSpecific { err: BackendSpecificError { description: "AudioUnit(InvalidPropertyValue)" } }


  Device: "UR23 USB SPDIF Rx"
  ============================================================

    Capture
    ------------------------------------------------------------
    Default input stream config:
      channels: 2, samplerate: 48000, format: FLOAT32LE
    All supported input stream configs:
      channels: 2, samplerate min: 32000 max: 32000, format: FLOAT32LE
      channels: 2, samplerate min: 44100 max: 44100, format: FLOAT32LE
      channels: 2, samplerate min: 48000 max: 48000, format: FLOAT32LE
      channels: 2, samplerate min: 88200 max: 88200, format: FLOAT32LE
      channels: 2, samplerate min: 96000 max: 96000, format: FLOAT32LE

    Playback
    ------------------------------------------------------------


  Device: "BlackHole 2ch"
  ============================================================

    Capture
    ------------------------------------------------------------
    Default input stream config:
      channels: 2, samplerate: 48000, format: FLOAT32LE
    All supported input stream configs:
      channels: 2, samplerate min: 8000 max: 8000, format: FLOAT32LE
      channels: 2, samplerate min: 16000 max: 16000, format: FLOAT32LE
      channels: 2, samplerate min: 44100 max: 44100, format: FLOAT32LE
      channels: 2, samplerate min: 48000 max: 48000, format: FLOAT32LE
      channels: 2, samplerate min: 88200 max: 88200, format: FLOAT32LE
      channels: 2, samplerate min: 96000 max: 96000, format: FLOAT32LE
      channels: 2, samplerate min: 176400 max: 176400, format: FLOAT32LE
      channels: 2, samplerate min: 192000 max: 192000, format: FLOAT32LE
      channels: 2, samplerate min: 352800 max: 352800, format: FLOAT32LE
      channels: 2, samplerate min: 384000 max: 384000, format: FLOAT32LE
      channels: 2, samplerate min: 705600 max: 705600, format: FLOAT32LE
      channels: 2, samplerate min: 768000 max: 768000, format: FLOAT32LE

    Playback
    ------------------------------------------------------------
    Default output stream config:
      channels: 2, samplerate: 48000, format: FLOAT32LE
    All supported output stream configs:
      channels: 2, samplerate min: 8000 max: 8000, format: FLOAT32LE
      channels: 2, samplerate min: 16000 max: 16000, format: FLOAT32LE
      channels: 2, samplerate min: 44100 max: 44100, format: FLOAT32LE
      channels: 2, samplerate min: 48000 max: 48000, format: FLOAT32LE
      channels: 2, samplerate min: 88200 max: 88200, format: FLOAT32LE
      channels: 2, samplerate min: 96000 max: 96000, format: FLOAT32LE
      channels: 2, samplerate min: 176400 max: 176400, format: FLOAT32LE
      channels: 2, samplerate min: 192000 max: 192000, format: FLOAT32LE
      channels: 2, samplerate min: 352800 max: 352800, format: FLOAT32LE
      channels: 2, samplerate min: 384000 max: 384000, format: FLOAT32LE
      channels: 2, samplerate min: 705600 max: 705600, format: FLOAT32LE
      channels: 2, samplerate min: 768000 max: 768000, format: FLOAT32LE


  Device: "Microsoft Teams Audio"
  ============================================================

    Capture
    ------------------------------------------------------------
    Default input stream config:
      channels: 2, samplerate: 48000, format: FLOAT32LE
    All supported input stream configs:
      channels: 2, samplerate min: 48000 max: 48000, format: FLOAT32LE

    Playback
    ------------------------------------------------------------
    Default output stream config:
      channels: 2, samplerate: 48000, format: FLOAT32LE
    All supported output stream configs:
      channels: 2, samplerate min: 48000 max: 48000, format: FLOAT32LE

Audio MIDI Settings - Line In
1705583206453.png


List Devices - Line In
Code:
Available hosts:
  [CoreAudio]
CoreAudio
  Default Input Device:
    Ok("BlackHole 2ch")
  Default Output Device:
    Ok("Built-in Output")
  Devices:


  Device: "Built-in Input"
  ============================================================

    Capture
    ------------------------------------------------------------
    Default input stream config:
      channels: 2, samplerate: 48000, format: FLOAT32LE
    All supported input stream configs:
      channels: 2, samplerate min: 32000 max: 32000, format: FLOAT32LE
      channels: 2, samplerate min: 44100 max: 44100, format: FLOAT32LE
      channels: 2, samplerate min: 48000 max: 48000, format: FLOAT32LE
      channels: 2, samplerate min: 88200 max: 88200, format: FLOAT32LE
      channels: 2, samplerate min: 96000 max: 96000, format: FLOAT32LE

    Playback
    ------------------------------------------------------------


  Device: "Built-in Output"
  ============================================================

    Capture
    ------------------------------------------------------------

    Playback
    ------------------------------------------------------------
    Default output stream config:
      channels: 2, samplerate: 48000, format: FLOAT32LE
    All supported output stream configs:
      channels: 2, samplerate min: 32000 max: 32000, format: FLOAT32LE
      channels: 2, samplerate min: 44100 max: 44100, format: FLOAT32LE
      channels: 2, samplerate min: 48000 max: 48000, format: FLOAT32LE
      channels: 2, samplerate min: 88200 max: 88200, format: FLOAT32LE
      channels: 2, samplerate min: 96000 max: 96000, format: FLOAT32LE


  Device: "HDMI"
  ============================================================

    Capture
    ------------------------------------------------------------

    Playback
    ------------------------------------------------------------
    Error: BackendSpecific { err: BackendSpecificError { description: "AudioUnit(InvalidPropertyValue)" } }


  Device: "UR23 USB SPDIF Rx"
  ============================================================

    Capture
    ------------------------------------------------------------
    Default input stream config:
      channels: 2, samplerate: 48000, format: FLOAT32LE
    All supported input stream configs:
      channels: 2, samplerate min: 32000 max: 32000, format: FLOAT32LE
      channels: 2, samplerate min: 44100 max: 44100, format: FLOAT32LE
      channels: 2, samplerate min: 48000 max: 48000, format: FLOAT32LE
      channels: 2, samplerate min: 88200 max: 88200, format: FLOAT32LE
      channels: 2, samplerate min: 96000 max: 96000, format: FLOAT32LE

    Playback
    ------------------------------------------------------------


  Device: "BlackHole 2ch"
  ============================================================

    Capture
    ------------------------------------------------------------
    Default input stream config:
      channels: 2, samplerate: 48000, format: FLOAT32LE
    All supported input stream configs:
      channels: 2, samplerate min: 8000 max: 8000, format: FLOAT32LE
      channels: 2, samplerate min: 16000 max: 16000, format: FLOAT32LE
      channels: 2, samplerate min: 44100 max: 44100, format: FLOAT32LE
      channels: 2, samplerate min: 48000 max: 48000, format: FLOAT32LE
      channels: 2, samplerate min: 88200 max: 88200, format: FLOAT32LE
      channels: 2, samplerate min: 96000 max: 96000, format: FLOAT32LE
      channels: 2, samplerate min: 176400 max: 176400, format: FLOAT32LE
      channels: 2, samplerate min: 192000 max: 192000, format: FLOAT32LE
      channels: 2, samplerate min: 352800 max: 352800, format: FLOAT32LE
      channels: 2, samplerate min: 384000 max: 384000, format: FLOAT32LE
      channels: 2, samplerate min: 705600 max: 705600, format: FLOAT32LE
      channels: 2, samplerate min: 768000 max: 768000, format: FLOAT32LE

    Playback
    ------------------------------------------------------------
    Default output stream config:
      channels: 2, samplerate: 48000, format: FLOAT32LE
    All supported output stream configs:
      channels: 2, samplerate min: 8000 max: 8000, format: FLOAT32LE
      channels: 2, samplerate min: 16000 max: 16000, format: FLOAT32LE
      channels: 2, samplerate min: 44100 max: 44100, format: FLOAT32LE
      channels: 2, samplerate min: 48000 max: 48000, format: FLOAT32LE
      channels: 2, samplerate min: 88200 max: 88200, format: FLOAT32LE
      channels: 2, samplerate min: 96000 max: 96000, format: FLOAT32LE
      channels: 2, samplerate min: 176400 max: 176400, format: FLOAT32LE
      channels: 2, samplerate min: 192000 max: 192000, format: FLOAT32LE
      channels: 2, samplerate min: 352800 max: 352800, format: FLOAT32LE
      channels: 2, samplerate min: 384000 max: 384000, format: FLOAT32LE
      channels: 2, samplerate min: 705600 max: 705600, format: FLOAT32LE
      channels: 2, samplerate min: 768000 max: 768000, format: FLOAT32LE


  Device: "Microsoft Teams Audio"
  ============================================================

    Capture
    ------------------------------------------------------------
    Default input stream config:
      channels: 2, samplerate: 48000, format: FLOAT32LE
    All supported input stream configs:
      channels: 2, samplerate min: 48000 max: 48000, format: FLOAT32LE

    Playback
    ------------------------------------------------------------
    Default output stream config:
      channels: 2, samplerate: 48000, format: FLOAT32LE
    All supported output stream configs:
      channels: 2, samplerate min: 48000 max: 48000, format: FLOAT32LE

Michael
 
I just checked on my MacBook pro from 2012. It runs the same system but it doesn't have the same built-in audio device. I can't get it to misbehave with any of the devices I have available.
Looking at the camilladsp code, I am quite sure that the crash happens when it tries read the names of the available clock sources. There is probably something different about the Mac mini here, but no idea what.
An easy fix could be to simply skip that if there is only one source available. There isn't much point in doing it since it won't be possible to switch anyway.
 
  • Like
Reactions: 1 user