The life cycle of performance-critical code is supposed to go in three phases: (1) make it work. (2) make it work right. (3) make it work fast. In truth, there's probably another step, (4) make it work right and fast.
Over the last few days, I've been revisiting some of my plugins and doing a step-two on them, fixing some long-standing bugs. In particular, I've been relying heavily on a particular digital filter implementation that becomes, um, explosively unstable at what are really fairly moderate cutoff frequencies.
In the DSP technical sense, a filter amplifies or suppresses portions of an audio signal based on their frequency. I've been relying heavily on one particular kind of digital filter, the Chamberlin 12dB/octave state variable type. This has the advantage of being really simple to code and very flexible. A single block of code simultaneously calculates the low-pass, high-pass, band-pass, and band-stop outputs from the filter. This is good if, like me, you never know what you're going to want. Low-pass filters are the bread and butter of analog synthesizer emulation, but the other forms are also useful.
The Chamberlin filter has a pretty severe limitation in that it becomes computationally unstable as the cutoff frequency increases. Instead of keeping its output in a nice reasonable range of numbers, it goes exponentially out of range, which generally leads to a brief pop followed by silence. Usually it's a digital clipping sort of pop rather than a speaker-cone-ripping sort of pop, but still, not a good thing.
Chamberlin's book, Musical Applications of Microprocessors, neglects to mention this instability at all. It's well known in DSP circles, but I'm new to this whole thing, so only slowly began to grok the connections between discussions of stability limits and the misbehavior of my plugins. I've now known for a while that I needed to do something about it, and finally this week have managed to make the fix.
The basic approach is, since the stability limit is related to the digital sampling rate, to oversample within the filter, increasing the effective sampling rate, thereby increasing the stability limit. You can oversample by a little bit and add some hackery to help avoid the stability limit, or oversample by a lot and restrict the usable range of the cutoff frequency to ensure you never get to the stability limit. (I was restricting the cutoff freq range previously, but now I have a lot more range and a lot more margin of error available simultaneously.) I've now got implementations for both approaches in my filter library — they're each handy in different situations.
So, to take advantage of the new filter implementations, I've revisited some of my early plugins, Breathe Beat and Pegger, and released updated versions with the new filters and sundry other improvements.
Now, Breather, the new version of Breathe Beat, is hooked up to an emulated TR-808 and its output fed through a nasty reverb, and oh my goodness does it sound fabulous when the bandpass filter swoops down through 30Hz just as the 808 kick triggers. It's the kind of thing that makes otherwise reasonable people want to spend thousands of dollars customizing their pickup truck just to cruise around with it thumping out of their subwoofers. To tell the truth, I could do this with the old version too, but it somehow sounds better knowing that the code behind it sucks less.
Posted by russell at June 25, 2002 05:53 PMhandjob forums candy @X@ cock whore tugjobs @X@ strokejobs webcam gangbang @X@ mov karissa @X@ bignaturals sierra @X@ nemo squirt catalin @X@ cumming jenny @X@ delaying ejaculation clara @X@ ninas bellacas @X@ dibujos celtas @X@ fotos descuidadas voyeur @X@ putas debutantes colombianas @X@ relatos chuchas dvd @X@ braguitas y tangas @X@ girls squirt dvd @X@ extreme ejaculation @X@ tugjobs creamed bedroom @X@ cum jerking handjobs @X@ tugjobs jacqueline @X@
Posted by: siux at April 27, 2006 01:57 AMThe Israel News Agency is asking every SEO advertising marketing professional to create Web pages and optimize the keywords: "Iran Holocaust Cartoon Contest" in order to prevent the Iran newspapers, bournemouth-computer-sales co uk the enemies of Israel, the Jews, the Christians and Western democracy from attaining a high Google and Google News position freysplace vstore ca http://freysplace.vstore.ca/pages.php/page/conditions?osCsid=d469ce76807eb4e48c936017e5bc705b
Posted by: freysplace vstore ca at May 6, 2006 08:53 AMhi ,nice site!
http://huivrot.bitacoras.com/orderviagra/online.html
order viagra
[url=http://huivrot.bitacoras.com/orderviagra/online.html]order viagra[/url]
[url=http://huivrot.bitacoras.com/orderviagra/online.html]viagra online[/url]
viagra online
hi ,nice site!
http://www.boomp.com/board/?mforum=discountviagra
viagra
[url=http://www.boomp.com/board/?mforum=discountviagra]viagra[/url]
[url=http://www.boomp.com/board/?mforum=discountviagra]discount viagra[/url]
discount viagra
hi ,nice site!
http://rxorder.short.be/
viagra
[url=http://rxorder.short.be/]viagra[/url]
[url=http://rxorder.short.be/]buy viagra[/url]
buy viagra
hi ,nice site!
http://www.putfile.com/lemers
buy viagra
[url=http://www.putfile.com/lemers]buy viagra[/url]
[url=http://www.putfile.com/lemers]viagra online[/url]
viagra online
Descriptions of pubs their atmospheressax
Posted by: satan4sax at July 7, 2006 11:39 AMhttp://carisoprodolorder.lolbb.com/ http://carisoprodolorder.zikforum.com/ http://carisoprodolorder.forumup.org/?mforum=carisoprodolorder Buy carisoprodol Buy carisoprodol Buy carisoprodol Carisoprodol online Carisoprodol online Carisoprodol online Cheap carisoprodol Cheap carisoprodol Cheap carisoprodol Carisoprodol Carisoprodol Carisoprodol Carisoprodol soma Carisoprodol soma Carisoprodol soma Order carisoprodol Order carisoprodol Order carisoprodol Carisoprodol cheapest Carisoprodol cheapest Carisoprodol cheapest Buy carisoprodol online Buy carisoprodol online Buy carisoprodol online Carisoprodol online order Carisoprodol online order Carisoprodol online order 350 carisoprodol mg 350 carisoprodol mg 350 carisoprodol mg 350mg carisoprodol 350mg carisoprodol 350mg carisoprodol
Posted by: Buy carisoprodol at July 29, 2006 06:11 AMhttp://www.kazboard.com/anga.html Anal gay Anal gay sex Anal gay sexo Anal cum gay Anal gay porn Anal fucking gay Anal fuck gay Anal gay hardcore Anal gay teen Anal gay video Anal fisting gay Anal boy gay
Posted by: Anal gay sex at September 17, 2006 01:47 AMwife fucks her boss wife swap sex
Posted by: Ddih at October 9, 2006 04:55 AMfree tiny tits hung by her tits
Posted by: Xjfcgtmm at October 9, 2006 06:20 PMgay male strippers gay clips
Posted by: Giuscgus at October 10, 2006 06:03 AMgay male strippers gay clips
Posted by: Giuscgus at October 10, 2006 06:04 AMgay male strippers gay clips
Posted by: Giuscgus at October 10, 2006 06:04 AM