2011-07-23 92 views
0

我需要一種方法來創建PCM或FFT文件的波形圖形,類似於Apple的示例代碼「aurioTouch」,它顯示來自輸入(麥克風)的波形。從PCM文件或FFT顯示波形

我嘗試過從aurioTouch實現類和方法,但是這個應用程序令我難以置信地困惑。

我需要能夠讀取音頻文件的頻率,這是一個m4a,現在是PCM編碼;我也可以使用FFT。我應該如何閱讀音頻文件的頻率?

+0

不清楚的問題。你問如何繪製從你的FFT數據圖嗎?還是你有問題讀取一些音頻文件? – hotpaw2

+0

現在,該文件是PCM格式,我需要繪製一個頻率圖。我應該怎麼做呢? – KyleKing

回答

1

要顯示頻率,您需要執行譜估計。 FFT簡單地將時間信息轉換爲頻率信息。我假設你想要做的是顯示隨着時間的推移頻率變化。這涉及的是將音頻文件切分爲重疊的塊,對塊應用包絡(淡入然後淡出),然後對每個塊執行FFT。我只是做了「譜估計核心音頻」快速搜索,並有在蘋果的核心音頻一些有希望的尋找的東西,你應該看看

The Sonogram View Demo Audio Unit

+0

謝謝很多!我應該在PCM中使用音頻文件,然後再將它轉換爲FFT?如果我有更多的代表,我會提出一個答案:/ – KyleKing

+0

是的,FFT通常可以在內部翻譯那到複雜數字。您不需要整個聲音文件,只需填寫一個塊即可傳遞給FFT。 –

2

你可以尋找aurioTouch 2,其使用後的VDSP API ios4來做計算。 可以在here中找到針對vDSP API中的fft函數的引用。

我想下面的aurioTouch 2可以得到你想要的。 (至少我得到它(

類似的事情,對於任何支持的音頻格式讀取文件時,你可以閱讀mixer host

我希望它能幫助。