听起来您对短期平滑RMS幅度测量感兴趣.通常为此,您需要对输入信号进行整流,然后对此应用低通滤波器,例如
x1 = abs(x); // x2 = rectified input signal
x2 = k * x2 + (1 - k) * x1; // simple single pole low pass recursive filter
Run Code Online (Sandbox Code Playgroud)
x2是信号x的幅度.k是<1.0的因子,它确定平滑滤波器的时间常数.
然后,您将获得某种阈值,用于确定您是处于沉默(x2 < threshold)还是语音(x2 >= threshold).