1

Я должен «настроить» некоторые записи уроков, которые я посетил. Профессор шел туда-сюда, но мой магнитофон находился в определенном месте; теперь у меня есть звуковые дорожки, переходящие от громкого к шепоту. Как я могу справиться с этим с помощью ffmpeg?

1 ответ1

2

Есть несколько возможностей:

  • Применяйте простую нормализацию (например, пиковую или среднеквадратичную нормализацию). Это только изменит усиление во всем файле, так что вы все равно будете испытывать различия между громкими и мягкими частями. Не очень рекомендуется для вашего случая использования.

  • Используйте динамическое сжатие с фильтром 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. В вики тоже есть хорошее объяснение опций.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .