Go Down

Topic: Filtering audio(.wav) files using arduino. (Read 3276 times) previous topic - next topic


My school project require me to filter an audio file to get a clearer and more desired audio sound. I was told by my supervisor to
use a highpass filter.

I got my FIR code from this link:

I get the coefficient of the filter from my MATLAB design.

Currently, I am using an Arduino audio hacker shield to store the audio of the file that I'm suppose to filter. Adding in the FIR
codes to try and filter the audio. However, the audio output is not as I expect it to be.

Arduino Hacker:

Any other idea or suggestion for me to approach this project?


If it's actually a file and you don't need real-time processing, you can use an audio editor.  Audacity is FREE!   With an audio editor, high-pass or low-pass filtering is just a matter selecting the cut-off frequency and the slope.  (No math or programming required!)   

It's also my understanding that Matlab can directly open & save WAV files if you want to do it that way.

If you need real-time processing, it's helpful to start with an audio editor to determine exactly what needs to be done with DSP.

Or, you can get a Hardware Graphic Equalizer to do some real-time adjustment.  (A graphic EQ is usually limited to about +/-12dB changes.)   

However, the audio output is not as I expect it to be.
What does that mean?

A high-pass filter will knock-out low frequencies, so it's only going to help if you have low-frequency noise.     Boosting the higher frequencies will tend to bring-out the "T" & "S" sounds, which can sometimes help with intelligibility.    A graphic equalizer in your audio editor can do that, and it's easy to experiment with different equalizer settings.

There are limits to what you can achieve with audio filtering/processing.   There's a good reason professionals still record in soundproof studios with good acoustics, good equipment, good talent, etc.  ;)


I was told by my supervisor to use a highpass filter.

Did he say why, it sounds an odd choice to me as well.


Clearing up a sound can be one or more of the following:

noise removal
scratch removal
rumble removal
And some more... It takes a bit of experience and listening skills to get it right (and it will often not be perfect anyway.. Forget what you have seen in CSI etc)

a high pass filter sounds like a over-simplified solution.
programs like GoldWave excel at these things http://goldwave.com/index.php
If you want a free solution audacity takes you a long way

Go Up