我是Audiokit的新手,我尝试构建一个合成器,我可以将AD-Envelope路由到不同的参数,如振荡器的频率等。对我来说,似乎只有在DSP级别才能解决这个问题。 I found out认为AKxxxOscillatorBanks是ADSR的音量,我可能不得不使用这部分代码“仅将此应用于音调”。
因此,我似乎只需要编写一个“新的银行类型,使ADSR超过其他类型的参数”。由于我想对频率进行完全控制并且只需要单声道振荡器,因此我需要将ADSR包络实现为新版本的AKMorphingOscillator,但我不知道从哪里开始。
我想我必须编辑
void run(int frameCount, float* outL, float* outR)
来自AKMorphingOscillatorBankDSPKernel.hpp,它看起来像ADSR在for循环中工作
sp_adsr_compute(kernel->sp, adsr, &internalGate, &);
sp_oscmorph_compute(kernel->sp, osc, nil, &x);
但那是我知识停止的地方。任何帮助,将不胜感激。日Thnx!
编辑:还在上面。也许AKOperationGenerator也可能是正确的方向,就像在this example。
似乎这太复杂或完全错误的方向。我停止了这个approch并继续与this one。