這是這個問題的延續here。在錄製的聲音中識別音符 - 第2部分 - Python
這是我爲了用於獲取樣品的代碼:
spf = wave.open(speech,'r')
sound_info = spf.readframes(-1)
sound_info = fromstring(sound_info, 'Int16')
的長度sound_info的是194560,這是4.4倍的44100採樣率。聲音文件的長度爲2.2秒,那麼sound_info的長度應該是它的兩倍嗎?
另外,我只能在上找到足夠的信息,爲什麼使用FFT來生成頻譜。
我想分割一個聲音並分析一秒鐘的多個分數的頻譜,而不是整個聲音文件。
幫助將非常感激。 :)
這是基本的sound_info圖表
plot(sound_info)
這是FFT圖表
freq = [abs(x.real) for x in fft(sound_info)]
plot(freq)
'是不是sound_info應該是它的長度的兩倍?':stereo? – bobince 2010-09-15 10:54:38
感謝那個bobince,但那我該如何解讀sound_info?因爲數據是順序的 – RadiantHex 2010-09-15 11:14:34