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.
Moderator
Joined 2002
Paid Member
Tarun:

I presume you have no problems with acquiring ;) material from other parts of the world. In which case for a 3-way stereo system with dual subwoofers you would only need a Delta 1010. The hardware is available, but for really silly amounts of cash, at pro audio shops in Chennai.

Closer to reality is the Revolution 7.1 but I'm not sure about the ability to program the DSP. The Audigy2 with the Kx set goes upto 7 channels, and the newly launched version adds another channel for 8 channels. The Kx set allows you to probably experiment with slopes, XO frequencies, phase, etc. Plus the analog outs aren't that bad.

In any case, adding cards/channels to the system is going to affect the system only as far as their own capabilities are concerened. This is related to the DSP capabilities, and a full pro system with two Delta 1010 cards will be able to get by with almost any 1 GHz+ x86 CPU - say Pentium/Athlon. However, the same system will struggle with two SB Live! cards (mind you, can be done only with 3rd party driverset, not with Creative's drivers) operating at 8/12 channels... That is because of the use of AC97 codec and the implementation of the 10K1 in the SB Live!, and is not related to the number of channels.

I am exploring the use of a PC, but am really concerned at the high level of EMI and the very poor HF performance of a typical SMPS, which is preventing me time and again from embarking on this project. I don't think the PC is an ideal place for music, yet. Cool/quiet PCs are difficult and expensive, and the parts are difficult to source.

Using low power/older hardware is an option, but CPU cycles are an issue. FP calculations are difficult for older hardware, specially the PII and older machines. Plus there is M$, which needs to be restarted once in a while to keep it happily burping along.

Overall seems to be not worth it. I am now moving toward the use of using WR or FR drivers on open baffle with some help (if required) at the top and bottom end. My active XO experiments have ended in disaster (don't ask!) and I think multiway systems are not for me.
 
sangram said:
The hardware is available, but for really silly amounts of cash, at pro audio shops in Chennai.
What kind of figures do they ask for?

The Audigy2 with the Kx set goes upto 7 channels...
I was actually exploring the option of ignoring the on-card DSP and using BruteFIR for all the digital filtering. That way, the software would be card-independent.

This is related to the DSP capabilities, and a full pro system with two Delta 1010 cards will be able to get by with almost any 1 GHz+ x86 CPU - say Pentium/Athlon. However, the same system will struggle with two SB Live! cards (mind you, can be done only with 3rd party driverset, not with Creative's drivers) operating at 8/12 channels... That is because of the use of AC97 codec and the implementation of the 10K1 in the SB Live!, and is not related to the number of channels.
You lost me here. Did you mean that the Delta1010 has a more powerful DSP than the SB Live?

I am exploring the use of a PC, but am really concerned at the high level of EMI and the very poor HF performance of a typical SMPS, which is preventing me time and again from embarking on this project.
Why should we be concerned with the EMI? If a good sound card gives you excellent audible and measured performance while it is plugged into your average PC, doesn't it mean that the card is protecting the signals well enough?

The question of a quiet PC is another issue altogether, and there I feel that your approach of Kx drivers will make life easier for you. This is because you can then go for a lower-powered CPU, thus eliminating the CPU fan. The other steps include eliminating the HDD or getting a really quiet laptop HDD, and eliminating the SMPS fan. (I'm typing this message on my laptop now; dawn is yet to break, and it's quiet all around. And my laptop hard disk is totally inaudible. It's possible to achieve this with a modified desktop.) It's probably possible to eliminate the SMPS altogether, replacing it with a traditional transformer-diodebridge-caps-regulator. This becomes very feasible if you eliminate the hard disk, thus dropping power consumption to less than 50W.

If I choose to use BruteFIR however, I may need a CPU too powerful to work without a CPU fan.

Plus there is M$, which needs to be restarted once in a while to keep it happily burping along.
Why do you think I was so keen on BruteFIR? :)

Tarun

PS: I'll ask you offline about your multi-way speaker disasters. :)
 
New Wrinkle

At the risk of charging somewhat off topic, I just got a Panasonic XR25 receiver. This is a $300 6.1 home-theater receiver. What's different about it is that is uses a completely digital amplifier section based on the TI Equibit chipset (the same one used in the Tact amplifier).

The Equibit amp stages take digital PCM directly via I2S lines, and drive the speakers directly. In other words, the DAC and the power amp are ONE step.

I did some very quick listening via a direct spdif input in stereo, and this thing is VERY promising. It really sounds very very good.

So, my brainstorming is that the Delta 1010 (and other Envy24 based sound cards) use I2S internally, and so it should *in theory* be possible to run the I2S signals directly from the soundcard to the internals of the XR25, bypassing all intermediate processing. Based on my brief audition using 2-channel mode, this would be absolutely off the scale in terms of price/performance. If something like the Delta 410 could be modded to pull off the lines, you'd be looking at about $500 for a complete multichannel DAC+amp. Coupled with BruteFIR based eq and xover, this could be awesome.
 
Moderator
Joined 2002
Paid Member
tcpip said:

What kind of figures do they ask for?


Well the Delta 44 (6 channels) is about 25K, compared to a US price of about $300. The 1010 is about twice that.

I was actually exploring the option of ignoring the on-card DSP and using BruteFIR for all the digital filtering. That way, the software would be card-independent.


Yup, but you'll need a more powerful CPU- more heat, more noise, etc...

You lost me here. Did you mean that the Delta1010 has a more powerful DSP than the SB Live?


Much more powerful.

Why should we be concerned with the EMI? If a good sound card gives you excellent audible and measured performance while it is plugged into your average PC, doesn't it mean that the card is protecting the signals well enough?


You have a valid point, but honestly I don't think the SB Live! gives a good account of itself when it plugged into the PC. I have heard the Audigy/2 in action and am somewhat inmpressed, but not majorly - the best experience for my ears has been a Delta 44. Really, nothing else comes very close. Therefore, my POV is that soundcards don't give acceptable audible performance. The SB Live! does not even measure well.

The question of a quiet PC is another issue altogether, and there I feel that your approach of Kx drivers will make life easier for you. This is because you can then go for a lower-powered CPU, thus eliminating the CPU fan.


My view exactly. Unfortunately there is no contemporary CPU that will run without a fan, and obsolete hardware is not my cup of tea.

The other steps include eliminating the HDD or getting a really quiet laptop HDD, and eliminating the SMPS fan. (I'm typing this message on my laptop now; dawn is yet to break, and it's quiet all around. And my laptop hard disk is totally inaudible. It's possible to achieve this with a modified desktop.) It's probably possible to eliminate the SMPS altogether, replacing it with a traditional transformer-diodebridge-caps-regulator. This becomes very feasible if you eliminate the hard disk, thus dropping power consumption to less than 50W.


If I choose to use BruteFIR however, I may need a CPU too powerful to work without a CPU fan.


There we go. Either sufficient CPU power and fan noise (Zalman products are an acceptable compromise) or not enough juice but really silent. We have covered some ground with the newer breed of laptops, but cards with PCMCIA interface are yet rare. USB is too slow, so there is some ground to be covered.

Why do you think I was so keen on BruteFIR? :)


aha, but you still need windows to run it, don't you? Which is my point.

However, we are seeing a lot of musicians running their art and trade out of their homes, using a basic windows PC and some carefully chosen equipment, accessible to everybody, and the results are pretty good (head over to www.homerecording.com and check out some of the music) quality. Since it is good enough to make music, it must be good enough to play it...
 
>>My view exactly. Unfortunately there is no contemporary CPU that will run without a fan, and obsolete hardware is not my cup of tea.


You need to check out the just announced Via Nano-ITX, a full blown 1Ghz PC in a 4.7in X 4.7in square. I think it is fanless too (like Via's Eden series) because I do not see any fan on top of the CPU.

See
www.mini-itx.com
 
Moderator
Joined 2002
Paid Member
The Via Eden series CPUs are really underpowered. They are OK for Word and internet, but pretty much useless for anything else. The 900 MHz ones can just about play a DVD smoothly, and we're talking about major FPU applications which require a pretty beefy CPU.

The Via 1 GHz is unfortunately not in the same class as even a Celeron 500 MHz, its performance is that bad! So do not just look at the frequency, look at the task, because 6-8 channels of wave audio at full 16-bit resolution is difficult for any current CPU, and the top-end P4 3.2 GHz will be unable to render 6/8 24/96 streams in real-time with processed effects (which is basically what we will be aiming for), so the little bitty Via is nowhere a solution.

Yeah, it may be possible to run a 2-way XO using an SB Live!, using 16-bit wave files from the hard disk. I'm not sure it is up to doing that with MP3, as MP3 decoding takes CPU power too.
 
Hi!

sangram said:
Yeah, it may be possible to run a 2-way XO using an SB Live!, using 16-bit wave files from the hard disk. I'm not sure it is up to doing that with MP3, as MP3 decoding takes CPU power too.

Yes, it is.

I am running both a PC with a SB Live! with exactly the same setup as another PC with a SB Audigy (DSP effects are: 1* 10-Band EQ, 2* Freq. Splitter, 2 * Peaking (VU-Meter), 1 * Summ, 1 * Phase, 1 * APS Compressor), and on the slower PC (my MediaBox), which uses the Audigy and is equipped with a Intel P3 1000 Mhz (which I got for free..., and this CPU is really nice, runs at moderate temperature with a 8cm Fan at 1100 RPM...).
Since all audio effects are being rendered via DSP, they do not impact the performance of the PC at all, CPU-load while mp3 playback: 0-3%, while wav playback: 0-3%, while Vorbis-playback: 1-4 %, while DivX-playback: 40 - 91 % (depending on movie resolution and postprocessing settings in ffmpeg), DVD playback: 30-50 %.

So, if you only want to use a PC for audio, and chose the "DSP"-effects way (in other words: kx...), you could easily use the VIA ITX solution (with the Neremiah-core, preferrably). Only DivX playback can be choppy, if you watch full DVD-res movies...

Bye,

Arndt
 
sangram said:
Well the Delta 44 (6 channels) is about 25K, compared to a US price of about $300. The 1010 is about twice that.
Thanks. And I guess the markup is "normal" for most electronics goods available as direct imports. Take the US price, and double it to account for customs, shipping and Indian dealer margins + longer shelf life and you get the INR price.

I'd certainly try to get the card from abroad if I had to buy one. Nothing urgent here, so I'd rather wait and save.

Therefore, my POV is that soundcards don't give acceptable audible performance. The SB Live! does not even measure well.
I think you're writing off the entire category called sound cards based on their lower-end members. :) I have not personally played with, say, the M-Audio Audiophile 2496, but most reviews have compared it with separate standalone DACs costing USD 1K+ and it's come out comparable. And I know for a fact that my friends in the recording studios are using multi-channel sound cards for professional recording and processing. Those cards are expensive, but they're still "sound cards" working in EMI-rich PCs.

My view exactly. Unfortunately there is no contemporary CPU that will run without a fan, and obsolete hardware is not my cup of tea.
I am a little hesitant to label something "obsolete" just because
  • Microsoft software wants more power
  • Intel wants to sell me more expensive CPUs
I always like to see whether something is "obsolete" for me. In that context, a Via motherboard with, say, a 700MHz processor is good enough for a lot of applications for me, and maybe, for you too. My laptop has a 400MHz processor; it's adequate. Anything in current production is "non-obsolete" for me. This is a DIY forum, not a corporate purchase committee. :D

Usually, you'll need to be very affluent if you want to allow the Microsofts and IBMs of this world to dictate to you what's "obsolete." :)

There we go. Either sufficient CPU power and fan noise (Zalman products are an acceptable compromise) or not enough juice but really silent.
I could be wrong here, but I'm getting the impression that you're grossly overestimating the amount of processing power that's needed for things like BruteFIR. Have you checked what the author of that package is doing with just one PC? How many channels he's processing? It was quite an eye-opener for me. :bigeyes:

aha, but you still need windows to run it, don't you? Which is my point.
Have you read up about BruteFIR? One of my first reasons to look at it was because I don't need Windows to run it. Please check the first post of this thread, where I gave a bit of background; it may help clear up some of the stuff. And then there were many other posts from others in this thread, where they talk of the precise software platforms they're using. You may like to check dwk123's posts, for instance.

sangram said:
The Via Eden series CPUs are really underpowered. They are OK for Word and internet, but pretty much useless for anything else. The 900 MHz ones can just about play a DVD smoothly, and we're talking about major FPU applications which require a pretty beefy CPU.
Maybe you're making a bit of an error here, extrapolating from the video experience to infer audio performance? The data volumes needed for video are an order of magnitude (or is it two?) more than those for audio. And then there's the fact that video processing is 3D (height, width, and time axes) versus audio, which is 1D (just one data point per sample, thus only the time axis); this too makes video processing much more demanding. I suggest you check out the BruteFIR details, and some of the earlier posts on this thread. They really opened my eyes.

Yeah, it may be possible to run a 2-way XO using an SB Live!, using 16-bit wave files from the hard disk. I'm not sure it is up to doing that with MP3, as MP3 decoding takes CPU power too.
My 400MHz Intel processor decodes MP3 without the slightest perceived CPU load (i.e. less than 10%). You may have confused MP3 encoding versus decoding? It's encoding which takes up big CPU resources, not playback. And in the scheme most of us were discussing, there would be no I/O from HDD (BruteFIR is very suited to real-time straight-through processing), thus bringing down overall latencies and CPU load.

Tarun
 
Slightly off post - RIAA equalisation

I know this may be slightly off post but has anyone experience of RIAA (Phono preamp) equalisation using Dig filters?

I'm thinking along the lines of recording my vinyl using my limited TT & cartridge (or renting high quality combo) and recording to disk without phono preamp - then analysing TT/cart combo against test disc signal (sweep signal?) and applying correction filter to recorded vinyl for perfect? end result?

Has this been done or are there issues I'm not aware of?

JOhn
 
I just started toying with brutefir and as a first test I wanted to see if I got the coefficient file right. So I configured Brutefir to use files for input and output, but I can't seem to open the raw format which Brutefir spits out (i've wrote a simple program which uses libsndfile for this purpose, also playing the raw format with a wave-player does not seem to work).

Can anybody clue me in what this raw format of Brutefir is? Because my idea was to check the filter files with a fft of the output file...

Some wise words/urls from experienced users about the config file or the filter files would perhaps also help.

My idea for using brutefir was to play a little with the crossover point (and perhaps filter types) and compare this with my active XO's.

Thanks

Emiel

My testconfig is:
----------------------------------------------------------------
sampling_rate: 44100;
filter_length: 64,128;
show_progress: true;

## COEFFS ##
logic: "cli" { port: 3000; };

coeff "lp" {
filename: "lowpass.txt";
};

input "left", "right" {
device: "file" { path: "sjah.wav"; };
sample: "S16_LE";
channels: 2;
};

output "stereo dipole left", "stereo dipole right" {
device: "file" { path: "sjah.out.raw"; };
sample: "S16_LE";
channels: 2;
};

filter "left speaker direct path" {
inputs: 0/6.0;
outputs: 0;
coeff: "lp";
};

filter "right speaker direct path" {
inputs: "right"/6.0;
outputs: "stereo dipole right";
coeff: "lp";
};
----------------------------------------------------------------
 
The raw file output should be just that - raw samples. From your config, I'd guess that they are just raw interleaved 16 bit samples - exactly what you'd get in a typical wav file, but without the header.

Most sound editors under Linux have a raw import feature. You can always try a mono output file which should eliminate any problems with interleaving.
 
Moderator
Joined 2002
Paid Member
tcpip said:
I think you're writing off the entire category called sound cards based on their lower-end members. :) I have not personally played with, say, the M-Audio Audiophile 2496, but most reviews have compared it with separate standalone DACs costing USD 1K+ and it's come out comparable. And I know for a fact that my friends in the recording studios are using multi-channel sound cards for professional recording and processing. Those cards are expensive, but they're still "sound cards" working in EMI-rich PCs.


I think we're saying exactly the same thing, but differently - I say that anything less than an m-Audio Audiophile is unacceptable - My whoile point is that the SB Live! (50 dB dynamic range!) is just not cut out for anything like serious music listening. By that token, we are talking a lot of cash!

I am a little hesitant to label something "obsolete" just because
  • Microsoft software wants more power
  • Intel wants to sell me more expensive CPUs
I always like to see whether something is "obsolete" for me. In that context, a Via motherboard with, say, a 700MHz processor is good enough for a lot of applications for me, and maybe, for you too. My laptop has a 400MHz processor; it's adequate. Anything in current production is "non-obsolete" for me. This is a DIY forum, not a corporate purchase committee. :D

Usually, you'll need to be very affluent if you want to allow the Microsofts and IBMs of this world to dictate to you what's "obsolete." :)


I politely disagree. We have been saying for a long time time that 16/44.1 are not good enough standards for the reproduction of music, there is too much anti-alias effect and the resolution is not sufficient. One of the reasons for SACD/DVD-A have been the dissatisfaction caused by 'digital' formats.

Even those are far from perfect, but 24/96 is the next step forward as far as music is concerned. Sure there is the pleasure of DIY, but there is also the desire for good audio. Now of you look at 16/44 versus 24/96, we are talking a number of times more data, disk space, CPU resources, and DSP horsepower that is required to process the stream.

And here also we are not talking about one stream, but for a stereo two-way system, four of these streams with at least one effect (though frequency filter is one of the easiest DSP effects) each. Maybe more depending on the kind of filter implementation. My estimation of required CPU power is based not on what technology is available/current - but what is the required task - to process in realtime four to six streams of ultra-high quality uncompressed or high bitrate audio, with litte/no latency and no hesitiation... Not a single MP3 file...

There will be a balance between the investment and sound quality, which has always been the case be it in DIY or elsewhere. I (and probably I am the only one) think that the SB Live! is not good enough in terms of quality to be used for long-term listening. You may think differently. Which is great, too!

I also find CDs played back through my PC to lose a lot of detail, balance, weight and air, but maybe that's just me. Again, you may be quite satisfied with the quality offered by MP3, and of CDs played from a PC. Whatever rocks your boat is great, just doesn't work for me. I prefer my humble little system anyday for listening to music. I cannot listen to MP3 music for any given length of time - maybe to preview an album, maybe to serve as a guide to buying albums, but not more.

That's about that from my POV. Sorry to come back so late, but I am shifting my base cross-country and will be struggling to come online for a while now.
 
Just curious...

sangram said:
And here also we are not talking about one stream, but for a stereo two-way system, four of these streams with at least one effect (though frequency filter is one of the easiest DSP effects) each. Maybe more depending on the kind of filter implementation. My estimation of required CPU power is based not on what technology is available/current - but what is the required task - to process in realtime four to six streams of ultra-high quality uncompressed or high bitrate audio, with litte/no latency and no hesitiation... Not a single MP3 file...
Just curious... is your assessment of the CPU power requirements based on what others are already doing with BruteFIR, or is it based on some other line of reasoning? I was just curious to know what makes you so certain that a slow (by today's standards) CPU can't handle all the real-time processing that you've listed.

Tarun
 
Moderator
Joined 2002
Paid Member
Tarun: Today's hardware can handle 16-bit, 44 KHz audio, there's no dispute about that. maybe even on low-end hardware.

at that sampling frequency, you only need about 2 MB/s of bandwidth per stream to correctly handle everything. PCI bandwidth is about 133 MB/s, (take about 60% efficiency and you've still got enough headroom for six or eight audio streams. No problems. Even a Via Eden CPU should be able to manage when there is no windows environment present.

Is 16/44 audio good enough as a digital format? Maybe not. That is the crux of the issue. It is well accepted that 24/96, while not of the same quality as analog, is more acceptable than today's Red book. Thus, SACD and DVD-A (that is another can of worms all on its own anyway, though, so let's not go there just yet).

Now, compared to 16/44, 24/96 is a different ball of wax. I am unconvinced that a Via Eden/Pentium II or below will be able to process the streams. as compared to the 1411 kbps audio stream of a 16/44, the 24/96 audio has a bitrate of about 9.5 MB/s per stream.

Now, we are looking at six-channel audio of about 60 MB/s (conservatively), still not a problem for a system. You now need to perform DSP on the streams and break them up into two or three streams each, let's say two - you have reached 120 MB/s, which cannot be sustained by the PCI standard for a reliably long period. Let's say three, and you're over the hill.

The Audigy, the king of the hill as far consumer cards go, can spew out 1 full set of six channel 24/96 audio - which is about 60 MB/S. I cannot imagine three times the volume of this data from any modern-day system, just yet...

That is the reasoning, based on the numbers. Mind you, these systems will still be OK for production, as you do not need realtime rendering.

Edit: btw in case you want to take it offline i am at 9 8 1 9 3 2 4 8 5 2
 
The processing is done within the system bus which is running at close to 400mhz nowadays. Only the interface to the outside word is using PCI at 133Mhz. Please note that you are not using the soundcard to "process" the signal, you are merely using it to transport the processing from the CPU to the outbound DAC.
 
sangram said:
Now, compared to 16/44, 24/96 is a different ball of wax. I am unconvinced that a Via Eden/Pentium II or below will be able to process the streams. as compared to the 1411 kbps audio stream of a 16/44, the 24/96 audio has a bitrate of about 9.5 MB/s per stream.

Unless I'm mistaken, 44100 * 16 * 2 = 1411, but 96000 * 24 * 2 = 4500, not 9500 ;)

Still a lot of data, though.

Out of interest, and completely off topic, I believe the Red book standard specified support for 4 channel CDs (through flags), but of course none were ever made. Does anybody know if that would have needed double the data rate or some form of reduced bandwidth/bit depth?
 
The PCI bus is clocked with 33 MHz and it can transfere 4 bytes pr cycle corresponding to 133MByte/sec.

96 KHz sampling rate at 24 bit/sample in stereo correspondes to;

96000 * 4(Byte) * 2 = 768 KByte/sec
( the reason for the 4 times is that the PCI bus is 32 Bit wide( 4 Bytes))

Take a look at the VIA Envy Chipset for details on this.

So the PCI Bus is not going to limit the number of channels in any practical application.

For the convolution itself look at brutefir to get some estimates what CPU power is needed.

Morten
 
Moderator
Joined 2002
Paid Member
agent.5 said:
The processing is done within the system bus which is running at close to 400mhz nowadays. Only the interface to the outside word is using PCI at 133Mhz. Please note that you are not using the soundcard to "process" the signal, you are merely using it to transport the processing from the CPU to the outbound DAC.


Henckel said:
The PCI bus is clocked with 33 MHz and it can transfere 4 bytes pr cycle corresponding to 133MByte/sec.

96 KHz sampling rate at 24 bit/sample in stereo correspondes to;

96000 * 4(Byte) * 2 = 768 KByte/sec
( the reason for the 4 times is that the PCI bus is 32 Bit wide( 4 Bytes))

Take a look at the VIA Envy Chipset for details on this.

So the PCI Bus is not going to limit the number of channels in any practical application.

For the convolution itself look at brutefir to get some estimates what CPU power is needed.

Morten


All right, I now confused. I'll research it a little more, but is anyone running a 24/96 six-channel two way crossover succesfully on a system as on date?

Till then I'll get into a foxhole. These two posts have confused me.

Henckel: I believe that to transfer a wave file, from, say a hard disk, to the soundcard (assuming no CPU processing) takes up 2822 kb/s (1411 kb/s x 2), but if I were to go by your assumption, it would be 352 kb/s (44100 x 4 x 2).

agent .5: You, OTOH, you say the processing is dependent entirely on the CPU. Maybe I'm confused by the whole thing, and I don't have the equipment, speakers or amps to biamp, so once my PC arrives I'll have to check it out for myself with some simulations.
 
Think ram disk instead of hard drive. Once you store your master wave file and all the daughter files, processing is only done by the CPU and the system bus connecting the CPU to the memory. So use fast memory with fast system bus.

Once the processing is done (to die and slice the wave file and put it back together), the system (CPU/memory/motherboard with the system bus) then send one stream per channel to the PCI bus, which send the data to the soundcard.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.