3

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

Пройдите 1 команду:

ffmpeg -i in.wav -af loudnorm=I=-16:TP=-1.5:LRA=11:print_format=json -f null -

Выход:

{
        "input_i" : "-23.54",
        "input_tp" : "-7.96",
        "input_lra" : "0.00",
        "input_thresh" : "-34.17",
        "output_i" : "-23.09",
        "output_tp" : "-7.51",
        "output_lra" : "0.00",
        "output_thresh" : "-33.72",
        "normalization_type" : "linear",
        "target_offset" : "7.09"
}

Пройдите 2 команды:

ffmpeg -y -i in.wav -af loudnorm=I=-16:TP=-1.5:LRA=11:measured_I=-23.54:measured_TP=-7.96:measured_LRA=0.00:measured_thresh=-34.17:offset=7.09:linear=true:print_format=summary -ar 16k out.wav

Выход:

Input Integrated:    -23.5 LUFS
Input True Peak:      -8.0 dBTP
Input LRA:             0.0 LU
Input Threshold:     -34.2 LUFS

Output Integrated:   -23.1 LUFS
Output True Peak:     -7.5 dBTP
Output LRA:            0.0 LU
Output Threshold:    -33.7 LUFS

Normalization Type:   Linear
Target Offset:        +7.1 LU

Я ожидал, что выходные значения будут близки к указанным значениям, например, Output Integrated: -16.0 LUFS . Почему это не так?

Обновление: если я нормализую пик в in.wav измеренное значение input_i будет -15.55. Применение loudnorm к этому файлу дает ожидаемый результат. Таким образом, loudnorm сделает громкий файл тише, но не тихий файл громче.

1 ответ1

5

Фильтр громкости использует (перекрывающиеся) окна с 3-х секундным звуком, чтобы рассчитать кратковременную громкость в источнике и настроить пункт назначения в соответствии с целевыми параметрами. Файл сэмпла длится всего секунду, что выглядит как причина аномальной нормализации.

Если я дописываю звук до 3 секунд и запускаю,

ffmpeg -i in.wav -af apad,atrim=0:3,loudnorm=I=-16:TP=-1.5:LRA=11:measured_I=-23.54:measured_TP=-7.96:measured_LRA=0.00:measured_thresh=-34.17:offset=7.09:linear=true:print_format=summary -ar 16k pad-out.wav

Loudnorm работает как положено.

Input Integrated:    -23.8 LUFS
Input True Peak:      -8.0 dBTP
Input LRA:             0.2 LU
Input Threshold:     -36.0 LUFS

Output Integrated:   -15.9 LUFS
Output True Peak:     -1.5 dBTP
Output LRA:            0.0 LU
Output Threshold:    -26.7 LUFS

Normalization Type:   Dynamic
Target Offset:        -0.1 LU

Чтобы восстановить исходную длину, вы можете запустить вышеуказанную команду с фильтром обрезки в конце

ffmpeg -i in.wav -af apad,atrim=0:3,loudnorm=I=-16:TP=-1.5:LRA=11:measured_I=-23.54:measured_TP=-7.96:measured_LRA=0.00:measured_thresh=-34.17:offset=7.09:linear=true:print_format=summary,atrim=0:1.0 -ar 16k trimmed-out.wav

где 2-й аргумент atrim - исходная продолжительность в секундах.

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