Crossover DSP on PC

Hi all

I have been running a three way Minidsp crossover, which until know was satisfying, but I just upgraded my converter to Lynx Aurora, and now MiniDsp seems 2D and extremely boring!

So i'm looking for a way do turn my computer into a DSP system, I have spendt a lot of time without finding anything useful, can you guide me towards some PC powered DSP crossover filters?

Best regards
Johan
 
I second Bodzio Software's Ultimate Equalizer (UE). It can provide a true, linear phase response. I'm still using the v5 version from years ago in a modest quad-core CPU. I'm also using v10 for some design testing on my newer Win10 pc. I managed to get it to work (minimally) with my very old Delta 410 sound card. I use the Delta 1010 on my primary PC.

Some who have used the miniDSP and the UE have reported that the UE has better perceived performance, though I can't comment on any details nor vouch for it. It may depend on the quality of the sound card or built-in motherboard performance. The UE developer has run tests on the newer motherboard audio and believes that it may be fully adequate (S/N), depending on the board and audio codec built in.

The UE is very flexible and easy to use, has built-in test capability (pretty much required usage with the new version, for proper performance). The new version has internal changes requiring a different measurement output format than is typical (linear vs. log sample points).

I have used it for my primary system for years and am now re-working old systems that had passive crossovers. The UE can be made the equal to or better than the passive, the latter due to being able to create crossovers (48db/oct) that are unrealistic for passives, provide perfectly flat response if desired and extend the low end with an equivalent to a Linkwitz Transform. No audio degradation that I can detect vs. an equivalent to a pure passive. All of this can be tweaked at any time in minutes, so "dialing in" a response is quick and easy as well.

Dave
 
Dear Charlie, yes you are "playing" in the Profileague. When I firstly was searching for a solution of my x-over Problem I found your page. Interesting for me, as only to be an USER, is that I can use the CALF and CADENCE/CLAUDIA GUIS. For me that makes things easier. Thanks and Happy Christmas Heinz Guenter
 

Attachments

  • Routings.JPG
    Routings.JPG
    138.8 KB · Views: 665
  • Calf.JPG
    Calf.JPG
    149.8 KB · Views: 839
I found this thread a couple of days ago - Loafmeat's post made me wonder if I could put something together that could be used in a headless fashion, so here's what I did:

  1. Found an old computer and install Ubuntu Server 20.04 on it
  2. Install the packages required (Ubuntu Server is very barebones in the audio department 🙂 ):
    Code:
    $ sudo apt install alsa-utils alsa-base jackd2 calf-plugins jalv jackmeter lilv-utils
  3. Modify the details for the sound device, so that all outputs could be used:
    Code:
    $ sudo bash -c 'echo options snd-hda-intel model=6stack-dig >> /etc/modprobe.d/alsa-sound.conf'
    $ sudo alsa force-reload
  4. Create a couple of scripts to set up a tmux session that starts jackd, jalv with the XOver 3 Band plugin, connects the inputs and outputs, and then sets up a simple meter for visual feedback

    Script 1 (to make the connections, called by the main script):

    Code:
    #!/bin/bash
    echo "Connecting inputs to crossover..."
    
    jack_connect system:capture_1 'Calf X-Over 3 Band:in_l'
    jack_connect system:capture_2 'Calf X-Over 3 Band:in_r'
    
    echo "Connecting crossover outputs to system outputs..."
    
    jack_connect 'Calf X-Over 3 Band:out_l' system:playback_1
    jack_connect 'Calf X-Over 3 Band:out_r' system:playback_2
    jack_connect 'Calf X-Over 3 Band:out_l_2' system:playback_3
    jack_connect 'Calf X-Over 3 Band:out_r_2' system:playback_4
    jack_connect 'Calf X-Over 3 Band:out_l_3' system:playback_5
    jack_connect 'Calf X-Over 3 Band:out_r_3' system:playback_6

    Script 2 (to start the metering, called by the main script):

    Code:
    #!/bin/bash
    
    jack_meter 'Calf X-Over 3 Band:out_l' \
    'Calf X-Over 3 Band:out_r' \
    'Calf X-Over 3 Band:out_l_2' \
    'Calf X-Over 3 Band:out_r_2' \
    'Calf X-Over 3 Band:out_l_3' \
    'Calf X-Over 3 Band:out_r_3'

    Finally, script 3 to bring everything together into a tmux session with each process running in its own pane:

    Code:
    #!/bin/bash
    
    # Start tmux session
    
    tmux new-session -d 'dsp'
    
    # Start JACK
    
    tmux split-window -v 'jackd -S -R -d alsa -p128'
    tmux resize-pane -U 20
    
    sleep 5
    
    # Start JALV
    
    sleep 5
    
    tmux split-window -v 'jalv [url]http://calf.sourceforge.net/plugins/XOver3Band[/url]'
    tmux resize-pane -U 10
    
    # Connect ports
    
    sleep 5
    
    tmux split-window -h '~/make-jack-connections.sh'
    
    # Start metering
    
    sleep 5
    
    tmux split-window -v '~/start-metering.sh'

Note: I didn't know how to get the plugin URI that jalv requires to pick the right plugin. After a bit of poking around, I found that this was contained within the .ttl files. By running the following:
Code:
cat /usr/lib/lv2/calf.lv2/XOver3Band.ttl
I found the plugin URI at the very top of the file (the first @prefix entry).

I hope people find this of use! This means I only need a SSH session to check on things, and make adjustments (I was banging my head against a brick wall with VNC and DISPLAY :0, and finally gave up).

This would be pretty easy to set up as a systemd service, which I might do in the future - for now I'll need to log in, start tmux and then run the main script every time the server's booted.

If people have suggestions on how to improve the above, and possibly make it look nicer (to each their own 😉 ), please share your thoughts!
 

Attachments

  • pc-dsp.gif
    pc-dsp.gif
    54.4 KB · Views: 227
Last edited:
Dear Charlie, yes you are "playing" in the Profileague. When I firstly was searching for a solution of my x-over Problem I found your page. Interesting for me, as only to be an USER, is that I can use the CALF and CADENCE/CLAUDIA GUIS. For me that makes things easier. Thanks and Happy Christmas Heinz Guenter
@Loafmeat your post looks very interesting - could you please let me know what software is that on my screenshot and in brief what is your workflow?
1642337646793.png
 
Some discussion recently in the VituixCAD thread, yes you can design any filter in VituixCAD and export the Impulse response to APO EQ to be processed through convolution. By doing so, any old windows PC can be purposed as a DSP using VituixCAD as the design tool, all that is required is a multichannel sound card, or video card capable of audio over HDMI you can use in conjunction with a HT receiver I would expect.

I wrote a fairly straight forward step by step process here:
https://www.diyaudio.com/community/threads/vituixcad.307910/post-6910988