使用Python进行音频信号处理

时间:2013-06-11 08:44:20

标签: python audio signal-processing fft

我一直在做关于音频信号处理的作业。我读过一些论文,并对公式感到困惑:enter image description here。该公式用于处理44100Hz,16位单通道音频。音频已经过预处理,并被切成1024个宽度的帧。 F(w)是每帧的FFT系数,w with - above是帧速率的一半,22050。

我搜索了很多,最重要的Analyze audio using Fast Fourier Transform。但我仍然无法理解它。我有FFT系数,scipy和numpy,1024宽度数组。然后我该如何执行公式?它是否等于数组的0到512之和的总和?

希望有人可以帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

假设你有一个信号x = [ x_1, x_2, ..., x_N ],那么你可以在python中计算上面的公式(使用scipy导入):

E = sum( abs(fft(x))[:len(x)/2]**2 ) / len(x)

关于归一化因子N = len(x)我不是100%肯定 - 这取决于fft的确切实现。