O Audacity tem um excelente processo de redução de ruído que eu acho que funciona muito bem: selecione uma seção de áudio "silenciosa", escolha Efeitos > Redução de ruído > Obtenha perfil de ruído. Em seguida, selecione todo o fluxo, escolha Redução de Ruído novamente, clique em OK. Eu suponho que funciona, encontrando a densidade espectral de potência da amostra e por que meios ela atenua essa assinatura de todo o fluxo, não tenho certeza. Suponho que a redução de ruído por este meio depende de quão boa é a representação da amostra de ruído em todo o fluxo.
Eu quero automatizar isso com o ffmpeg: automaticamente encontre uma seção "silenciosa" do áudio (ou idealmente, várias, e comparando-as para comparar a sua semelhança), onde a quietude seria aquela com o SNR mais baixo e então convolutando amostra com o fluxo inteiro. Não sei qual filtro de convolução o Audacity usa.
Alguma idéia de como fazer isso? Um plugin customizado teria que ser escrito para o ffmpeg para encontrar seções silenciosas?