Estraggo clip audio da un file video per il riconoscimento vocale. Questi video provengono da dispositivi mobili / altri fatti a mano e quindi contengono molto rumore. Voglio ridurre il rumore di sottofondo dell'audio in modo che il parlato che inoltro al mio motore di riconoscimento vocale sia chiaro. Sto usando ffmpeg per fare tutto questo, ma sono bloccato nella fase di riduzione del rumore.
Fino ad ora ho provato i seguenti filtri:
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
Ma i risultati sono molto deludenti. Il mio ragionamento era che, poiché il parlato rientra nell'intervallo 300-3000 hz, posso filtrare tutte le altre frequenze per sopprimere qualsiasi rumore di fondo. Cosa mi sto perdendo?
Inoltre, ho letto dei filtri Weiner che potrebbero essere utilizzati per i miglioramenti del parlato e ho trovato questo, ma non sono sicuro di come usarlo.