Видаліть тишу з аудіофайлів, залишаючи пробіли


16

Наразі ми використовуємо цю команду в сценарії оболонки для видалення тиші з аудіофайлів:

ffmpeg -i $INFILE -af silenceremove=0:0:0:-1:1:${NOISE_TOLERANCE}dB -ac 1 $SILENCED_FILE -y

Це чудово працює, за винятком того, що він видаляє всю тишу, в результаті чого решта аудіо стискається разом.

Як це можна зробити, залишаючи дві-три секунди між кожним фрагментом аудіо?

Рішення повинно бути дуже ефективним, оскільки ми будемо обробляти багато аудіо та використовувати інструмент, який досить легко встановити як на Linux, так і на OSX, наприклад ffmpeg або sox.

Відповіді:


25

Найкращий спосіб, який я бачив, - додавання -l прапор до тиші наступним чином:

sox in.wav out6.wav silence -l 1 0.1 1% -1 2.0 1%

Я скопіював цю команду з прикладу 6 цього дуже корисного повідомлення в блозі під назвою «Сокс мовчання»


Перевірений і робить саме те, що мені потрібно. Дякую!
Nathan ReinstateMonica Arthur

Нарешті рішення про те, як це працює. Спасибі.
vr_driver

Я хотів би зробити це для відео та виправити тишу - чи спрацює SoX? Яка найкраща альтернатива?
zero_cool
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.