Как удалить звуковой файл с помощью SoX? - PullRequest
6 голосов
/ 03 марта 2010

Я использую SoX для создания медленных, но исправленных по высоте звуковых файлов. Получающиеся файлы звучат довольно хорошо, но часто имеют очень жесткий звук "S", который я хотел бы отфильтровать. Многие настольные программы включают фильтр «De-Essing», который работает хорошо, но я хотел бы иметь фильтр, который работает на стороне сервера.

Какой фильтр и параметры SoX следует использовать для удаления аудиофайла?

Редактировать: я должен добавить, что это должно работать на Linux.

Ответы [ 3 ]

3 голосов
/ 01 декабря 2014

Существует плагин LADSPA DeEsser , который можно использовать из SoX. Вам необходимо установить и правильно настроить подключаемые модули в вашей системе. На Archlinux это может быть легко достигнуто с

pacman -S tap-plugins

Вы можете указать порог и частоту в качестве первого и второго аргумента. Я успешно использовал вариант следующей команды

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

У фильтра есть несколько других опций, которые я не анализировал. Более подробную информацию можно найти здесь .

1 голос
/ 03 марта 2010

Хотя это далеко не идеально, вы можете получить достаточные результаты с помощью подходящего фильтра нижних частот. Это не должно слишком сильно влиять на другие части речевого сигнала.

0 голосов
/ 03 марта 2010

Вы можете использовать VST де-эссера, например spitfish , и хост VST командной строки, например MissWatson . Sox имеет очень ограниченную поддержку плагинов, так что если вам нужно что-то более конкретное, вам лучше пойти по VST-маршруту.

...