2010-06-13 88 views
3

我想要做的是有一個子程序分析每200毫秒的聲音文件,並將特定頻率範圍內的頻率強度值(從0到1作爲浮點數)吐出到一個數組中我後來保存。然後該值繼續被用作應該「選通」到音頻文件的圖形的不透明度值。使用Python 2.6對音頻文件進行快速頻譜分析?

問題是,我從來沒有冒險進入音頻分析之前,並沒有線索從哪裏開始。我已經看過pymedia和scipy/numpy認爲我能夠使用FFT來實現這一目標,但我不確定如何操作這些數據以達到預期效果。關於pymedia SpectrAnalyzer類的文檔實際上並不存在,網站上的示例實際上並不適用於該庫的最新版本 - 這並不能讓我的生活更加輕鬆。

我該如何着手啓動這個項目?我甚至完全喪失了我應該使用的庫。

+0

你可能會在這裏找到有用的代碼:http://www.swharden.com/blog/2010-03-05-realtime-fft-graph-of-audio-wav-file-or-microphone-input-with- python-scipy-and-wckgraph/ – unutbu 2010-06-13 14:25:19

回答

3

您首先需要了解採樣是如何工作的,然後您應該使用Scipy FFT例程(它們非常快),以便釋放頻率強度值,然後您可以使用Matplotlib繪製這些圖形。 有關使用Python分析聲音文件的文章,請參閱herehere是關於Python中FFT和譜圖的類似問題。

+0

我使用scipy.io.wavfile加載我的音頻文件的信號和matplotlib中的specgram函數來分析它,但我沒有線索如何處理這些數據。 這似乎是我需要的一切 - 我只是沒有想法讓它變得有形。 任何想法? – Ephemeralis 2010-06-15 09:51:31