Extraigo clips de audio de un archivo de video para el reconocimiento de voz. Estos videos provienen de dispositivos móviles / otros dispositivos hechos a mano y por lo tanto contienen mucho ruido. Quiero reducir el ruido de fondo del audio para que la voz que transmita a mi motor de reconocimiento de voz sea clara. Estoy usando ffmpeg para hacer todo esto, pero estoy atascado en la fase de reducción de ruido.
Hasta ahora he intentado los siguientes filtros:
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
Pero los resultados son muy decepcionantes. Mi razonamiento fue que, dado que el habla está por debajo del rango de 300-3000 hz, puedo filtrar todas las demás frecuencias para suprimir cualquier ruido de fondo. ¿Qué me estoy perdiendo?
Además, leí acerca de los filtros weiner que podrían usarse para mejorar el habla y descubrí esto, pero no estoy seguro de cómo usarlo.