如何在Wav文件中跟踪无声区?

Chu*_*hu- 2 java audio mfc wav wave

如何在wav文件中跟踪没有声音的部分?我想开发的一个小软件是一个wav文件,它认为没有卷区域作为一个重点.程序怎么知道wav文件的音量很低?我将使用Java或MFC.

Buh*_*uhb 8

通过计算信号的RMS,我在静音检测方面取得了成功.这是通过以下方式完成的(假设您有一个音频样本数组):

    long sumOfSquares = 0;
    for (int i = startindex; i <= endindex; i++) {
        sumOfSquares = sumOfSquares + samples[i] * samples[i];
    }
    int numberOfSamples = endindex - startindex + 1;
    long rms = Math.sqrt(sumOfSquares / (numberOfSamples));
Run Code Online (Sandbox Code Playgroud)

如果rms低于某个阈值,您可以认为它是静默的.