Software-based Ultra-equalizer

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

Sorry about the length of my previous post... got kinda carried away... ;) Anyway, here's my cost analysis based upon the outboard box PC-interface idea I put forth. If you can think of a cheaper way to interface with the PC, i'd like to hear it.

Processor:
SHARC ADSP-21065L = $50 + Flash program store (apx. $10) Note: SHARC has internal SRAM memory sufficient for the application, more extenal memory can be added later for a reasonable cost if necessary

PC = $600+ (for just a box with MB, processor, memory, small HDD, NIC, cheapo video card, and nothing else (eg you'll borrow the monitor and keyboard, mouse from another computer when you need to do config or dev. work)

Cost of other hardware:
For the DSP route, we have a PCB with say, 4x CS8414, 4xAD1896, host microcontroller, 4x stereo DAC, LCD display plus power supply and nice enclosure.

For the PC solution, we have PCB with say 4x CS8414, 4xAD1896, host microcontroller, 4x stereo DAC, LCD display plus power supply and nice enclosure, PLUS.. we also need the ethernet chip (eg CS8900A) and probably a PAL to handle data buffering and I2S interfacing with the digital audio chips. (developing and debugging the PAL HDL code could be a big pain...)

Total cost for the "other hardware" listed above will be very similar, because there are additional chips on the PC outboard box which are not needed on the dedicated DSP board, but the PCB cost could be a little lower since you might be able to get away with a 2-layer board instead of a 4-layer board.

So, the dedicated DSP solution comes to a significantly lower cost overall.

Sawzall: you're definitely correct when you mention that the PC solution is more flexible. It certainly offers the possibility of playback from hard-drive, so that's a significant difference not accounted for in this cost comparison. I guess the question is wether you want to use this for music playback or not. Personally, my intention is to use the PC i already have for music storage and playback, by outputting the data through my soundcard's SPDIF output, and sending that to the DSP box... That way I don't need to buy another PC to do the processing.

[Edited by hifiZen on 09-12-2001 at 06:10 PM]
 
Way (way) out of me depth here, but I like the ambition so I might just hang on the coattails of the competent if you don't mind. When you mentioned Sharc I remembered seeing these, http://cgi.ebay.com/aw-cgi/eBayISAPI.dll?ViewItem&item=1637680751 - how about a compromise, dirt cheap obselete PC with this card? If it was feasible that's a lot of the hardware dealt with for minimal cost (a group purchase would get the price down even further) and little effort.

Jake
 
The Bittware cards are very nice. Unfortunately, the Bittware cards are really designed as engineering testbeds, and so aren't set up to make things easy for the DIY'er. A dedicated audio DSP stand-alone board, or a computer's own processor would be much easier to work with. Another difficulty with these cards is that they don't solve the issue of handling i/o an audiophile standard. This requires good digital audio chips and good DACs, probably in an outboard box where they're not subject to the intense EM noise inside a computer case. Of course, if you only have an old computer at your disposal, and are willing to learn how to use these boards, then they're a good way to make an otherwise inadequate computer more than powerful enough to do all the fancy processing.
 
I see the PC as only part of the solution. The outboard processor is likely needed, at least so it has an independent clock and stack, so that the PC does not cause errors down stream. It needs to be able to talk to the box and control it in my mind.

Granted, much of my bias is from trying this in the broadcast industry. In those cases, 5 nines is required - we may accept more errors in our home gear. Many have tried a total one box solution, and have failed even after throwing gobs of money at it. Just not ready for prime time unless you have millions.
 
How about using one of the new soundcards -- they contain DSP chips. Developer software for the microsoft platform is (at least for the next 180 days) free for VS.net beta 2.

How come one cannot code against MMX or SSE? As I recall there is double precision there as well (64 bit). I saw no mention of either in your post, zen.

Clock speed means nothing except when compared to the exact same chip, however -- if check this quote from your link: "The BDTImark2000 is a summary measure of DSP speed distilled from a suite of DSP benchmarks [...]. A higher BDTImark2000 score indicates a faster processor." So a PIII/1GHz is a faster processor in real benchmarks, regardless of what one has to say about memory bandwidth etc which I presume is unlikely to be an issue in a sequential chain anyway.

I disagree with your cost projections. How much does an evaluation board or equivalent cost -- you quote cost of single DSP chip to my knowledge, and a large SMT device is essentially impossible to install without dedicated hardware? How much does software for same cost?

Now if you already own a PC, with CD/DVD drive (which I do) ... you can remove most of the cost of transport, building DSP box/board etc. For me this is a more appealing option.

Petter
 
getting tired of these comparisons...

Perhaps we're thinking along different lines. I'm envisioning a relatively static setup: somthing which implements a set of algorithms and sits there looping through them... things like digital crossovers, room acoustic corrections, multi-band EQs, and binaural headphone processing. These things don't require much interaction - just set your i/o paths, which algorithms are on or off, and perhaps a few parameters. Once everything's set, you just leave it. If you wanted to constantly twiddle and play with the setup, a PC might have an advantage. Then again, my outboard DSP box will have a serial port for linking to the computer and downloading code. There's no reason it couldn't be used to extend control possibilities.

Admittedly, I havn't looked much at the new soundcards. Perhaps they're powerful, but I suspect not. It doesn't make commercial sense to make anything powerful enough for FIR filters when IIR filters give satisfactory performance. Of course, as an audiophile looking for the absolute sound, i'm not really interested in this level of performance. I want the very best that technology has to offer, and that means big, fat FIR filters. It also means I don't want a noisy PC in my listening room, or long analog interconnects, or DACs inside the computer case, and i don't want to have to boot whenever i turn on my stereo. Booting aside, audiophile performance still demands an outboard DAC box. So, I stand by my cost analysis. (besides, this is DIY, and I wanna build something dangint! ;) )

As for the benchmarks, MMX and such are fully accounted for. MMX is basically SIMD that can operate at several different precisions - 8x8bit, 4x16bit, 2x32bit or 1x64bit. Virtually all DSP math operations would likely be done using MMX, and MMX mode disables FPU. I don't know what word size the BDTImarks used, but I would assume 32bits, to match the word size of the other floating-point DSP chips. But, to match or exceed the precision of the SHARC's 48 bit accumulators, the MMX would have to run at 1x64, it's slowest speed, and half as fast as 2x32bit mode (or maybe the BDTI rules allow the chip to run at 8x8bit mode... in which case you'd have to divide the performance figure by 8). Slice the cake any way you want - a PC will work, but I don't see it as an economic or convenient option.

I chose the SHARC because it's widely used for high-end audio applications like studio equipment. AD has excellent development tools (see previous posts), and the SHARC has it's own memory and glueless I2S i/o. It's a DIY'ers dream. Interestingly, the SHARC is used inside some of the Mark Levinson products... I'm more than convinced that of all the processors available, the SHARC is the best for audio work and the easiest for DIY.

Soldering SMD can be a pain, and I am lucky enough to have occasional access at work to fancy equipment, but even so I've seen people mount big SMD devices with an ordinary soldering iron. It can be done, and given the resourcefulness of the people on this forum, I have no doubt that most of them could find a way to get a 208-pin MQFP soldered one way or another (this is a much easier proposition than DE-soldering one...)

For those more interested in the PC option, something like the Layla made by Event would be a really nice option. Or, you can always try building your own Ethernet/USB outboard box...

Anyway, as a final word, I'm really surprised by the negative response I've seen here regarding a stand-alone DSP. For some reason, people seem really averse to the idea of building something with a big fancy processor. Is it really that scary? I dunno, I've been researching this one long and hard, and I'm just presenting my findings and conclusions here as unbiased as I can (naturally I'm confident that I've found the right solution for myself).

I recall a time when DIYers balked at the idea of building a DAC. The whole digital deal just seemed too complicated for a humble hobbyist to tackle. Gradually, people warmed up to the idea after seeing a few successful projects, and now DIY DACs are tremendously popular. Well, with any luck I hope to open some minds to the possibilities of being more adventurous in the digital domain.

[Edited by hifiZen on 09-19-2001 at 05:17 AM]
 
Negative responses

Zen, I did not intend to be negative -- your postings were very interesting. I do fear, however that costs quickly run away -- I have experience in that part of it for sure :)

For me, if I were to do something with DSP's (not likely since I don't have software, but I have something interesting in the pipeline that I am under NDA about for the next few months), I would probably attempt to get by with an evaluation board. There was an article on DSP boards in a recent issue of Audio Electronics which was Analog Devices SHARC based. I spoke with engineers at Analog Devices, and they have lots of software to match their hardware -- however I am not sure what they do these days.

In the longer term, I would probably be more interested in DSP devices from Texas Instruments given their lead in digital amplification which would be the next natural step to take.

I am very interested in digital frequency and phase correction, as well as digital crossovers etc. The simplest way to test something like this is to convert a CD to 24 or even 32 bit in say Soundforge, do some equalization on it and then play it back (no longer realtime). I found this to be an interesting experiement, and my next experiment is a digital crossover.

Keep up the good work and keep us informed!

Petter
 
oh, I didn't mean anyone in paticular... it's just the general sense I got while reviewing the thread.

hmm, yes, costs can quickly escalate. I think everyone's had a little fun with projects that run a little out of control... That's one of the reasons I've been unable to attempt this project until now... my student budget just couldn't handle it. ;)

I guess we'll see just what kind of budget is required soon. So far, I've spent about $1500 on all the parts for two DSP boxes, plus some spare parts and probably a pile of stuff I won't even need. The 4-layer boards will be in the $300 - $400 ballpark (fab run of only 2 boards). I won't know the exact cost until I've tallied up the final BOM, but I'm hoping for about $1000 - $1200 per complete project.

anyway, I'm definitely keen to hear your results with digital processing! And, as soon as I can get an up-to-date website put together and online, I'll be posting my results as well. In the meantime, perhaps I'll try and assemble some links and references to help get other interested people going on digital processing.
 
Update

Excuse my tech-talk if you can't program, this will still make sense.

I've done a bit of research and I recently designed a preliminary driver. I coded a virtual soundcard via a VXD (extremely annoying, runs in ring 0 so I can't use any libs.. not even string.h or math.h) that intercepts your outgoing waveform and applies any sort of changes you like, including crossover to multiple devices. The problem is that VXDs only work in Windows 95/98/ME and are extremely limited. As far as I know WDM doesn't allow virtual devices. So I am at a loss for how to make this useful. I considered making an easily used output plugin and just trying to get people to support it. Perhaps I could find out how to intercept and filter directsound output, but i doubt windows sound allows that.

The other problem is that I don't have a multichannel (SoundBlaster Live! Value is what I have) sound card nor the money to purchase one. I'm a student. Finding the money I just forked over for an Adire Audio Tempest was tough enough. So developing this is rather difficult.

On the bright side of things, this actually isn't hard to do. It just takes a little effort.

And to address OS debate:
Linux/UNIX makes this ridiculously easy. I can just make a kernel module for it. But so few people (audiophiles especially) use Linux/UNIX there's no point in developing it. It also offers 100% headless operation, so it could be run as another deck in your HT/stereo setup. That aside, I'm sending this message in Windows 2000 Pro.
 
Why Linux? Well it's opensource. FreeBSD, NetBSD, OpenBSD, HURD (once it's progressed) and any other opensource operating system would do the job. Because if you have direct access to the code for the sound drivers and api it would make the job much easier. I don't know how many people in this forum are coders but this wouldn't be too hard to implement in an opensource environment, one thing you'd need is a preemptive kernel though (you might get away without one, but most audiophiles demand the very best), which the stock linux kernel does not have (as of 2.4.14, maybe the 2.5.x series will, but technically the 2.5.x will be dev kernels). Although there is a kernel patch which will and preemptiveness, but is still in early stages and isn't even merged with the -ac tree (sorry, but if you're a kernel coder, or even just a guy that follows it, you'd understand). So unless you don't mind patching you're kernel with the early stages of the preemptive code, you might want to stick to an opensource os with a stock preemptive kernel, FreeBSD I do believe has one (I'm not sure, I don't really follow it). And I also think the other *BSDs do as well, yet I'd go with FreeBSD for the speed advantage it has over the others.

I for one wouldn't mind patching my kernel for preemptiveness (I actually have) and would help out with such a project if any is needed. For audio isn't my forte, just a little hobby of mine, coding is something I do better.
 
DSP vs. GPP

If cost is no issue some SMP Itanium setup running on whatever UNIX it runs on and a 20ch S/PDIF out card would be awesome. As far as I've read the Itanium has ridiculous math speed.

That aside, a reasonably fast CPU with either Intel's or AMD's new SIMD enhancements is likely to handle whatever is thrown at it.

In terms of requirements:
Considering a minimal FreeBSD install is somewhere in the range of 30MB, a iomega zip disk would be sufficient permanent storage, a harddisk could be used though. Audio processing is not memory intensive, and a bare-bones OS would include only essential kernel processes, so memory requirement is minimal. Large cache is good for this type of thing though. Perhipherals are uneccesary, a special driver could be developed for some sort of basic display and control on the front of the unit with an LCD kit. A careful design could eliminate all need for fans in the system.

The only software would be compact OS (something like QNX would be good), DSP software, sound card drivers and perhaps a communication daemon of some sort for on-the-fly adjustment of settings with another computer.

That's it. It wouldn't take long to assemble it. It would take perhaps an day or two to work out the basic interface with an LCD and such. Developing the software would be simplistic. I'd write a general daemon that recieved the sound input, offered a plug-in archetecture for filtering of the sound and then a general output system. I'd then develop a set of plugins like crossover, parametric EQ, etc. The plugins could be "stacked" so that a channel could have a crossover then the high pass of the crossover would go though a parametric EQ before output.

The obvious boon here is that it's a quick jump to add CD player capability, mp3/ogg playing, etc.
If one could use the output from a video card for TV it could also include DVD.
 
QNX is my preferred choice for an embedded OS running on x86 and PowerPC microprocessors. A bootable copy of QNX and a fairly complicated app (web browser) fits on a single floppy disk so you could probably skip the hard drive and just run out of flash memory. QNX is a hard, real time OS that is orders of magnitude better than any Microsoft OS for reliability and stability. I have yet to have to reboot a QNX development server I installed in 1998.

All this cool stuff comes at high price though. I set up a QNX development server for a project at my work and the license costs were in the $10K range. Individual run time license fees are great if you are buying in large volumes, but are pretty pricy for low volume (roughly $500 for qty 1).

An even bigger issue for this application will be device drivers for your sound card. QNX supports basic SoundBlaster compatible cards, but you will probably end up having to write your own device drivers for high end audio cards.

Phil Ouellette
 
Zen,
you say you are about to present your development work on your DSP. A lot of us would be interested in seeing it when it becomes available. I for one have been investigating the PC route, and am interested in what level of complexity is required to produce a standalone DSP board. ( I shudder to think of the production costs of a 4 layer PCB)

Thanks in advance,
Adrian
 
Hi Adrian,

A few months back there was a 2 part series in AudioXpress magazine about doing this exact exercise (DSP based audiophile crossover). The author paid $800 to have his prototype PCB made.

Most chip makers have development boards at a very reasonable cost (usually a couple hundred $US). If the DSP is aimed at audio work they normally have a version that includes good quality ADC and DAC converters (if they make them). Buying one of these will be way cheaper than rolling your own circuit board. Plus then you only have to fight your software when things don't work. You can depend on the hardware being done right. I am an embedded developer and I design high resolution signal processing equipment for Mettler-Toledo. Bringing up a new board design is not a trivial task, I have $12K ICE (In Circuit Emulator) that I use in place of the processor to give me visibility into the hardware. Without something like that, bringing up a new complicated board can be much more difficult.

Phil Ouellette
 
Adrian:

yeah, the 4-layer boards are gonna hurt the old pocketbook. I guess i've been a little lazy lately, and I havn't done any work on the DSP in the last few months. I should get back on it. If anyone has Protel, I can send the prelim. schematics... I think you'll be surprised. The SHARC chips have nice I2S input/ouput ports, and don't require much external support circuitry, so the board isn't that complex. Anyway, you'll definitely hear about it on this forum when i finally finish... of course, the first run will be small, just to test the board and make sure it's ok. Given the level of complexity, and my usual thoroughness, i'm confident the first board will work, but i'm still going to refrain from making rev.1 boards available just in case...

I'll keep everyone posted, but don't expect anything too soon, I'm taking my time on this one...
 
Maybe this is a (cheap) solution

I was searching for the same thing, a magical box wich can compensate for room and speaker imperfections.
Because i'm also a studio engineer i found a solution for myself in a different area:

http://www.behringer.de/eng/products/digitalprocessors/dsp8024.htm

You may think it will cost you a fortune but just look for a shop and you will be surprised!(i paid $500,-)
They also offer a compensated microphone at low cost so thats solved too.
It's intended for pro audio engineers but very well usable at home, just read the following review of an Audiophile:

http://www.enjoythemusic.com/magazine/equipment/0101/behringer8024.htm

I've ordered mine so i can't tell you yet how it works out for me but if your interested i'll keep you posted.

Grtz. Roonan


[Edited by Roonan on 11-19-2001 at 04:42 AM]
 
Hi Roonan,

I'm familiar with the Behringer unit you are talking about. This product is aimed at eliminating feedback in monitoring systems for live sound use. You get an RTA, 2 12 band parametric eq's and an automatic feedback elimination mode. From a live sound standpoint the RTA and eq are usable, but the automatic feedback elimination is pretty worthless. It can jump on sustained notes, like someone singing for example, and cut them right out of the mix. This is a lot of fun during rehersals, but I would never trust this feature during a gig. Sabine does this sort of stuff much better.

I can't comment on how well the eq will work in a home sound system. The filters are designed to be as narrow as possible (1/12 octive) so as to better eliminate feedback without chopping too much of the sound quality. I have never used this on the main speakers, especially for system eq, I only use it on vocal monitor speakers. I don't expect that this will be optimal for home use.

I own a couple of pieces of Behringer gear and generally they are pretty much bottom of the line gear. Their compressor's (especially the older Composer Pro's) are decent, but the rest of their gear (especially their mixers and eq's) are not highly regarded by most live sound guys.

All of Behringer's gear is made in China now, not Germany. I don't know if this matters to you, but Behringer has a bad track record about stealing intellectual property from other companies and selling knockoffs of someone elses design. I personnally will never buy another Behringer product again, because I don't like their ethics. This can be tough because they always have low prices, but I guess if you don't have to pay to design gear you can sell it for less.

If you want to see this kind of stuff done right checkout the MediaMatrix DSP speaker controller. http://mediamatrix.peavey.com/ This is what you would use for a complicated sound system in a large facility (like a big church or auditorium). Really top notch performance.

Phil Ouellette
 
This software looks great/ Behringer, Yes or No?

Very interesting software indeed Cellular Mitosis.

To bad i already ordered the Ultra Curve ;)

Haldor, i still think it will work out with an external DAC.
I only want to use the auto-Q function.
If this doesn't give good results i will send the unit back!
Have you read the second link in my post? Maybe Thorsten works secretly for Behringer and it's no good?!
I also own some Behringer equipment and i know it's low budget stuff.

The reason for this buy is that i don't want to boot a (noisy) computer everytime i want to listen to music.
It looks like a cheap solution and maybe it's just that.
I'll keep you posted.

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