A resposta aceita não dá um exemplo prático (veja o primeiro comentário), então estou tentando dar um aqui. No Ubuntu com o apt, você deve instalar sox
e suporte aos formatos de áudio
Primeiro instale sox
e suporte para formatos (incluindo mp3):
sudo apt install sox libsox-fmt-*
Antes de executar seu comando no (s) arquivo (s) primeiro (s), você precisa criar um perfil, fazer uma amostra do ruído, esta é a parte mais importante para selecionar o melhor horário em que o ruído ocorrer, certifique-se de não tenha voz (ou a música / sinal que você tenta manter) neste exemplo:
ffmpeg -i source.mp3 -ss 00:00:18 -t 00:00:20 noisesample.wav
Agora faça um perfil a partir dessa fonte:
sox noisesample.wav -n noiseprof noise_profile_file
E, finalmente, execute a redução de ruído no arquivo:
sox source.mp3 output.mp3 noisered noise_profile_file 0.31
Onde noise_profile_file
está o perfil e 0.30
o valor. Os valores variam melhor entre 0,20 e 0,30, acima de 0,3 é muito agressivo, abaixo de 0,20 é suave e funciona bem para áudios muito barulhentos.
Tente brincar com isso e se você encontrar outros truques de configuração e comente com as descobertas e configurações de ajuste.
como processá-los em lote
Se o ruído for semelhante, você pode usar o mesmo perfil para todos os mp3s
ls -r -1 *.mp3 | xargs -L1 -I{} sox {} {}_noise_reduced.mp3 noisered noise_profile_file 0.31
ou se houver uma estrutura de pastas:
tree -fai . | grep -P ".mp3$" | xargs -L1 -I{} sox {} {}_noise_reduced.mp3 noisered noise_profile_file 0.31