audio-recordingsox

How to denoise audio with SOX?


Given a audio.wav recording with silence at both start and end for at least 1second...

How to denoise with SOX ?


Solution

  • What is SOX

    Create noise file from input audio's initial 0.9s silence + room's noise

    # sox in.ext out.ext trim {start: s.ms} {duration: s.ms}
    sox audio.wav noise-audio.wav trim 0 0.900
    

    Generate a noise profile in sox:

    sox noise-audio.wav -n noiseprof noise.prof
    

    Clean the noise from the audio

    sox audio.wav audio-clean.wav noisered noise.prof 0.21
    

    According to source :

    Change 0.21 to adjust the level of sensitivity in the sampling rates (I found 0.2-0.3 often provides best result).

    Sources