2011-10-27 27 views
3

我一直在尋找一些例子,說明如何在iOS中使用音頻樣本(最好是帶有循環點的WAV文件,但那是次要的)做ADSR。我想大多數編寫採樣器/合成器應用程序的人都使用這個音頻單元。任何人都知道一個很好的代碼示例,它顯示任何iOS音頻庫中的ADSR?iOS中的ADSR,示例代碼?

回答

2

在新的iOS SDK 5.0中,現在有一個採樣器音頻單元!哪些可以做ADSR信封。

的預置演示瞭如何使用採樣:如果要加載不同的聲音格式的播放這篇文章是有幫助的 http://developer.apple.com/library/ios/#samplecode/LoadPresetDemo/Introduction/Intro.html#//apple_ref/doc/uid/DTS40011214

https://developer.apple.com/library/mac/#technotes/tn2283/_index.html

而這裏的iOS版的文件參考: http://developer.apple.com/library/ios/#documentation/AudioUnit/Reference/AUComponentServicesReference/Reference/reference.html#//apple_ref/doc/uid/TP40007291

1

您可以在Apple的SinSynth樣本中找到(非常基本的)一個。這是一個非盟,但它應該演示如何將一個信封應用於音頻緩衝區。我不記得 - 它可能只是一個ASR,但是一旦你理解了現有的程序,增加第四個階段很簡單。實現在筆記的呈現中是正確的。

信封發生器不是平臺特定的。

musicdsp.org將是一個更好的資源,如果你想超過一個正確的方向推動。

1

MusicDSP的源代碼爲example envelope follower,具有攻擊/釋放。如果你明白這一點,那麼維持/衰減應該是相當合理的。 ;)

但是ADSR包絡基本上只是一個應用增益到狀態機的輸出信號的問題。每個狀態都有一個起始值,結束值和一個持續時間。計算該線的斜率以及沿它的每個點的值在高中的代數課程中都有涵蓋。 ;)如果你想變得很花哨,你可以實現其他類型的曲線,但是這個概念保持不變。

+0

感謝關於使用狀態機的評論,這也是我的經驗。 – lukebuehler