ffmpeg O filtro loudnorm não torna o áudio mais alto

3

Sou novo no filtro loudnorm. Eu usei-o com sucesso para tornar um arquivo mais silencioso, mas não consigo fazê-lo mais alto.

Passe 1 comando:

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

Saída:

{
        "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"
}

Comando Pass 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

Saída:

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

Eu esperava que os números de saída estivessem próximos dos valores especificados, por exemplo, Output Integrated: -16.0 LUFS . Por que não é esse o caso?

Atualização: se eu pico normalize in.wav o input_i medido é -15,55. Aplicando loudnorm para esse arquivo dá a saída esperada. Então loudnorm fará o arquivo alto mais silencioso, mas não o arquivo silencioso mais alto.

    
por gauss256 31.12.2017 / 07:33

1 resposta

5

O filtro loudnorm usa janelas (sobrepostas) de 3 segundos de áudio para calcular a intensidade sonora de curto prazo na fonte e ajustar o destino para atender aos parâmetros de destino. O arquivo de amostra é apenas um segundo longo, o que parece ser o motivo da normalização anômala.

Se eu colocar o áudio em 3 segundos e rodar,

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 funciona como esperado.

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

Para recuperar o comprimento original, você pode executar o comando acima com um filtro de compensação no final

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

em que o segundo argumento a atrim é a duração original, em segundos.

    
por 01.01.2018 / 06:55

Tags