İOS'de ADSR, örnek kod?

Ses örneklerini kullanarak iOS'ta ADSR 'in nasıl yapılacağını gösteren bazı örnekleri araştırıyorum. (tercihen döngü noktalarına sahip WAV dosyaları, ancak bunlar ikincildir). Bir örnekleyici/synth uygulaması yazan çoğu insan bunun için ses ünitesi kullanıyordur. Herhangi biri, herhangi bir iOS ses kitaplığında ADSR'yi gösteren iyi bir kod örneği biliyor mu?

3

3 cevap

Yeni iOS SDK 5.0'da şimdi bir Sampler Ses Ünitesi var! Hangi ADSR zarflarını yapabilir.

The presets demo shows how to use the sampler: http://developer.apple.com/library/ios/#samplecode/LoadPresetDemo/Introduction/Intro.html#//apple_ref/doc/uid/DTS40011214

If you want to load different sound formats to play this article is helpful: https://developer.apple.com/library/mac/#technotes/tn2283/_index.html

And here's the iOS documentation reference: http://developer.apple.com/library/ios/#documentation/AudioUnit/Reference/AUComponentServicesReference/Reference/reference.html#//apple_ref/doc/uid/TP40007291

2
katma

Apple'ın SinSynth örneğinde (çok basit) bir tane bulabilirsiniz. Bu bir AU, ancak bir kişinin ses arabelleğine bir zarfı nasıl uygulayacağını göstermelidir. hatırlamıyorum - basitçe bir ASR olabilir, ancak mevcut programı anladıktan sonra dördüncü aşama eklemek basit bir işlemdir. Uygulama noter render doğru.

Zarf Jeneratörleri platforma özgü değildir.

musicdsp.org will be a better resource if you want more than a push in the right direction.

1
katma

MusicDSP’de, saldırı/yayınla birlikte örnek zarf takipçisi için kaynak kodu var. Bunu anlarsanız, sürdürme/bozulma oldukça mantıklı olmalıdır. ;)

Ancak, bir ADSR zarfı temelde sadece durum makineli çıkış sinyaline kazanç uygulama meselesidir. Her durumun başlangıç ​​değeri, bitiş değeri ve süresi vardır. Bu çizginin eğimini ve bu noktadaki her bir noktanın değerini hesaplamak, lisede cebir sınıfınıza dahil edildi. ;) Gerçekten şık olmak istiyorsanız, diğer eğri türlerini uygulayabilirsiniz, ancak kavram aynı kalır.

1
katma
Durum makinesi kullanma hakkındaki yorumunuz için teşekkürler, ben de öyle düşünüyorum.
katma yazar lukebuehler, kaynak