Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I De-Ess a sound file with SoX?

Tags:

audio

sox

I am using SoX to create slow but pitch corrected audio files. The resulting files sound pretty good, but often have a very hard "S" sound that I would like to filter out. Many desktop programs include a "De-Essing" filter that works well, but I would like to have a filter that works on the server side.

What SoX filter and parameters should I use to De-Ess an audio file?

Edit: I should add that this needs to work on Linux.

like image 594
jcampbell1 Avatar asked Mar 03 '10 03:03

jcampbell1


2 Answers

There is a LADSPA DeEsser plugin that can be used from SoX. You need to have tap plugins installed and properly configured on your system. On Archlinux this can be easily achieved with

pacman -S tap-plugins

You can specify threshold and frequency as first and second arguments. I succesfully used a variant of the following command

# -30: threshold (dB)
# 6200: hiss frequency (Hz)
sox from.wav to.wav ladspa tap_deesser tap_deesser -30 6200

The filter has a fistful of other options I did not analyzed. More details can be found here.

like image 112
ntd Avatar answered Sep 29 '22 09:09

ntd


While far from perfect, you may be able to get sufficient results by a suitable low-pass filter. That should not affect other parts of a speech signal too much.

like image 31
Tronic Avatar answered Sep 29 '22 10:09

Tronic