I extract audio clips from a video file for speech recognition. These videos come from mobile/other handmade devices and hence contain a lot of noise. I want to reduce background noise of the audio so that the speech is clear which I can then relay to my speech recognition engine. I am using ffmpeg to doall this stuff, but am stuck at noise reduction phase. Till now I have tried following filters:
ffmpeg-20140324-git-63dbba6-win64-static\bin>ffmpeg -i i nput.wav -filter_complex "highpass=f=400,lowpass=f=1800" out2.wav ffmpeg -i i nput.wav -af "equalizer=f=1000:width_type=h:width=900:g=-10" output.wav ffmpeg -i i nput.wav -af "bandreject=f=1200:width_type=h:width=900:g=-10" output.wav
But all the results are very disappointing. MY reasoning was that since speech comes under 300-3000 hz range I can filter out all other frequencies to suppress any background noise. What am I missing?
Also, I read about weiner filters that could be used for speech enhancements and found this https://www.ffmpeg.org/doxygen/0.6/wmavoice_8c-source.html but am not sure how to use this