比方說,我使用wave
模塊從聲音文件中獲取原始PCM數據。我如何計算特定樣本的包含頻率的幅度?後來我想畫一個頻率圖這樣對每一幀:從PCM數據獲取頻率信息
如何在每個頻率的幅度來計算?
如果可能,我寧願選擇不需要numpy
的解決方案。在此操作所需的計算背景下,學習資源的鏈接也會很有幫助。
比方說,我使用wave
模塊從聲音文件中獲取原始PCM數據。我如何計算特定樣本的包含頻率的幅度?後來我想畫一個頻率圖這樣對每一幀:從PCM數據獲取頻率信息
如何在每個頻率的幅度來計算?
如果可能,我寧願選擇不需要numpy
的解決方案。在此操作所需的計算背景下,學習資源的鏈接也會很有幫助。
對於計算來自每個頻率的幅度,採用原始PCM文件,必須執行Fast Fourier Transform (FFT)。由於您不想使用numpy
,因此可以使用pylab
作爲替代as can be seen here。試一試!
更新:pylab.specgram
文檔are here。
Pylab取決於Numpy,不是嗎? – heltonbiker 2014-10-03 14:40:14
@heltonbiker是的。 – SonicARG 2014-10-03 14:44:16
答案是儘可能快地減輕對'numpy'的恐懼(除非你有一個非常有說服力的理由),並且使用'numpy.fft.rfft()'。 – heltonbiker 2014-10-03 14:38:33
如果您需要資源,請查看優秀的「瞭解數字信號處理」手冊。使用FFT無法更好地解釋頻率分析。 – heltonbiker 2014-10-03 14:39:22
[Steven W. Smith,Ph.D.的科學家和工程師指南數字信號處理](http://www.dspguide.com/pdfbook.htm)是一個很好的資源恕我直言。花時間從頭開始,即使它看起來很簡陋。 – wwii 2014-10-03 14:59:51