y(n) = 0.5 x(n) + 0.5 x(n-1)


Hi, I’m Cliff. You’re here because you understand the formula above. I’m here because I wanna use the formula above against some of my favorite music tracks… while running on the iPhone. I’m NOT a mathematical guru. I work with some math gurus, who I respect deeply. I don’t pretend to have invented the above formula. I can barely pretend to understand it. But when you put it in practice, when playing something like Snoop Dogg, well… you’ll just have to see for yourself.

Ok, enough teasing! What you are looking at is a simple low pass filter. It’s the thing that comes in your audio hardware, right under the bass dial. I’m feelin’ this because I love bass. I’m also feeling good because I think I just learned a couple of things about audio digital signal processing (DSP). What a great first lesson.

The actual formula for a low pass Infinite Impulse Response (IIR) filter would be:
y(n) = A x(n) + B y(n-1)

Why is that important? Well, when you get into audio programming you find that there are lots of things that you can do with sound. There are things that would have been exciting in the mid 80’s to late 90’s but are now typically found in some cheap $5 device at Walmart, such as applying the chipmunk effect to your voice, echoing effects, or something like the jet-pilot effect. These are some of the effects found in MaryTTS and typical things I used to find in, for eg., the Transformers headset that I got for Christmas that one year. I knew it cold be done. I’ve seen others do it. But up until now I never understood how it was done.

I mentioned a while back that I have a passion for audio and acoustics. That passion has resurfaced recently leading me into the study of audio encodings and such. I am such a novice here but I’ve managed to get my head around concepts such as Pulse Code Modulation and Pulse Position Modulation. I’m just scratching the surface. Eventually I’ll read up on compression and advanced DSP.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s