2011-04-26 32 views
0

我想在iPhone中的用戶語音上應用音頻過濾器。 該過濾器非常沉重,需要許多音頻樣本才能獲得理想的質量。我不想實時應用過濾器,但我希望獲得幾乎實時的性能。我希望在採集樣品時以及用戶何時停止錄音以聽到(幾秒鐘後)扭曲的聲音時,處理將與錄音一起平行進行。 我的問題是: 1.哪個是這個任務的正確技術層,例如音頻單元? 2.涉及哪些步驟? 3.哪些是使用的關鍵概念和API方法? 4.我想捕捉用戶的聲音。哪個是正確的錄音設置?如果我的過濾器改變頻率,我應該使用更廣泛的範圍? 5.如何爲我的過濾器收集必要的樣本?我如何處理音頻數據?我的意思是根據錄製設置如何打包數據? 6.我如何才能將最終的音頻錄製到文件中?用於iPhone的音頻處理。

在此先感謝!

回答

0

如果您發現可接受的延遲時間超過100毫秒,則您可以使用音頻隊列API進行捕捉和音頻播放,該API比使用RemoteIO音頻單元簡單一些。您可以將自己的NSOperationQueue中的緩衝區作爲來自音頻隊列的緩衝區處理,並將處理後的結果保存到文件中,或者如果有空間,則保存在內存中。

對於問題4:如果你的音頻濾波器是線性的,那麼你將不需要任何更寬的頻率範圍。如果您正在進行非線性過濾,則所有投注都將關閉。

+0

感謝您的回答。雖然它給了我一些線索,但我並沒有全面瞭解高層次設計過程。在最初的問題中,你或其他人是否可以回答我的觀點? – Summon 2011-04-27 09:39:40