代码之家  ›  专栏  ›  技术社区  ›  headkit

如何在Audiokit中构建频率/音调包络的振荡器?

  •  4
  • headkit  · 技术社区  · 7 年前

    我是Audiokit的新手,我尝试构建一个合成器,在那里我可以将广告信封路由到不同的参数,如振荡器的频率等。 对我来说,似乎只有在DSP层面上才能解决这个问题。 I found out AKxxxOscillatorBanks正在分配卷,我可能不得不使用这部分代码“仅将其应用于音高”。

    因此,我似乎只需要编写一个脚本“新的银行类型,它在其他类型的参数上执行ADSR”。由于我想完全控制频率,只需要一个单声道振荡器,所以我需要将ADSR包络实现到新版本的AKMorphingOscillator中,但我不知道从哪里开始。

    我想我必须编辑

    void run(int frameCount, float* outL, float* outR)
    

    来自AKMorphingOscillatorBankDSPKernel。hpp和那里它看起来像ADSR在for循环中工作

    sp_adsr_compute(kernel->sp, adsr, &internalGate, &amp);
    sp_oscmorph_compute(kernel->sp, osc, nil, &x);
    

    但我的知识就到此为止了。任何帮助都将不胜感激。thnx!

    编辑:仍在上面。也许AKOperationGenerator也可能是正确的方向,如 this example .

    1 回复  |  直到 7 年前
        1
  •  2
  •   headkit    7 年前

    看来这将是太复杂或完全错误的方向。我停止了这种做法,继续 this one .