• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Suggestions sought - using PC or Mac as a crossover with some added complexities

andreasmaaan

Master Contributor
Forum Donor
Joined
Jun 19, 2018
Messages
6,652
Likes
9,399
Hi all,

I have a bunch of drivers and amplifier modules lying about that I've been meaning to turn into a pair of speakers for the living room. I had originally planned to buy a digital signal processor + 6 or 8 channel DAC (e.g. MiniDSP MiniSharc + 8 channel DAC) of some kind, but I'm now thinking through the software options. However, I'm not entirely sure where to start.

What I basically want to do is to build a pair of 3-way active floorstanders for listening to music. This would require a more "conventional" solution, i.e. a software crossover feeding 6 channels (2 x 3 channels) of a USB DAC. This would simply require software that acts globally on the output from the PC/Mac to run the output through: volume control --> dynamic EQ --> crossover (FIR-based) --> DAC outputs --> amps --> speaker drivers.

However, I also have a number of small "full-range" drivers which (it occurred to me) I could use as surrounds for occasional movies or Netflix streamed from the laptop.

I understand that I can use something like Equaliser APO or BruteFIR to create a crossover for the mains, and possibly to implement other DSP functions like equal loudness correction using dynamic EQ, tone controls, etc. But I'm not sure exactly what the best way to implement this would be (the system has to function effortlessly once set up as it will be used by both me and my girlfriend, who is not up for learning how to operate the unwieldy beast that I know would result if I tackled this project with my current level of expertise).

So I have the following questions:
  1. Are there better alternatives than Equalizer APO or BruteFIR that do this kind of thing? (Mac, PC or Linux - all are possible in this case - and I'd be happy to pay for something that works really well and is simple for the end-user to operate)
  2. Would it be possible to configure the system so that a stereo input is sent (via crossover) to the mains using 6 channels of a USB DAC, but also so that surround/multich content is downmixed to 4 channels with the remaining 2 USB DAC channels feeding the "full-range" surrounds?
  3. Would it be feasible to add an IR remote into the chain so that volume (and possibly tone controls) can be implemented in software prior to dynamic EQ/downmix/crossover?
Many thanks for any ideas :)

Andreas

EDIT: or if anyone has any left-field suggestions as to how I might manage this?
 
Last edited:

Soniclife

Major Contributor
Forum Donor
Joined
Apr 13, 2017
Messages
4,499
Likes
5,417
Location
UK
Jriver? It can handle A and V, should be able to down mix to 2 or 4 as needed, and also expand the 2 to 6 with crossover. Or so I believe, but I've never used it.
 
OP
andreasmaaan

andreasmaaan

Master Contributor
Forum Donor
Joined
Jun 19, 2018
Messages
6,652
Likes
9,399
Jriver? It can handle A and V, should be able to down mix to 2 or 4 as needed, and also expand the 2 to 6 with crossover. Or so I believe, but I've never used it.

Thanks :) Is it possible though to route all my audio through JRiver (Spotify, Netflix, etc.)? I understood it to be just a media player.
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
Hi all,

I have a bunch of drivers and amplifier modules lying about that I've been meaning to turn into a pair of speakers for the living room. I had originally planned to buy a digital signal processor + 6 or 8 channel DAC (e.g. MiniDSP MiniSharc + 8 channel DAC) of some kind, but I'm now thinking through the software options. However, I'm not entirely sure where to start.

What I basically want to do is to build a pair of 3-way active floorstanders for listening to music. This would require a more "conventional" solution, i.e. a software crossover feeding 6 channels (2 x 3 channels) of a USB DAC. This would simply require software that acts globally on the output from the PC/Mac to run the output through: volume control --> dynamic EQ --> crossover (FIR-based) --> DAC outputs --> amps --> speaker drivers.

However, I also have a number of small "full-range" drivers which (it occurred to me) I could use as surrounds for occasional movies or Netflix streamed from the laptop.

I understand that I can use something like Equaliser APO or BruteFIR to create a crossover for the mains, and possibly to implement other DSP functions like equal loudness correction using dynamic EQ, tone controls, etc. But I'm not sure exactly what the best way to implement this would be (the system has to function effortlessly once set up as it will be used by both me and my girlfriend, who is not up for learning how to operate the unwieldy beast that I know would result if I tackled this project with my current level of expertise).

So I have the following questions:
  1. Are there better alternatives than Equalizer APO or BruteFIR that do this kind of thing? (Mac, PC or Linux - all are possible in this case - and I'd be happy to pay for something that works really well and is simple for the end-user to operate)
  2. Would it be possible to configure the system so that a stereo input is sent (via crossover) to the mains using 6 channels of a USB DAC, but also so that surround/multich content is downmixed to 4 channels with the remaining 2 USB DAC channels feeding the "full-range" surrounds?
  3. Would it be feasible to add an IR remote into the chain so that volume (and possibly tone controls) can be implemented in software prior to dynamic EQ/downmix/crossover?
Many thanks for any ideas :)

Andreas

EDIT: or if anyone has any left-field suggestions as to how I might manage this?

Well, Volumio has all these function you need except the one from 2.

Once you install BruteFIR plugin on a PC running Volumio it works unattended. You use power button on the PC to start it and to shut it down. Once you install the software PC that runs Volumio doesn't need to have monitor and keyboard. Any additional settings are done via web interface from any PC/phone on your network.

I'm using my Android phone to control volume either via Volumio app or via BubbleUPnP app which I use to play music from my NAS.

Current version of BruteFIR plugin for Volumio supports 8 filter slots (4 slots per channel), so you can have 3-way crossover and room EQ filter.
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
There is a Spotify plugin for Volumio.

What do you mean when you say Netflix? If you want to play audio from TV set-top box I don't think that is possible with Volumio.
 
OP
andreasmaaan

andreasmaaan

Master Contributor
Forum Donor
Joined
Jun 19, 2018
Messages
6,652
Likes
9,399
Well, Volumio has all these function you need except the one from 2.

Once you install BruteFIR plugin on a PC running Volumio it works unattended. You use power button on the PC to start it and to shut it down. Once you install the software PC that runs Volumio doesn't need to have monitor and keyboard. Any additional settings are done via web interface from any PC/phone on your network.

I'm using my Android phone to control volume either via Volumio app or via BubbleUPnP app which I use to play music from my NAS.

Current version of BruteFIR plugin for Volumio supports 8 filter slots (4 slots per channel), so you can have 3-way crossover and room EQ filter.

Thanks @Krunok :) I might email you for some specific help when I get further into this...

Re: the volume control, at what stage is this implemented. I'd hoped to place it before system-wide dynamic EQ to take care of equal loudness compensation. Would it be possible do you think?

What do you mean when you say Netflix?

Ah sorry, wasn't clear. I just meant through Firefox on the PC/Mac.
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
Re: the volume control, at what stage is this implemented. I'd hoped to place it before system-wide dynamic EQ to take care of equal loudness compensation. Would it be possible do you think?

I have to check with developer if volume control happens before or after brutefir processing. What exactly is dynamic EQ?

Ah sorry, wasn't clear. I just meant through Firefox on the PC/Mac.

I don't think you can do that with Volumio. If you plan to use room EQ you would anyhow have problem with lipsync as I don't think you can delay video in Firefox.
 
OP
andreasmaaan

andreasmaaan

Master Contributor
Forum Donor
Joined
Jun 19, 2018
Messages
6,652
Likes
9,399
I have to check with developer if volume control happens before or after brutefir processing. What exactly is dynamic EQ?

In short, it's EQ that is only activated when the input drops below (or above) a certain threshold level. In this case, it would be used to boost low frequencies when the volume dropped below a certain threshold, to compensate for the hearing system's nonlinearity (equal loudness curves).

I don't think you can do that with Volumio. If you plan to use room EQ you would anyhow have problem with lipsync as I don't think you can delay video in Firefox.

My plan was to either (a) keep the tap length short enough to limit latency to an acceptable level or (b) have a switchable configuration between min-phase and multi-phase settings.
 
OP
andreasmaaan

andreasmaaan

Master Contributor
Forum Donor
Joined
Jun 19, 2018
Messages
6,652
Likes
9,399
Hi, first post on ASR!
I personally avoid using a software solution for active crossovers. Their function is also to protect the drivers, especially the tweeter. What will happen when the amplifier is on, music playing, but the software crashes?

That's a fair point, but it's not an expensive bunch of drivers, and the main purpose is to try to implement a few things that I can't find a single hardware solution for.

Also, I've used Equalizer APO for a long time for headphone correction and have yet to experience a crash.

And welcome! :)
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
In short, it's EQ that is only activated when the input drops below (or above) a certain threshold level. In this case, it would be used to boost low frequencies when the volume dropped below a certain threshold, to compensate for the hearing system's nonlinearity (equal loudness curves).

Ahaa.. I would very much like to have that feature but I don't think BruteFIR supports such functionality. I will check it with developer.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,682
Likes
2,959
It's not too hard to set up BruteFIR manually with a similar setup to its use in Volumio. You have a virtual sound device that feeds into BruteFIR, and can be set as the default device so playback from most things should just work. You can do downmixing and channel mapping in the alsa config too, but it probably wants passing through brutefir to keep the channels in sync, even if it's just adding a delay to match the eq delay. I've not tried it with PulseAudio so I don't know whether that'll do anything odd, but you'll need that for Firefox now. As for lipsync, you may be able to get the delay low enough by adjusting the partitioning at the cost of cpu usage. Failing that some video players have a setting for adjusting the delay - vlc, kodi and mythfrontend for sure, possibly others. Kodi 18 has support for DRM via libwidevine, so things like the netflix plugin have become possible.

IR remote on linux is quite versatile - search for LIRC for details. In short it can handle a variety of infrared receivers, and map the buttons to different key presses or functions depending on the application that's running. Once you work out what to do you can probably find a way to do it.
 
OP
andreasmaaan

andreasmaaan

Master Contributor
Forum Donor
Joined
Jun 19, 2018
Messages
6,652
Likes
9,399
It's not too hard to set up BruteFIR manually with a similar setup to its use in Volumio. You have a virtual sound device that feeds into BruteFIR, and can be set as the default device so playback from most things should just work. You can do downmixing and channel mapping in the alsa config too, but it probably wants passing through brutefir to keep the channels in sync, even if it's just adding a delay to match the eq delay. I've not tried it with PulseAudio so I don't know whether that'll do anything odd, but you'll need that for Firefox now. As for lipsync, you may be able to get the delay low enough by adjusting the partitioning at the cost of cpu usage. Failing that some video players have a setting for adjusting the delay - vlc, kodi and mythfrontend for sure, possibly others. Kodi 18 has support for DRM via libwidevine, so things like the netflix plugin have become possible.

IR remote on linux is quite versatile - search for LIRC for details. In short it can handle a variety of infrared receivers, and map the buttons to different key presses or functions depending on the application that's running. Once you work out what to do you can probably find a way to do it.

Very helpful! Thanks.
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
In short, it's EQ that is only activated when the input drops below (or above) a certain threshold level. In this case, it would be used to boost low frequencies when the volume dropped below a certain threshold, to compensate for the hearing system's nonlinearity (equal loudness curves).

Good news - this can be done! Although volume processing is done after BruteFIR fillter processing BruteFIR plugin can still monitor volume change in real time and change filters accordingly. Filters are changed transparently without clicking noise or gap in the playout. If necessary number of volume steps where filters are changed can be programmed to be 5 or more so you can have different filters for higher volume levels to prevent woofer excursion.

Let me know if you are interested in taking this direction as I need to organise that a custom version is build for you to support these features.
 

617

Major Contributor
Forum Donor
Joined
Mar 18, 2019
Messages
2,403
Likes
5,296
Location
Somerville, MA
I used to have a minidsp based setup going to a 4 way speaker. I used a neutrik 8 pole connector for the speaker and some big ass 8 conductor wire. I would highly recommend thinking twice about this setup. The size of the wires, the number of interconnects going into however many amplifiers is just a lot of time and headaches. If something goes wrong with your PC you stand to mess up your filters and send a bunch of bass to your HF channel.

This is not a bad idea from a technical perspective but the practical complexity is considerable. Also, measuring speakers accurately and turning those measurements into a digital filter is not trivially easy, although it is easier than a passive network.

If I went active again I'd use hypex stereo dsp plate amps and use a passive network for the TM channel.
 
OP
andreasmaaan

andreasmaaan

Master Contributor
Forum Donor
Joined
Jun 19, 2018
Messages
6,652
Likes
9,399
Good news - this can be done! Although volume processing is done after BruteFIR fillter processing BruteFIR plugin can still monitor volume change in real time and change filters accordingly. Filters are changed transparently without clicking noise or gap in the playout. If necessary number of volume steps where filters are changed can be programmed to be 5 or more so you can have different filters for higher volume levels to prevent woofer excursion.

Let me know if you are interested in taking this direction as I need to organise that a custom version is build for you to support these features.

Oh awesome :)

I’m going to research and think through this a little more and eventually likely hit you up about this...
 
OP
andreasmaaan

andreasmaaan

Master Contributor
Forum Donor
Joined
Jun 19, 2018
Messages
6,652
Likes
9,399
I used to have a minidsp based setup going to a 4 way speaker. I used a neutrik 8 pole connector for the speaker and some big ass 8 conductor wire. I would highly recommend thinking twice about this setup. The size of the wires, the number of interconnects going into however many amplifiers is just a lot of time and headaches. If something goes wrong with your PC you stand to mess up your filters and send a bunch of bass to your HF channel.

This is not a bad idea from a technical perspective but the practical complexity is considerable. Also, measuring speakers accurately and turning those measurements into a digital filter is not trivially easy, although it is easier than a passive network.

If I went active again I'd use hypex stereo dsp plate amps and use a passive network for the TM channel.

I guess in my case the amps will all be housed in a single box next to the soundcard and the speaker wires will not need to be particularly low gauge as most of the components will sit close together, but yeh, it’s gonna be much more of a headache than using plate DSP/amps....

The thing with the Hypex plate amps is that they’re very similar to what I normally work with and have limitations relative to what’s possible with software. This whole project is really more in the fun/experimentation category anyway as my main system is elsewhere!
 

Biblob

Addicted to Fun and Learning
Joined
Sep 13, 2018
Messages
633
Likes
600
Keep us posted Andreas, as I'll want to use the same pathway as you for my project:
PC with a OS --> Spotify/Tidal/VLC/Kodi/Firefox --> A system-wide EQ (Room EQ) --> Digital XO (FIR) --> Multichannel Dac --> separate amps.
 
Top Bottom