I have a .wav file that is a recording of a person saying a sentence with a little bit of noise in it. First there is a few seconds of just noise, then the person speaking, then a second or two of just noise again. I wanted to see if I can filter out the noise using MATLAB; I heard that the frequency range of the human voice is 300Hz to 3kHz, so I tried making a lowpass filter with a cutoff frequency of 3kHz and then 4kHz (because I saw a small amount of signal all the way up to 8kHz when plotting the Fourier transform of the file) but neither seemed to help much. I think there is noise in the frequency range that the person is speaking. When I tried to remove noise using Audacity, by getting the "noise profile" of a few seconds of just noise in the recording, and then telling it to take out the noise, the file was much clearer. So, I was curious if there was a not too difficult way in MATLAB to find some properties of the section of the file where there is just noise and no one talking, and take out necessary amounts of those frequencies from the entire file?
If there is no somewhat easy/normal difficulty way of doing this, that's alright, because we can work with the files the way they are anyway. I was just curious if there was some way to mimic Aduacity's good result in MATLAB =)
I did not record these files, by the way, I got them from a database, so I don't know like the source of the noise or anything.