Как обрезать тишину только с начала и конца mp3-файлов, используя FFMpeg?

570
acman123

После расследования, чтобы найти решение проблемы, я оказался с пустыми руками. Мне нужна опция контекстного меню в Windows 10, чтобы всякий раз, когда я щелкаю правой кнопкой мыши по mp3-файлу, у меня была эта опция, чтобы обрезать молчание от начала и до конца mp3-файлов. Я не хочу удалять молчание из средних частей аудиофайлов. Может ли кто-нибудь предоставить мне соответствующую командную строку FFmpeg для удаления пауз только из начала и конца mp3-файлов?

1

1 ответ на вопрос

1
Paul B. Mahol

Что-то вроде этого: ffmpeg -i input.mp3 -af "silenceremove=start_periods=1:start_duration=1:start_threshold=-60dB:detection=peak,aformat=dblp,areverse,silenceremove=start_periods=1:start_duration=1:start_threshold=-60dB:detection=peak,aformat=dblp,areverse" output.flac

Вам нужно будет изменить как пороговые значения, так и длительности для вашего конкретного случая.

Это работает удивительно, но не могли бы вы объяснить, какая часть двух кодов + обратная? Это в основном сканирование с начала аудио, затем реверсирование и сканирование с конца? CreativiTimothy 5 лет назад 0
Yes, because removing silence from end of audio is problematic in sense that you need to know where is end of audio before starting trimming silence. And silenceremove filter can not know end of audio before it actually reach it except if user was tasked to enter it somehow before filtering process. Paul B. Mahol 5 лет назад 1
what does durations setting do here? Could you give an example? acman123 5 лет назад 0
Если длительность части безмолвия после паузы больше или точнее 1 секунды (длительности устанавливаются обычно в секундах), то она не будет обрезана. Молчание определяется с использованием параметра «Порог» среди других параметров, таких как определение пика и размер окна. Таким образом, вы можете обрезать короткие шумы тоже. У меня есть патч WIP для этого фильтра, добавлена ​​поддержка сохранения тишины до и после обрезки, чтобы она была более естественной для прослушивания. Paul B. Mahol 5 лет назад 0
Что такое "исправление WIP"? acman123 5 лет назад 0
Work in progress code additions to silenceremove filter to extend its functionality. Paul B. Mahol 5 лет назад 0

Похожие вопросы