2011-01-20 45 views
2

我正在绑定在未压缩的AIFF音频文件中进行静音检测。我更喜欢用Python来完成,但如果这样做效率超低,会考虑其他选项。我正在处理的未压缩文件预计为20 MB(最大尺寸)。python中的音频文件的信号处理

我能理解信号处理的基础知识,但我不是专家。

回答

1

你很幸运!图书馆似乎足以支持解决您的问题。

0

语言无关的伪代码:在时间窗口

  • 对于每个时间窗口(例如10毫秒)
    • 计算RMS功率
    • 沉默= RMS功率<沉默阈

要计算RMS功率:

  • sum_sq = 0
  • 在N个采样窗口中的每个样品
    • sum_sq + =样品^ 2
  • RMS功率= SQRT(sum_sq/N)

您可能还想添加更多的检测层,例如决定沉默= M个连续的无声窗口,其中M确定沉默需要多长时间才算作实际沉默。

+0

让我试试这个。通过afic库,我可以一次读取一帧(不要以为我可以读取原始字节)并计算RMS,然后执行其他操作。 – chv 2011-01-21 15:04:44