Я должен «настроить» некоторые записи уроков, которые я посетил. Профессор шел туда-сюда, но мой магнитофон находился в определенном месте; теперь у меня есть звуковые дорожки, переходящие от громкого к шепоту. Как я могу справиться с этим с помощью ffmpeg?
1 ответ
Есть несколько возможностей:
Применяйте простую нормализацию (например, пиковую или среднеквадратичную нормализацию). Это только изменит усиление во всем файле, так что вы все равно будете испытывать различия между громкими и мягкими частями. Не очень рекомендуется для вашего случая использования.
Используйте динамическое сжатие с фильтром
compand
. Это уменьшит динамический диапазон (то есть разницу между тихими и громкими частями) на протяжении всей записи. Вы должны найти правильный порог, при котором начинается сжатие, и вы, скорее всего, получите довольно шумные сигналы для мягких частей.Используйте фильтр
dynaudnorm
, который «позволяет применять дополнительное усиление к« тихим »частям звука, избегая искажений или обрезая« громкие »участки». В вашем случае это было бы предпочтительным вариантом.
По сути, вам просто нужно скачать последнюю статическую сборку ffmpeg отсюда и затем запустить:
ffmpeg -i input.wav -filter:a "dynaudnorm" output.wav
Скорее всего, вам потребуется настроить параметры фильтра для вашего конкретного случая использования. Используйте примеры, приведенные для фильтра compand
в качестве отправной точки:
Сделайте музыку с тихими и громкими пассажами, подходящими для прослушивания в шумной обстановке:
compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2
Еще один пример звука с частями шепота и взрыва:
compand=0|0:1|1:-90/-900|-70/-70|-30/-9|0/-3:6:0:0:0
Здесь параметры второго примера, в частности:
attacks=0|0
decays=1|1
points=-90/-900|-70/-70|-30/-9|0/-3
soft-knee=6
gain=0
volume=0
delay=0
Вы можете отрегулировать усиление, чтобы сохранить ту же динамическую обработку, но настроить ее в соответствии с базовым уровнем входного сигнала.
Кроме того, в качестве графической альтернативы ffmpeg вы можете использовать Audacity и его встроенный компрессор, который достигает того же эффекта, что и фильтр compand
в ffmpeg. В вики тоже есть хорошее объяснение опций.