Active Crossover using PC and multi ch. Soundcard?

This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
There is a soundcard called M-Audio Delta 1010. 10-in, 10-out (SE and Balanced), and 2-SPDIF in and out. The audio circuitary is in the external rack housing to protect it from computer noise. This is mainly used for recording studios, but growing number of people uses it as a Home Theater Processors (with approprate softwares for 5.1, 6.1, even 7.1..). There are many other similar cards in the market currently.

I wonder, if it would be possible to use this as an active crossover. The spec of the soundcard seems to be really good, and with a proper software , it would be really easy to modify crossover slopes/frequencies as well as adding other filters and etc.

Take the audio signal through SPDIF input or XLR input, then process it, and output through XLRs... there are 10 outputs available... so two channel, three way would occupy 6 outputs... Volume control is either done in software, or externally if Analog input is used. Afterall, the CD's that we listened to, may have been recorded and processed using this kind of gear.

I guess the beauty of such system is the flexibility of configuration.. 6db,12db,24db... 2 way, 3way, 4 way... 2 ch, 3 ch, 4ch.... All filtering and X-over'ing is done in digital domain.. I guess the performance of the software and driver would be the only barrier...

Sounds too good to be true...

any thoughts?
Interesting idea

I have a Gadget Labs Wave 8/24 (8 in, 8 out, balanced, 24 bit, rack mount). I never thought of using it as a crossover, but it's an interesting idea. I don't see why it couldn't be done, with the appropriate software. That is, if such software existed. :)
Wow... you guys need to look at NWFIIR and BruteFIR.

Excelent tools written fro exactly this on a UNIX (probably Linux) box.

Just as an example of how powerful BruteFIR is, it can do a 3,000,000 tap FIR filter on a mono source realtime (in on soundcard, processed, out on soundcard) on a 1Gz Duron PC.

Its is very configurable, and is perfect for room EQ and other FIR filters.

do you know the kxproject, at

The kX Audio Driver is an independent WDM (Windows Driver Model) driver for all EMU10K1 and EMU10K2-based soundcards manufactured by Creative Technology Ltd. and/or E-mu Systems Inc., including the SoundBlaster Live! series, the E-mu Audio Production Studio (APS) card, and the Audigy series of cards.

The kX Audio Driver package includes driver system files and setup files as well as a powerful audio mixer application (the kX Mixer), which acts as a Graphical User Interface, providing access to many of the driver's internal functions.

The kX DSP applet represents the internal connections of the kX driver graphically, and is one of the most powerful features of the kX Audio Driver. Signal routing is done by connecting virtual inputs and outputs with virtual cables in which the digital sound streams are being transmitted, in the same fashion as you would use patch cords to connect different units in a sound studio or in a home stereo setup.

Adicionally, to get started with creating your own DSP effects, is available to download the kX API / SDK, for guys with knowledge in C/C++ programming, MFC, Visual C and DSP programming techniques.
Not a PC, but I'm using an older (1998) EV (Telex) digital crossover now.
The EV is a black box with 2 ananlog 1 digital in, 6 analog 1 digital out. Uses 3 Motorola 66 MHz fixed point DSPs with freely configurable signal processing.
Controlled with a pc program over a serial connection you can draw the necessary signal processing ( selectors, attenuators, mixers, filters, 2-4 way crossover, compressors, limiters, gates, delays, output dithers etc ) and download to the box for offline use. Analog inputs and outputs are 24 bit cyrrus chips. I'm going to upgrade them to PCM1792s once they are available.
It was designed to 48kHz sampling but can syncronize to 44.1k too, so can use cd without ASRC. ( It is a selectable option, and a big donwngrade in sound whenever I switch the ASRC on)

The sound is very, very good not to mention the total control over the speaker setup now - from crossovers to driver delays and room correction. I'm using 18" ELF woofer from 15-35Hz, 2*18" dipole woofer from 35-250Hz, a Goodmans Axiom80 in a straight front horn from 250-18k and a supertweeter above 16k.

Too bad there is no comparable product on the market now. The dbx driverack is symply terrible sounding (I suspect lousy floating point algorithms). The Rane RPM26z is similar to the EV, but has a permanent ASRC on the input and only 48k internal sampling (althoug with a little diy both could be fixed) and about $800. BSS and others use 96-192kHz now (and use the dreaded ASRC too), fixed signal processing architetcture and more like 2-3 grand.

Simply put it the EV is a fantastic tool and the best improvement I had in a long time. And the cost (used) was below a decent computer configuration - not to mention the price of a rack mount multiple output sound card.

I am using the soundcards of two PCs (one build and programmed by myself exclusively as an audio / video device) to control my whole system, using the kxAudio drivers mentioned above.

I've been doing this for about five months now, leaving out any preAmp in the signal path, and I never want to turn back!

I use a lot of the DSP-functionality of kx (no problems with the Audigy I have in my working computer, but the memory of the SBLive installed in my "player"-comp is at its limits), for example active crossover, signal summing (for my mono-sub), compressor (in the bass signal path, to automatically control the volume gain of the bass over different types of music), equalising (I can't wait for the kxProject to come up with their long promised parametric EQ) and so on.

The main speakers are high passed at 68 hz with a width of 2.0 (found out through listening tests), the bass gets the low frequencies.

The bass signal is fed to my DIY "The End Millenium", after that to DIY 12" BR Sub; the "sattelite" signal gets amplified by a heavily modified marantz amp from 1978 (I nearly rebuilt it from scratch, with new material), and is fed to my DIY Visaton 2 way speakers (with a passive XO).

This setup sounds marvelous (at least to my ears), in near future I will also test some more combinations, with DoZ preAmp (I don't think that it will sound better than without), with DoZ-amp and Gainclone as a substitution for my Marantz...

Try it, you will like it (at least if your PC is a very silent one...)


hifiZen said:
unfortunately, BruteFIR is not a genuine FIR engine, it is based on FFT :(

??I've seen you make this comment before, and it simply doesn't make any sense to me. FIR is a filter topology, not an implementation. Fast convolution vs direct-form is an implementation detail. Mathematically, they are equivalent. What matters is the impluse response of the output - if for some reason BruteFIR does not give the same response as a 'genuine' FIR engine, then it's a bug.

Virtually any real-world FIR implementation will use fast convolution/FFT, simply because direct-form/brute force FIR implementations are very very inefficient - criticizing BruteFIR for this isn't particularly fair.

Writing a direct-form FIR engine is trivial - it's a two-line loop. If you want BruteFIR like functionality but for some reason don't like fast convolution, it wouldn't be hard to roll your own.

I've posted on this forum in the past, since I'm using BruteFIR for xover/room correction, also using a Delta 1010 for output. It is an approach that has a LOT of potential, but is neither cheap nor particularly straightforward. A good FIR-based digital xover requires *GOOD* driver measurements to start with, and some very careful consideration of the xover topology. When you throw room correction into the mix, you need even more *GOOD* measurements, as well as a strategy for what exactly it is that you are correcting - simply 'inverting' the in-room response to get flat output is not the answer. The room-influenced impulse response has to be massaged in both frequency and time to produce a correctable impulse, and then inverted. DRC (look on Freshmeat) is a start, but needs to be tweaked to give good results.

As someone else mentioned, I fall into the 'in for a penny, in for a pound' camp. If you're going to spend the time and effort, go for the full xover/room/theater etc approach. My efforts are towards a fully digitally xovered and eq'd multichannel theater system. Unfortunately, although BruteFIR is fully capable of doing this, it still requires a ton of effort to get the filters right. It's 'fun' to a point, but there are many days I wish I'd gone a simpler route.
I thought FIR could match FFT if it was implemented properly. Thanks for clearing that up dwk123.

Also... how are you creating your filter coeefs?
This is one section where NWFIIR was good (great web page and tools), but using BruteFIR hes left us to come up with our own solutions.
2 questions

i think that here are two questions.

a) the first is make a digital crossover, using PComputers.
Many people use just the PCs for hear music more than the 'classic' hi-fi equipment.

The kxproject give the possibility to take out the max yield from the standard and low cost soundblasters cards and to explore, in a DIY concept, the way to improve the pasive crossovers. i planed to use two live soundblasters cards for a stereo system with 3 way loudspeakers and a additional subwoofer.

my reference projects are:\4.pdf

b) the other question is about the room corrections, in my case
this is just secondary.

Finally, i'm spanish my english is poor, sorry for this short text,
many aspects need additional explain. But i'm interested in your opinions and to know possible weakness and difficultys about.
digital source to power PWM signal???

Using pc for crossover implementation is interesting, but what about implementing a digital crossover in a DSP with a digital source (SPDIF or similar), so, you could make the digital to analog conversion using PWM method and amplificate directly in the same process with MOSFET (Like Class-D amplifiers) in this way you avoid to handle analog signal across complete procces, this elimitate posibility of noise or signal distorsion. and it is the most easy way to tune speakers filters and frecuency response.

I am buildding a analog electronic filters for a multiamplified system but i going to thinking about this.

Jose Luis
my personal proyect:
Why even use a PC?
Try a DSP. Not a general purpose DSP, but one designed for doing filters. TI makes the TAS3103 which implements 16 biquad (IIR) filters for each of 3 channels, in addition to 3D effects, bass/treble, compression/expansion, and more. Or try the "1k" from Alesis Seminconductor. This amazing little audio DSP can handle up to 8 channels in/out, and performs 1024 instructions per sample (around 50 MIPS at 48 kHz). A single biquad (2nd-order) filter takes only 5 instructions per sample, so it can do 200 of them simutaneously. Even if you use 4th order filters for the crossover, you would still have whole lot of filters left over to implement parametric EQ.
A biquad implements virtually any 2nd order (or 1st order) analog filter in the digital domain. Each filter could be a high-pass, low-pass, all-pass, notch, or bandpass filter of any type (Bessel, Butterworth, Chebyshev, etc.), an EQ filter of any frequency, Q and gain, or shelving bass/treble fitlers. Filters are cascaded to provide higher-order low/high pass filters.
macboy said:
Why even use a PC?

Well, if all you're interested in doing is bog-standard biquads, a PC is overkill but IMHO so is any DIY approach. With the Behringer units so cheap, you'd get way better return on your time by simply using one of those and pulling the I2S lines off the analog outs if you want a different D/A back-end.

The point of using a PC is that it gives you a very flexible and powerful platform to experiment with FIR and hybrid IIR/FIR topologies for your filters, including things like using the DRC software for room correction.

DRC by itself is reason enough for using a PC IMHO.
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.