Wyciągam klipy audio z pliku wideo w celu rozpoznania mowy. Te filmy pochodzą z urządzeń mobilnych / innych ręcznie robionych i dlatego zawierają dużo hałasu. Chcę zredukować szum tła w dźwięku, aby mowa przekazywana do mojego silnika rozpoznawania mowy była wyraźna. Używam ffmpeg do robienia tych wszystkich rzeczy, ale utknąłem w fazie redukcji szumów.
Do tej pory wypróbowałem następujące filtry:
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
Ale wyniki są bardzo rozczarowujące. Moje rozumowanie było takie, że ponieważ mowa mieści się w zakresie 300-3000 Hz, mogę odfiltrować wszystkie inne częstotliwości, aby stłumić wszelkie szumy tła. czego mi brakuje?
Przeczytałem również o filtrach Weiner, które można wykorzystać do ulepszeń mowy, i znalazłem to, ale nie jestem pewien, jak z niego korzystać.