Digital active XO+eq using a PC+soundcards+BruteFIR?

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Very interesting... thanks

dwk123 said:
I'm actually using BruteFIR in my system, with a Delta 1010 sound card.
Thanks for a luvvly set of insights. I was waiting for someone who had actually used BruteFIR to see how good this idea is. :)

It is IMHO the 'right' way to handle a primarily digital system...
I was wondering about this. How will your setup need to be modified if I take my input from an analog preamp? One can just add a second sound card for the analog in, I guess. I was thinking in terms of using the mAudio Rev 7.1; I'll need at least six channels of output for a three-way stereo speaker system. Is this card's ADC good? Earlier posts by Nappylady in another thread said that one of the Creative multi-channel cards (the Audigy?) had good DACs but a crappy ADC, so I ask.

Some questions:
  • Which drivers are you using on Linux (ALSA/OSS/native)? How stable are these drivers?
  • How many output channels?
  • What kind of PC CPU are you using, and how loaded do you find it to be?
  • How many filters of what type are there in your setup, other than the xo?
  • How stable is the entire setup? Do the audio streams ever choke or slow down, or the software crash?
Just trying to get some details of what kind of CPU load BruteFIR generates, and what a real BruteFIR based setup looks like. :) If you have a Website or postings about your setup, just point me there.

Going by your comments about volume control, I guess the "right" setup will be a chain like this:
  • an input selector, with attenuators for each input, so that all source levels can be tuned separately to remain close to max. Phono preamps are connected here for vinyl users, with an attenuator at the output of the preamp.
  • the output from the input selector goes to the PC's stereo analog input and all those analog outputs (with or without external DACs), all working at near max levels
  • a multi-channel analog volume control. If I want six channels of analog out from the PC, I'll need a big six-ganged stepped attenuator at least.
Of course, for a CD-only setup, the input selector is eliminated. Is this making sense?

Thanks once again. :)

Tarun
 
Multi-channel active xo ... too many channels

sfdoddsy said:
Assuming yes (if so), then we add the center and surrounds. You will then need a card that allows you to have 2-5 channels in, and 15 out.
Totally agree with you. If the number of analog outs increases beyond those that you can get from an affordable and high-quality sound card, it's very likely that a stack of Behringers will be less expensive. I was limiting my ambition to a stereo setup, and just wanted to do the active xo for the drivers using one PC + soundcard.

In theory, I guess a set of PCs, each with one sound card, can replace one Behringer each. But then I won't be able to keep all the clocks in sync without spending big money.

Tarun
 
Re: Soundcards as digital filters

Jozua said:
The problem is just as a non technical guy how do start to convert my Creative Soundcard to a active crossover and how do you set the crossover frequencies ?
Have you checked the link sfdoddsy posted in an earlier post on this thread, to donwm's Website? That Website talks of a software with a GUI probably no more complex than what a Behringer's control panel will have. (Comments, Steve?) And maybe that software will work with multi-channel cards other than the one the author used.

Tarun
 
Re: Soundcards as digital filters

Hi!

Jozua said:
Hi

The possibility of using a computer soundcard as a digital crossover is incredible and opens up many new possibilities. The problem is just as a non technical guy how do start to convert my Creative Soundcard to a active crossover and how do you set the crossover frequencies ?
Jozua

Simply start with getting a SB live, or , preferrably, an Audigy sound card (or one of those cards listed as supported in the kxProject pages, kxProject).

Download the latest drivers, plug the soundcard in, reboot windows, and cancel all questions for new drivers.
Then use setup from the kxProject for the kx drivers.

After averything went OK, you can open up the kxMixer, on the bottom you find a button "DSP", with whcih you open up the virtual DSP wiring manager. In it you can add effects (right click, you can chose between about 50 effexts, including XOs, EQs, Summ, Compressor and so on). After an effect has been inserted, you can tweak its setting by double-clicking it, and you can connect the signals to the input-and outputs of the effects simply by click-and-draggin a line, take a look at the included original setup.

Originally posted by tcpip
Totally agree with you. If the number of analog outs increases beyond those that you can get from an affordable and high-quality sound card, it's very likely that a stack of Behringers will be less expensive. I was limiting my ambition to a stereo setup, and just wanted to do the active xo for the drivers using one PC + soundcard.

In theory, I guess a set of PCs, each with one sound card, can replace one Behringer each. But then I won't be able to keep all the clocks in sync without spending big money.

If the drivers of a soundcard and the OS allow this, you can always add more than one soundcard in a PC, assuming you have enough free PCI slots. This works with professional soundcards, but also with my beloved Emu10k1-based cards with kxProject drivers under Windows...
Theoretically you can acquire 4 SB audigy soundcards used for about 30 $ / piece at ebay, plug them in, and have 24 channel output... and if you stick to kx (unlike BruteFIR), with virtually no impact on the CPU, since all effects are being processed by the emu10k1-DSP on the soundcard...

Haven't tried multiple soundcards, though... But there are people at the kxProject forum who did, and it works quite alright (but they are not using them for active XOs and the likes, but for ASIO -> hard disc recording)...


Bye,

Arndt
 
Well, as usual I was wrong(ish). There is a project going on to do what you guys want via a PC.

It was linked earlier in another thread, but here it is:

HTPC Room EQ

The PC stuff is way beyond me, but in terms of results, it appears to be similar to something I paid $3K for (used TACT)a few years ago. But free.

Gotta love technology.


I suspect I am also out of date for inputs and outputs, but check there too.


Cheers

Steve
 
The fans on my 2GHz Athlon are deafening.

If you look at the state-variable filter designs (I'm not going to post the link to Analog Devices again) you can switch the filter on the fly by using digitally controlled pots or the R2R ladder in a DAC like the AD7528. Of course, with the digi-pots you get very good matching, very little noise and a few 0.001%s of distortion.
 
Re: Multi-channel active xo ... too many channels

tcpip said:

Totally agree with you. If the number of analog outs increases beyond those that you can get from an affordable and high-quality sound card, it's very likely that a stack of Behringers will be less expensive. I was limiting my ambition to a stereo setup, and just wanted to do the active xo for the drivers using one PC + soundcard.

Something that gets glossed over in these talks is *WHY* you want to do this. A PC based approach will not be cheaper than a Behringer - at $350 for the DCX2496, if all you want is a cheap'n'easy 3-way xover I think you'd be crazy to pass it up. To put it in context, the Delta 1010 soundcard I use is 1.5x the cost of the Behringer, and that doesn't count the PC.

The real reason to go with the PC is quality - more specifically, the ability to use FIR filter topologies. If you don't understand what that is, or dont' think it's important, then I can't imagine a PC based approach being worth either the effort or the cost.

IT's an unfortunate fact that good sound costs money. The behringer unit at $350 includes 6 channels of D/A conversion - is there anyone out there that would think of a $100 stereo DAC as 'high end'?? Very high quality output with an arbitrary number of channels is available for PC's even under Linux, but you'll pay for it.


In theory, I guess a set of PCs, each with one sound card, can replace one Behringer each. But then I won't be able to keep all the clocks in sync without spending big money.
Tarun

Multi-channel sound cards are pretty cheap - the Revo is $100 with 8 channels, and under Linux you can probably have more than 1. The Delta 410 is about $200 and also has 8 channels, and under Linux you can put a few of them in, and sync them using the spdif in/out connectors. There is absolutely no reason to use multiple PC's.
 
Re: Very interesting... thanks

tcpip said:



I was wondering about this. How will your setup need to be modified if I take my input from an analog preamp?
Well, for me personally it won't change, since my Delta 1010 has 8 analog inputs, and they are about as good as the D/A outputs. In fact, I was completely prepared for multichannel DVD-A and SACD when I settled on this card.

I'm not sure about the Revo specifically. I wouldn't be surprised if it was somewhat marginal. The 'normal' way I'd suggest handling this would be to consider a standalone outboard A/D converter, but of course the Revo doesn't have an spdif input.
The Delta 410 might be a card to look at. The analog outputs shoudl be about the same as the Revo, and it includes both analog and spdif input.


Some questions:

[*]Which drivers are you using on Linux (ALSA/OSS/native)? How stable are these drivers?
I'm using Jack, which only works with ALSA. The drivers for the Envy24 chips used on all the delta cards are very well supported, and very stable.

[*]How many output channels?
The Delta 1010 has 8 analog outs, plus spdif which is independent, so in theory I can use 10. Whether I go with 3-way fronts + surround for 8 total or 4-way fronts + surrounds for 10 total is still under consideration. If I wanted to, I also have a Delta 66, which I could use simultaneously by doing the 'clock sync over spdif' trick, which would add 4 more channels.
BruteFIR and Jack have no inherent limit on the number of channels. Anders Torger (who wrote BruteFIR) is running something like 26 channels.

[*]What kind of PC CPU are you using, and how loaded do you find it to be?
I'm using a P4 Northwood @1.6GHz. I've never run into a situation where BruteFIR takes more than about 35% of the cpu, but that didn't include the 4-way fronts. I still figure that 50-60 on this machine is as far as it would go.

[*]How many filters of what type are there in your setup, other than the xo?
This question doesnt necessarily make sense. Since the filters are FIR, you basically end up with one filter per driver - the single FIR filter encapsulates the entire impulse response of all stages - driver eq, xover slope, dipole eq etc.
My config currently separates the Room Correction filter from DRC from the driver eq/xover filters, so techincally there are two stages per driver.

[*]How stable is the entire setup? Do the audio streams ever choke or slow down, or the software crash?
For the most part, things are quite stable. However, doing things like changing the sample rate of the system requires shutting down Jack, so my configs have rarely run for more than a week or so without being restarted.

Just trying to get some details of what kind of CPU load BruteFIR generates, and what a real BruteFIR based setup looks like. :) If you have a Website or postings about your setup, just point me there.



Going by your comments about volume control, I guess the "right" setup will be a chain like this:
  • an input selector, with attenuators for each input, so that all source levels can be tuned separately to remain close to max. Phono preamps are connected here for vinyl users, with an attenuator at the output of the preamp.
  • the output from the input selector goes to the PC's stereo analog input and all those analog outputs (with or without external DACs), all working at near max levels
  • a multi-channel analog volume control. If I want six channels of analog out from the PC, I'll need a big six-ganged stepped attenuator at least.
Of course, for a CD-only setup, the input selector is eliminated. Is this making sense?

Thanks once again. :)

Tarun

For the most part, your setup makes sense for a simple/basic setup. There are options, though. eg - if you have a multichannel input, you don't necessarily need an input switcher. I'm still investigating whether the volume control after the PC is necessary or simply 'desirable'. I have implemented a digital volume control on the PC which works fine, although *in theory* it probably doesn't perform as well as a *good* analog attenuator.

For CD-only you'd run the spdif straight into the soundcard, or simply rip the cd's to the PC hard drive and play them directly. Jack makes this kind of thing easy.

One 'easy' way to handle the volume control/output would be to get a Home-Theater receiver that has a multichannel input that bypasses the receivers A/D and dsp processing. The NAD T762 for example has 6 channels of 100w/ch amp, and what is reported to be a very good 7.1 analog input that undergoes very little processing. This plus a Revo or a Delta 410 could be an ideal setup for a stereo 3-way setup. Okay, at $1300 or so it's not exactly 'cheap', but it's pretty reasonable for what it provides.
 
Re: Re: Multi-channel active xo ... too many channels

dwk123 said:
Multi-channel sound cards are pretty cheap - the Revo is $100 with 8 channels, and under Linux you can probably have more than 1. The Delta 410 is about $200 and also has 8 channels, and under Linux you can put a few of them in, and sync them using the spdif in/out connectors. There is absolutely no reason to use multiple PC's.

The Revolution is a nice card, but I don't don't know how many of us would be comfortable using a digital crossover that has only those hateful 1/8" stereo minijacks for analog I/O. The Delta is probably as low-end as anyone is going to want to go.
 
Clock sync for multiple cards?

All you guys keep talking about using multiple cards one one PC, but I thought that with multiple cards, clock sync with a single master clock would be mandatory? Is this not important? And is it very easy to just connect the S/PDIF output of one card to the inputs of the other cards to get this sync? Is it that simple? I'm totally ignorant on this, so please can you clarify?

And with BruteFIR, I'd probably run out of compute power if I did something like 20 or 30 channels on one PC, so I'll need a cascaded set of PCs, unless I used one of the latest dual-Xeon things.

Tarun
 
Re: Clock sync for multiple cards?

tcpip said:
All you guys keep talking about using multiple cards one one PC, but I thought that with multiple cards, clock sync with a single master clock would be mandatory? Is this not important? And is it very easy to just connect the S/PDIF output of one card to the inputs of the other cards to get this sync? Is it that simple? I'm totally ignorant on this, so please can you clarify?

The quick answer is 'yes' - having one card serve as the spdif reference clock and daisy-chaining that to the other cards will in general work. The 'problem' is not really to ensure that all conversions happen at *exactly* the same time, but rather to ensure that the cards don't have long-term drift relative to each other. The spdif clock is OK for this. The one thing I don't know is whether this will induce excessive jitter in the clock.

Some pro cards actually have internal connectors to explicitly pass the clock - I *think* RME and Lynx and maybe Hoontech/St-Audio do this. If your card has this, then there's no need for the spdif trick.


And with BruteFIR, I'd probably run out of compute power if I did something like 20 or 30 channels on one PC, so I'll need a cascaded set of PCs, unless I used one of the latest dual-Xeon things.

Okay, I'm confused. First you're asking about a stereo 3-way system for music only, and now you're talking about 20 or 30 channels. Where exactly are you trying to get to?

First, 20 or 30 channels is unnecessary for any 'normal' system. Anders is using 20+ channels because he'd doing (or was, at least) Ampiophonics research - ie the recreation of acoustic spaces using huge speaker arrays. Even for a 7.1 system, you "shouldn't" need more than 2-way on the sattelites, 3 way on the mains plus LFE - 17 channels total.

Even this is no problem *for music*. As long as you can use say 16k partition sizes, a modern P4 system will do anything you want for 2-channel. A 16k partition size will result in ~300ms delay from input to output, which for music is no problem.

CPU consumption goes up as the partition size goes down, though, so huge configurations that need to be sync'd to a video stream for Home Theater use could be a problem. Trying to do 17 channels with say 30 ms input-to-outpu delay might saturate a single pc. For Home Theater, though, I suspect shorter filters can be used everywhere except the LFE channel which is where the room correction filter is really needed.
 
Re: Re: Re: Multi-channel active xo ... too many channels

r0cket- said:


The Revolution is a nice card, but I don't don't know how many of us would be comfortable using a digital crossover that has only those hateful 1/8" stereo minijacks for analog I/O. The Delta is probably as low-end as anyone is going to want to go.

Well I'd probably agree, but on this forum there seem to be a LOT of people that are on starving-student budgets. The Revo is a great card to use for proof-of-concept/prototype efforts since it's so cheap, but still has good analog outputs. It would allow someone to try out the digital approach to see whether they can live with the inconveniences without having to drop a ton on a high-end soundcard.

My recommending it also probably reflects a bit of 'editorial bias'. My experience with dsp xovers is that a lot of people jump in enthusiastically with grandiose plans, but then fizzle out when they realize that it really isn't easier than normal speaker building - it's simply a somewhat different area of application. I think some people think that it's a push-button approach when it most certainly isn't. You have to get pretty good filters before the Revo will be limiting the performance of the system, at which point you can spring for a better soundcard. If you get that far the $100 "lost" by using the Revo as an intermediate step will probably not be a big concern.
 
Re: Very interesting... thanks

Hi tcpip,

I did some experiments last winter that were exactly like what you are trying to do. I did a stereo room-eq followed by a stereo 2-way xover, all using Brutefir. And it works very well, but the project is on hold right now due to too many other projects...

But here are my answers:

[*]Which drivers are you using on Linux (ALSA/OSS/native)? How stable are these drivers?

Alsa 0.9.2 with envy24 based card. Please stay away from Creative Labs.

[*]How many output channels?

Stereo in, 4 channels out (2-way xover)

[*]What kind of PC CPU are you using, and how loaded do you find it to be?
[*]How many filters of what type are there in your setup, other than the xo?

Pentium III 667 running at about 50% with 4 1024-tap xover filters and 2 65536-tap eq filters. This processor is only 17W and so it can be passively cooled :) (or with a slow fan). Remember that memory bandwith and cache size are more important than core clock speed. The new 'P4 extreme edition' should be awesome! (and way overkill...)

[*]How stable is the entire setup? Do the audio streams ever choke or slow down, or the software crash?

Very stable, no dropouts. I'm using Gentoo with the 2.4.20-ck kernel which has low-latency and preemptive patches.


Going by your comments about volume control, I guess the "right" setup will be a chain like this:
  • an input selector, with attenuators for each input, so that all source levels can be tuned separately to remain close to max. Phono preamps are connected here for vinyl users, with an attenuator at the output of the preamp.
  • the output from the input selector goes to the PC's stereo analog input and all those analog outputs (with or without external DACs), all working at near max levels
  • a multi-channel analog volume control. If I want six channels of analog out from the PC, I'll need a big six-ganged stepped attenuator at least.
Of course, for a CD-only setup, the input selector is eliminated. Is this making sense?

This was the exact setup that was my goal. However it takes a fair amount of work to get there. The hardest part is the user interface. It is not so user friendly to have to ssh into your box every time you want to change the volume :) You also may want to be able to select between the digital and analog inputs on your soundcard. Another argument for having analog volume control after the DACs is that it protects your speakers in case your software crashes and decides to put full scale noise on your outputs :eek: Trust me, I've been there.

What put my project on hold was that the performance of the room-eq really depends on how good your measurement setup is. Now your microphone and measurement techniques suddenly becomes the most critical parts of the whole system. However I was amazed at how easily audible different xover slopes were, and how easy it was to use brutefir to switch between these in realtime.

Good luck with your project, and please keep us updated on your progress!
 
Hey guys, i think ive just come up with a pretty cool idea.

Ive also been thinking about doing this for a looong time (well before BruteFIR was invented), but also didnt get to far due to the multiple channel out soundcard problem.

:bulb: :idea: :bulb:

How about using TI's PCM2902 USB "soundcard" ICs?
It would be quite easy to use lots of these ICs to create all those outputs needed be it SPDIF or analog (the PCM2902 has quite a decent DAC).

Linux (and maybe some other *nix's) already have support for USB Audio meaning they should support this chip.
 
Re: Re: Clock sync for multiple cards?

dwk123 said:
Okay, I'm confused. First you're asking about a stereo 3-way system for music only, and now you're talking about 20 or 30 channels. Where exactly are you trying to get to?
Sorry. :)

For my system, I intend to do only stereo, with active xo for each speaker, thus needing probably six or at max eight analog streams. However, others here have talked about even more channels, and have said that you don't need to go looking for a large sound card with lots of channels... just add more cards. I was responding to that, and saying that it's not just a question of adding cards. If you add all those analog channels to just one PC, you can run out of CPU steam.

Hope this clarifies things. :)

Tarun
 
diyAudio Member
Joined 2003
guy's

heya guys sorry for this post i just hope it is in the right place for u guys, maybe i should have started a new thread on this but anyway here goes, i have a audigy2 card and would like my music equalised with a parametric eq and a normal room eq with a sub x-over, now i have all of this in cool edit pro but its not real time as u have to change a wave file before u hear any difference or the effects, my question being is , is there a way we can incorporate this so it is real time all of the time when listening to mp3's ect on the computer? i have tried out the kx project on a live card and i must admit inpressive but its not fully suited for the audigy2 card as of such yet, and realy to me the audigy2 card doesnt sound as good as for freq responce than the live 5.1 card that i have wich is somwhat disapointing, im talking with all settings set on flat level, as u guys know anything that sounds semi decent with all levels as flat or 0 is a semi decent system and i know all about x overs to my hearts content for speakers ect and that the speackers x-over is part of the secret to a great sounding system, but realy this is the cards poor eq over the entire range of freq's, if a live can sound better then why the hell did they make a audigy2? lol anyway thats the reason why i want to change things and start to experiment to get a semi decent sound, as for the creative parametric eq ya its ok just ok lol could have a few more freq ranges in the mid's anyway guys thanks for reading and keep up the good work get back to us on what u think and if this is in the wrong place just tell me so


Trev
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.