scipy.fft
似乎挂了:
import scipy
from scipy.io import wavfile
sound = 'sounds/silence/iPhone5.wav'
fs, data = wavfile.read(sound)
print scipy.fft(data)
某些文件。例如,尝试this文件。
我注意到的一些事情:
wave
或audiolab
打开文件会产生相同的结果。这是一个错误还是我做错了什么?
答案 0 :(得分:3)
检查data.shape的值以查找挂断系统的文件。如果您的数据长度恰好是素数,或者是几个大素数的乘积,那么FFT算法可以做很多事情来加速DFT的计算。如果你用零填充,或者将数据调整到最接近2的幂,那么一切都应该运行得更快。
答案 1 :(得分:0)
这应该是一个评论,但那里没有足够的空间......
您可以进行更多调试,这可能会有所帮助。 (假设你使用某种类似unix的操作系统)
通过查看堆栈跟踪,应该可以看到程序是否在等待某些东西,陷入某个循环或只是做大量工作。 它也可以告诉你问题是在python代码,C扩展还是其他地方。用于读取堆栈跟踪当然是一个加号。 :)