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

A minor bump on the road. When I activated Pulsaudio to get CamillaDSP to work did the analog input (or any USB input) disappear. I suddenly become blind folded when it comes to measurements with REW.

Is there a work around for this? I guess I have to do something with the config for ALSA or Pulsaudion, where do I begin?
 
A minor bump on the road. When I activated Pulsaudio to get CamillaDSP to work did the analog input (or any USB input) disappear. I suddenly become blind folded when it comes to measurements with REW.

Is there a work around for this? I guess I have to do something with the config for ALSA or Pulsaudion, where do I begin?
I had a test setup intended for use as an input for REW tho I didn't actually get around to trying with REW but it did work with regular music signal.
When you say "disappear" are you unable to see the input device when you do "arecord -l" command to display all input devices that ALSA can see?
 
A minor bump on the road. When I activated Pulsaudio to get CamillaDSP to work did the analog input (or any USB input) disappear. I suddenly become blind folded when it comes to measurements with REW.

Is there a work around for this? I guess I have to do something with the config for ALSA or Pulsaudion, where do I begin?
Did you follow the instructions in the camilladsp-config repo? Then all devices except the loopback are disabled, to avoid the risk of problems if camilladsp and pulse audio fight over the soundcard.
Try removing the # to enable this line again in the pulse config file.
Code:
#load-module module-udev-detect
https://github.com/HEnquist/camilladsp-config/blob/master/default.pa#L50
 
I played around with pulseaudio and camilladsp quite a bit now and my recommendation as of today is not to disable module-udev-detect but to set a specific soundcard in pulseaudio to either "off" or any input-only profile.

profiles can be listed with "pactl list cards":
Code:
...
Card #2
        Name: alsa_card.usb-Generic_Sound_Blaster_Play__4_WWSB1860104008306P-00
        Driver: module-alsa-card.c
        Owner Module: 8
        Properties:
                alsa.card = "4"
...
                device.icon_name = "audio-card-usb"
        Profiles:
                input:analog-stereo: Analog Stereo-Eingabe (sinks: 0, sources: 1, priority: 65, available: yes)
                input:iec958-stereo: Digital Stereo (IEC958)-Eingabe (sinks: 0, sources: 1, priority: 55, available: yes)
                output:analog-stereo: Analog Stereo-Ausgabe (sinks: 1, sources: 0, priority: 6500, available: yes)
                output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6565, available: yes)
                output:analog-stereo+input:iec958-stereo: Analog Stereo-Ausgabe + Digital Stereo (IEC958)-Eingabe (sinks: 1, sources: 1, priority: 6555, available: yes)
                output:iec958-stereo: Digital Stereo (IEC958)-Ausgabe (sinks: 1, sources: 0, priority: 5500, available: yes)
                output:iec958-stereo+input:analog-stereo: Digital Stereo (IEC958)-Ausgabe + Analog Stereo-Eingabe (sinks: 1, sources: 1, priority: 5565, available: yes)
                output:iec958-stereo+input:iec958-stereo: Digital Stereo Duplex (IEC958) (sinks: 1, sources: 1, priority: 5555, available: yes)
                off: Aus (sinks: 0, sources: 0, priority: 0, available: yes)
        Active Profile: input:analog-stereo
        Ports:
                analog-input-mic: Mikrofon (priority: 8700, latency offset: 0 usec, available)
...
                        Part of profile(s): output:iec958-stereo, output:iec958-stereo+input:analog-stereo, output:iec958-stereo+input:iec958-stereo
...

In this example the profiles "off", "input:analog-stereo" and "input:iec958-stereo" would be suitable to make this card free for playback useage with camilladsp. Example command line to do that:

Code:
pactl set-card-profile alsa_card.usb-Generic_Sound_Blaster_Play__4_WWSB1860104008306P-00 input:analog-stereo

EDIT: I have a startup script for camilladsp that does all that, if there's interest I can post it here or somewhere else...

EDIT 2: the string "set-card-profile alsa_card.usb-Generic_Sound_Blaster_Play__4_WWSB1860104008306P-00 input:analog-stereo" can also be appended to the global (/etc/pulse/default.pa) or user's ($HOME/.config/pulse/default.pa) pulseaudio default config file to make this change persistent. It might also be desireable to wrap these statements with ".nofail" and ".fail" lines to make sure this line does not prevent pulseaudio from starting when that specific soundcard is not connected (for example if you're not using your home usb soundcard when on the road with a laptop).
 
Last edited:
I am seeing this error on extensive testing..
Also attached my config
 

Attachments

  • Screen Shot 2022-06-11 at 5.30.17 PM.png
    Screen Shot 2022-06-11 at 5.30.17 PM.png
    29.1 KB · Views: 87
  • Screen Shot 2022-06-11 at 5.31.30 PM.png
    Screen Shot 2022-06-11 at 5.31.30 PM.png
    41.4 KB · Views: 81
You have a small mismatch between the capture and playback sample clocks. Since they are independent they will never be exactly the same. Try enabling resampling and rate adjust.

I'm working on adding a pitch control to Blackhole. Once that is done you won't need the resampling any more. Just need more free time..
 
  • Like
Reactions: 1 user
There was a bug in the plotting library that made the gui plot the wrong result for fir filters if the impulse length wasn't a power of 2.
While fixing that I also worked on making the plotting a bit more user friendly.
Please update the gui to 1.0.0-rc5 from here:
https://github.com/HEnquist/camillagui-backend/releases/tag/v1.0.0-rc5
And pycamilladsp-plot to 1.0.1 from here:
https://github.com/HEnquist/pycamilladsp-plot/releases/tag/v1.0.1
I have installed this...running it continuously...will report any issues
 
I’ve been using a RME 32 channel DAC to drive an active loudspeaker project with CamillaDSP. All good, running FIR for XO etc.

I was wondering if 4 x Xonar AE PCIe cards would present cohesively (ie synced on playback across all channels) if these cards were on a computer running CamillaDSP?

I’m just not sure whether PCIe aligns timing etc.

Thoughts?
 
You have a small mismatch between the capture and playback sample clocks. Since they are independent they will never be exactly the same. Try enabling resampling and rate adjust.

I'm working on adding a pitch control to Blackhole. Once that is done you won't need the resampling any more. Just need more free time..
I enabled rate adjust. Changed target level to 4096.
Chunksize to 4096 with queue limit 8..
So far no errors for 24 hours +
constantly running audio through pipeline
 
  • Like
Reactions: 1 user