• 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!

Finishing a DIY 2-Way Speaker with Digital Crossover

VeerK

Active Member
Joined
Jan 29, 2019
Messages
258
Likes
318
Location
NYC
Hi guys,

I’ve just gotten around to finishing the cabinet for my custom 2-way monitors, using a ribbon tweeter. I’ve decided to implement a digital dsp crossover to maximize flexibility, but I’ve gotten a bit confused about how to do so. Here’s what I’m hoping to do here:

PC and MacBook to DSP to Topping D90 to 4x Neurochrome 86 amps to 2x Tweeters and 2x Woofers.

Now I’ve read that if I want to keep my DSP in the digital domain and to use the superior performance of the D90, I might need 2x D90s, one for each speaker?

If so, what kind of DSP will allow me to do all of these things, implement a FIR linear crossover upstream of my D90 DAC, with enough processing power? How much lag am I looking at? I have an old PC from 2015 lying around that I can use for DSP calculations, is that too much horsepower?

Sorry for all the questions, I started at miniDSP then went to SHARC and a bunch of other sources and got lost. Any tips, guidance, advice, is much appreciated, implementing a top-notch DSP crossover is definitely more involved then sticking a box in the source chain.

Thank you!
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,745
Likes
3,032
So many ways to do this one! I've been considering it, but not yet taken the plunge.

One way or another you're going to need 4 channels of DAC linked to the same clock to keep them in sync. This could be 2x stereo DACs fed from synchrinised SPDIF sources, with a 4+ channel DAC like the Octo, MOTU M4, Scarlett etc, or with a DSP box with its own DACs. If this is a driving choice it'll limit the upstream options somewhat.

When you say "PC and MacBook to DSP" what exactly are we looking at? A USB cable you swap between them, network streaming, some other connection (toslink from the MacBook perhaps?), or to be decided?

How much processing power you need depends on what sample rate you want on the output, and what filters you're applying. If you use BruteFIR (and others?) there's also a trade-off in partitioning where you can use more CPU to reduce the delay for a given number of taps. That said, I'd expect anything from 2015 to be plenty good enough for most uses - a 2003(?) Centrino laptop clocked down to 400MHz was fine with 2 channels of 96kHz 24 bit output and 64k taps. Since you've already got it it's effectively free, so a good starting point for some experiment.
 
OP
VeerK

VeerK

Active Member
Joined
Jan 29, 2019
Messages
258
Likes
318
Location
NYC
So many ways to do this one! I've been considering it, but not yet taken the plunge.

One way or another you're going to need 4 channels of DAC linked to the same clock to keep them in sync. This could be 2x stereo DACs fed from synchrinised SPDIF sources, with a 4+ channel DAC like the Octo, MOTU M4, Scarlett etc, or with a DSP box with its own DACs. If this is a driving choice it'll limit the upstream options somewhat.

When you say "PC and MacBook to DSP" what exactly are we looking at? A USB cable you swap between them, network streaming, some other connection (toslink from the MacBook perhaps?), or to be decided?

How much processing power you need depends on what sample rate you want on the output, and what filters you're applying. If you use BruteFIR (and others?) there's also a trade-off in partitioning where you can use more CPU to reduce the delay for a given number of taps. That said, I'd expect anything from 2015 to be plenty good enough for most uses - a 2003(?) Centrino laptop clocked down to 400MHz was fine with 2 channels of 96kHz 24 bit output and 64k taps. Since you've already got it it's effectively free, so a good starting point for some experiment.

I have my PC and MacBook connected up to a KVM switch via USB, so it’s just pressing a button on the KVM which handles everything. It’s just convenience for when I need to work on something in MacOS :)

Hypothetically, I need to have 2 Topping D90s , L HighPass L LowPass R HighPass R LowPass, correct? Can you elaborate how I would get them fed from synchronized SPDIF sources, does that mean no longer using USB for audio transport?

I have an old PC lying around with nice specs, was going to turn it into a server, but if I can use it for DSP calculations, that works too.

Thanks for taking the time to educate me :)
 

mitchco

Addicted to Fun and Learning
Audio Company
Joined
May 24, 2016
Messages
643
Likes
2,408
@VeerK Very nice! Here is one example of using software DSP for a two way linear phase crossover in the digital domain:
https://audiophilestyle.com/ca/ca-a...nd-room-correction-software-walkthrough-r682/
One can also time align the drivers and add room correction for low frequencies. It is a commercial software package.

Another non-commercial software package is: https://rephase.org/ which can also do linear phase digital XO's etc.
These sofware packages allows you to take measurements, design and generate the FIR filters. Neither of these software provides a runtime convolution engine to host the filters. Typically this is done in music player software, so...

You will need a convolution engine like in Roon or JRiver or FooBar 2000 music players or a standanlone convolver, to host the FIR filter that contains the digital XO. You don't need much power, I have run a 3 way digital XO with 131,072 FIR filter taps on an i3 with no problems at all.

Good luck with you project!
 

Biblob

Addicted to Fun and Learning
Joined
Sep 13, 2018
Messages
635
Likes
603
To add to the above.

On Windows you also have Equalizer APO where you can load in your FIR-filters, to have a PC broad filtering. The bonus: it's free.

When low-budget, you can go for a Asus Xonar U7. Mid-budget: Motu M4 or Ultralite MK4. End-game: Okto DAC8.
The differrence will be in performance. I won't make any remarks about the audibility of those :). The Asus probably is fine. It's the option I and some other users have gone for.

If you want to be safe, go for the Motu or Okto devices.
 
OP
VeerK

VeerK

Active Member
Joined
Jan 29, 2019
Messages
258
Likes
318
Location
NYC
First of all, thank you to @mitchco @Arnandsway @somebodyelse @q3cpma, who have kindly shared their knowledge and resources here, I've been able to do some great reading! From what I can tell, I have a couple of options here:

Current Setup: i7 PC to Topping D90 to THX 887 for headphones and Topping D90 to Neurochrome amp for passive speakers

New Setup #1: i7 PC (using EqualizerAPO to load in FIR filters in real time, generated from Audiolense/rePhase) to 2x D90s to THX 887 for headphones, and 4x Neurochrome 86s for DSP XO speakers

New Setup #2: i7 PC (using EqualizerAPO to load in FIR filters in real time, generated from Audiolense/rePhase) to Okto DAC8 to THX 887 for headphones, and 4x Neurochrome 86s for DSP XO speakers

Is the issue with Setup #1 getting the signal to go to 2 separate, but identical DACs? Is this solvable? Is it worth solving versus just selling the D90 to buy a single Okto DAC8 like in Setup #2?

The next issue is sometimes, I like to connect my MacBook to my station and work off there, which means I can use Apple Music to stream songs. I have a KVM switch that allows me to dynamically adjust whether my DAC works with my PC or MacBook, but if I go down the route of DSP XO speakers, I have no way to use the FIR filters in MacOS, correct? My only option is to find an alternative for EqualizerAPO in MacOS and load the FIR filters to have Mac-wide filtering?

Am I finally on the right track here? To contextualize, my speakers will be used in my office, which is why I have easy access to my PC, MacBook, and headphones setup. And thank you again to everyone who has posted, you won't believe how much simpler you all have this to understand.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,745
Likes
3,032
I have my PC and MacBook connected up to a KVM switch via USB, so it’s just pressing a button on the KVM which handles everything. It’s just convenience for when I need to work on something in MacOS :)
That probably rules out running the DSP on either of those then, and probably means you need something with a USB input downstream. Unless the MacBook has optical out (I understand some models have a toslink output combined with the headphone jack) and/or you use some USB to whatever converter. Or use something like AirPlay to stream audio over the network to whatever does the DSP.
Hypothetically, I need to have 2 Topping D90s , L HighPass L LowPass R HighPass R LowPass, correct? Can you elaborate how I would get them fed from synchronized SPDIF sources, does that mean no longer using USB for audio transport?
I don't think the D90 has a master clock in/out which is what pro audio interfaces use to keep multiple devices in sync. You'd need an interface with SPDIF outputs that share the same clock. This could be a DSP unit with digital outputs like the MiniDSP nanodigi, or a multichannel usb interface like the U-DIO8. The latter are bizarrely expensive given how little they're doing. The nanodigi is cheaper and gives you a more-or-less turnkey solution so long as it meets your processing and sample rate needs.
I have an old PC lying around with nice specs, was going to turn it into a server, but if I can use it for DSP calculations, that works too.

Thanks for taking the time to educate me :)
I can point you towards multiple options based on linux, but others can probably direct you to Windows based approaches if you prefer. I don't know how much of a 'learning experience' you're after, or what your background is. You could disappear down a rabbit hole with this one if that's your sort of thing. The linux stuff could equally run on a Raspberry Pi or similar.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,745
Likes
3,032
I think I answered the 'is #1 achievable' part. I haven't checked the costs, but I think that 2x D90 + U-DIO8 is more than an Okto.

An equalizer on the Mac is one option, as you mention. I'd want to check how the equalizers on Mac and Windows respond to hotplugging the USB audio device carefully without expensive speakers connected if that's the route you pick. There may be an alternative though - streaming audio from the Mac to the Windows box and passing it through the equalizer there. I now such options exist on linux, but someone here may know a Windows equivalent.

You could also look at the MOTU 8A - I think you could connect Windows to it via USB, and the Mac via AVB on its network interface. The audio specs aren't quite up to the Okto or D90, but they're not far off.
 

sfdoddsy

Active Member
Joined
Jun 6, 2019
Messages
293
Likes
438
I've been using digital crossovers for many years with various DIY speakers.

Personally, I think you getting way more complex than you need to.

Various iterations of the MiniDSP are measurably and audibly transparent.

The NanoDigi will give you digital inputs if you need them.

The DDRC series will give you Dirac, which will make far more difference than a fancy DAC.

The MiniDSPs, in my experience, are much easier (after a quick learning curve) than software crossovers, and much more flexible.

An even simpler solution would be to use DSP amplifiers like Hypex or Crown.

One cable to the amp, two out for each speaker.
 
OP
VeerK

VeerK

Active Member
Joined
Jan 29, 2019
Messages
258
Likes
318
Location
NYC
I think I answered the 'is #1 achievable' part. I haven't checked the costs, but I think that 2x D90 + U-DIO8 is more than an Okto.

An equalizer on the Mac is one option, as you mention. I'd want to check how the equalizers on Mac and Windows respond to hotplugging the USB audio device carefully without expensive speakers connected if that's the route you pick. There may be an alternative though - streaming audio from the Mac to the Windows box and passing it through the equalizer there. I now such options exist on linux, but someone here may know a Windows equivalent.

You could also look at the MOTU 8A - I think you could connect Windows to it via USB, and the Mac via AVB on its network interface. The audio specs aren't quite up to the Okto or D90, but they're not far off.

First of all, thanks for taking the time to share all that info, it was incredibly helpful. I've been trying to read up on as many things as possible while getting swamped at work.

With regards to the potential clock drift with 2x D90s, would using something like MiniDSPs MCHStreamer ahead of the DACs help?

I've also been considering making a dedicated DSP PC box for crossover and EQ duties, whether it be in Linux or Windows. Theoretically, this could be used to apply the FIR/IIR filters to all sounds coming into it, from a PC, MacBook, turntable, etc, and then output the summed signals digitally to a downstream multichannel DAC solution. I've been reading up on this kind of solution, and I'm leaning towards going down the rabbit hole for it. Issue at the moment is potential added latency, in the event I watch movies or YouTube videos.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,745
Likes
3,032
With regards to the potential clock drift with 2x D90s, would using something like MiniDSPs MCHStreamer ahead of the DACs help?
Probably, but it might depend on how you connect it them. I don't think the MCHStreamer can send different data to the spdif and toslink outputs (I could be wrong...) in which case you'd need to use the logic level connectors. The easiest route it probably to add a DIGI-FP to give yourself another spdif output, but perhaps ask MiniDSP about this. Alternatively you may be able to use the I2S directly (with buffering) to the D90 as IIRC it has I2S input on HDMI connector. You'd have to find out whether the D90 expects to be master or slave for the I2S clock - if it's master then it's not going to work. I don't know how sensitive the I2S input on the D90 is to jitter. You'd also have to find a product to buffer and possibly level convert the I2S signal. Rabbit holes again...
I've also been considering making a dedicated DSP PC box for crossover and EQ duties, whether it be in Linux or Windows. Theoretically, this could be used to apply the FIR/IIR filters to all sounds coming into it, from a PC, MacBook, turntable, etc, and then output the summed signals digitally to a downstream multichannel DAC solution. I've been reading up on this kind of solution, and I'm leaning towards going down the rabbit hole for it. Issue at the moment is potential added latency, in the event I watch movies or YouTube videos.
See the low delay section of the BruteFIR docs for the trade between latency, number of taps and required processing power. Also note the section on possible clock sync issues between input and output devices, depending on how you intend to get the data from the Windows and Mac into your DSP PC. Note that the Pi 4 can appear to be a USB soundcard that's compatible with the Mac, but not Windows 10 due to a bug in the linux audio gadget driver. There are multiple airplay receivers for linux, so you could go that way too. I don't know what the options are for streaming from Windows to Linux, ut there's probably more than one.
 
Top Bottom