Pulseaudio Crossover Rack - multi-way crossover design & implementation with linux

Happy New Year !!! :)

Trying this on a stock Raspbian install on Raspberry Pi 3B....

As per your call for comments....
Perhaps the emulator you used has a different resolution...?

On the Pi everything installs without errors...:)... and when started asks for the usual pulsectl and zodb and installs those without error...:)

However, when starting, this error appears...

Code:
pi@raspberrypi:~ $ pulseaudio-crossover-rack
libEGL warning: DRI2: failed to authenticate
qt5ct: using qt5ct plugin
libpng warning: iCCP: known incorrect sRGB profile
qt5ct: D-Bus global menu: no
Traceback (most recent call last):
  File "/usr/lib/pulseaudio-crossover-rack/pulseaudio-crossover-rack.py", line 28, in <module>
    main()
  File "/usr/lib/pulseaudio-crossover-rack/pulseaudio-crossover-rack.py", line 21, in main
    form = MainWindow()
  File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 79, in __init__
    self._mplCanvas = FigureCanvas(self._mplFigure)
  File "/usr/lib/python3/dist-packages/matplotlib/backends/backend_qt4agg.py", line 76, in __init__
    FigureCanvasQT.__init__(self, figure)
  File "/usr/lib/python3/dist-packages/matplotlib/backends/backend_qt4.py", line 66, in __init__
    QtWidgets.QWidget.__init__(self)
TypeError: __init__() missing 1 required positional argument: 'figure'
pi@raspberrypi:~ $

This happens on both a connected HDMI screen and a vnc session..
IIRC this is the same error thrown when trying to start PACR in an 'other-than-fullscreen' window on a pc install...

running as su gives the same error...
 
Last edited:
Trying this on a stock Raspbian install on Raspberry Pi 3B....
Code:
pi@raspberrypi:~ $ pulseaudio-crossover-rack
Traceback (most recent call last):
  File "/usr/lib/pulseaudio-crossover-rack/pulseaudio-crossover-rack.py", line 28, in <module>
    main()
  File "/usr/lib/pulseaudio-crossover-rack/pulseaudio-crossover-rack.py", line 21, in main
    form = MainWindow()
  File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 79, in __init__
    self._mplCanvas = FigureCanvas(self._mplFigure)
  File "/usr/lib/python3/dist-packages/matplotlib/backends/backend_qt4agg.py", line 76, in __init__
    FigureCanvasQT.__init__(self, figure)
  File "/usr/lib/python3/dist-packages/matplotlib/backends/backend_qt4.py", line 66, in __init__
    QtWidgets.QWidget.__init__(self)
TypeError: __init__() missing 1 required positional argument: 'figure'
pi@raspberrypi:~ $

This happens on both a connected HDMI screen and a vnc session..
IIRC this is the same error thrown when trying to start PACR in an 'other-than-fullscreen' window on a pc install...

running as su gives the same error...

Happy new year! :)

This is kind of strange, the offending line was:
Code:
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
which of course should have read qt5agg after porting everything from QT4 to QT5 months ago. Why this has worked so far I have no clue to be honest. Anyways, I just released bugfixed 1.10 and it should work now. What do you mean by "other-than-fullscreen window"? PaXoverRack has a minimum size for the window but should work on any resolution. Minimum usable res is 800x600 though as otherwise the main window will be bigger than the desktop.

In the background I'm working on reading/working with FRD files. As I don't like REW (room eq wizard) for it's usage of plain ALSA maybe PaXoverRack will even get functionality for measuring frequency/phase-response and waterfall diagrams. who knows... Anybody wants to sponsor a usb measurement microphone? ;););)
 
Hi,


I've been following this thread with great interest, and today I tried it for myself on a Raspberry Pi 3B with stock Raspbian, and the latest update of the Crossover Rack.


It starts perfectly fine, I can add input, filters, etc, but whenever I try to add an output, the software crashes (and it doesn't matter which soundcard is set as default; I have the onboard sound and an Asus Xonar U7) with the following error message:


Code:
pi@raspberrypi:~ $ pulseaudio-crossover-rack
 libEGL warning: DRI2: failed to authenticate
 qt5ct: using qt5ct plugin
 libpng warning: iCCP: known incorrect sRGB profile
 qt5ct: D-Bus global menu: no
 inotify_add_watch("/home/pi/.config/qt5ct") failed: "No such file or directory"
 /bin/sh: 1: pacmd: not found
 Traceback (most recent call last):
   File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 217, in onAddFilter
     dlg = EditOutputDialog(self, new, newlyCreated=True)
   File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/EditOutputDialog.py", line 32, in __init__
     self.onOutputSinkChanged()
   File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/EditOutputDialog.py", line 87, in onOutputSinkChanged
     self.listWidgetOutputChannels.item(idx).setSelected(True)
 AttributeError: 'NoneType' object has no attribute 'setSelected'
 Aborted
 pi@raspberrypi:~ $
I hope this helps.... I am no programmer, so unfortunately I can't contribute anything meaningful, but I am really looking forward to this fine piece of software!


Best regards,


hallodeletue


 
Code:
pi@raspberrypi:~ $ pulseaudio-crossover-rack
 /bin/sh: 1: pacmd: not found
 Traceback (most recent call last):
   File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 217, in onAddFilter
     dlg = EditOutputDialog(self, new, newlyCreated=True)
   File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/EditOutputDialog.py", line 32, in __init__
     self.onOutputSinkChanged()
   File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/EditOutputDialog.py", line 87, in onOutputSinkChanged
     self.listWidgetOutputChannels.item(idx).setSelected(True)
 AttributeError: 'NoneType' object has no attribute 'setSelected'
 Aborted
 pi@raspberrypi:~ $

I hope this helps.... I am no programmer, so unfortunately I can't contribute anything meaningful, but I am really looking forward to this fine piece of software!

Hi there and thanks for the bug report. PaXoverRack needs pactl, a pulseaduio command line control utility. It was not in the dependencies of the package, so I added it and released version 1.11. I suspect that this fixes your issue. Please be so kind and report back if it works now.
 
Hi Tfive,


thanks alot for your quick reply.


That fixed it! I can add outputs now!



Unfortunately, Raspbian does not support 8 channel PCM over USB out of the box, so at the moment I can't continue testing with the Raspberry Pi. I shall have a look, maybe I can borrow a 5.1 channel USB audio card....


Best regards,


hallodeletue
 
Great work
What i really would like to see is the inclusion of 2nd order filter with variable Q. Not just LR and Butterworth. I find low Q 2nd order filters very valuable in real life applications of digital X-overs. With the capability to import frequency response an a variable Q IIR filter makes it very easy to hit the acustical target of say LR 12 db/oct or whatever the design goal is on the acoustical side
 
Will put that on the to do list. If you're not in a particular hurry this will likely be released in the next feature release together with frd support. expect something between one and three weeks as I'm quite busy at the moment searching for a new job, interviews and stuff... :)
 
Jack-Rack and Jack Audio Connection Kit

Any chance of a paragraphic plugin ? I'm using a Pi 2 as an eq and lowpass for my infinite baffle sub, and eq the lower octaves. I currently use Jack-Rack JACK Rack JACK (JACK Audio Connection Kit) and related tools

I use the Triple Band Parametric with Shelves to eq my twin 15" subs. I use vnc to talk to the PI

Great project, will be tying it at the weekend.
 
Here's a screenshot of the upcoming support for FRD files. Does this make any sense to anybody? :cool:
 

Attachments

  • screenshot 2019-01-09 15-08-19.png
    screenshot 2019-01-09 15-08-19.png
    322.7 KB · Views: 367
Can't install on Elementary OS

:~$ sudo apt-get install pulseaudio-crossover-rack
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package pulseaudio-crossover-rack

Any help, please?

Fixed, had to put sudo in front of wget sudo wget https://t-5.eu/debian/pubkey.txt -O - | sudo apt-key add -
sudo bash -c "echo deb Index of /debian repo main > /etc/apt/sources.list.d/t-5.eu.list"
sudo apt-get update
 
Last edited:
WTF, what kind of sub are you using? I want to see photos :) :)

Will change all lower bounds for frequencies to 2Hz in the next release which is to be expected as soon as i get some feedback to the FRD Dialog i posted here.

If you want to hack it you can look for "def parameterMappings" in the python files in /usr/lib/pulseaudio-crossover-rack/DataClasses and modify upper/lower bounds for the parameters...

of course if you want to go "bleeding edge" you could always checkout the git version from gitlab.
 
Last edited:
Like I said in a previous post, 2 x15" Infinite Baffle

Driven off 450 wrms 4 ohm, (I'm at 8ohm). Will show photo of front and amp. Looking for the rear of the speaker. Might have to take another when I get home. 😆 Thank you
 

Attachments

  • 20181011_190856.jpg
    20181011_190856.jpg
    850.2 KB · Views: 377
  • Screenshot_2019-01-09-19-04-13.jpg
    Screenshot_2019-01-09-19-04-13.jpg
    315.7 KB · Views: 360