【发布时间】:2014-10-03 14:00:47
【问题描述】:
假设我使用wave 模块从声音文件中获取原始 PCM 数据。如何计算特定样本的包含频率的幅度?我后来想为每一帧画一个这样的频率图:
如何计算每个频率的幅度?
如果可能,我更喜欢不需要numpy 的解决方案。在此操作所需的计算背景下提供学习资源的链接也会很有帮助。
【问题讨论】:
-
答案是尽快放松你对
numpy的恐惧(除非你有非常令人信服的理由),并使用numpy.fft.rfft()。 -
如果您需要资源,请查看优秀的“了解数字信号处理”一书。您无法更好地解释使用 FFT 进行频率分析。
-
The Scientist and Engineer's Guide to Digital Signal Processing By Steven W. Smith, Ph.D. 是一个很好的资源恕我直言。花点时间从头开始,即使它看起来很初级。
-
你可以compute the DFT -- 但前提是你不关心
O(N**2)的性能。通过 ctypes 使用FFTW 怎么样?
标签: python python-2.x pcm frequency-analysis