Audio 如何检测两个具有不同音量的相同音频/视频文件?

Audio 如何检测两个具有不同音量的相同音频/视频文件?,audio,ffmpeg,sox,Audio,Ffmpeg,Sox,我正在开发一个程序,可以比较两个视频文件并显示差异。 我使用SOX和FFMPEG比较了文件的音频轨迹: 反转其中一个文件(sox) 合并其他文件并反转第一个文件的版本(sox) 检测静默(ffmpeg) 但如果两个文件仅在音量级别上不同,则所有音频曲目都将被检测为非静音范围 如何理解两个文件的音轨相同,但音量不同? 我试图通过sox改变音量:sox-v1.1input.wav output.wav 然后比较统计信息(-n stat)。 它很好用。划分参数audio2/audio1的结果:

我正在开发一个程序,可以比较两个视频文件并显示差异。 我使用SOX和FFMPEG比较了文件的音频轨迹:

  • 反转其中一个文件(sox)
  • 合并其他文件并反转第一个文件的版本(sox)
  • 检测静默(ffmpeg)
  • 但如果两个文件仅在音量级别上不同,则所有音频曲目都将被检测为非静音范围

    如何理解两个文件的音轨相同,但音量不同?

    我试图通过sox改变音量:
    sox-v1.1input.wav output.wav
    然后比较统计信息(-n stat)。 它很好用。划分参数audio2/audio1的结果:

        Samples read 1.00;
        Length (seconds) 1.00;
        Scaled by 1.00;
        Maximum amplitude 1.10;
        Minimum amplitude 1.10;
        Midline amplitude 1.10;
        Mean norm 1.10;
        Mean amplitude 1.00;
        RMS amplitude 1.10;
        Maximum delta 1.10;
        Mean delta 1.10;
        RMS delta 1.10;
        Rough frequency 1.00;
        Volume adjustment 1/1.10;
    
    但是!当我尝试ffmpeg更改视频音量时:
    ffmpeg-I input.mp4-vcodec copy-af“volume=10dB”output.mp4
    (或
    volume=volume=0.5
    ),然后比较sox音频统计:我找不到任何模式

    Samples read    1.00
    Length (seconds)    1.00
    Scaled by   1.00
    Maximum amplitude   0.71
    Minimum amplitude   0.64
    Midline amplitude   -2401.73
    Mean    norm    0.34
    Mean    amplitude   0.50
    RMS     amplitude   0.36
    Maximum delta   0.37
    Mean    delta   0.34
    RMS     delta   0.36
    Rough   frequency   0.99
    Volume adjustment   0.71
    
    如果有任何想法和帮助,我将不胜感激。

    也许使用类似的方法来检测两个相同的音频流是值得考虑的:需要
    --启用chromaprint