如何使用AKOscillatorBank演奏的每个音符有一个随机相位?

时间:2019-06-06 09:52:38

标签: c++ swift audiokit

我正在使用链接到AKMIDINode的{​​{1}}。我希望每次AKOscillatorBank演奏一个音符时,都会随机选择波表的相位。似乎AKOscillatorBank没有提供这样的功能。我快速浏览了AudioKit的C ++实现,对我来说还不清楚在单个振荡器上合成不同音符有多独立。

在查看AKBankDSPKernel时,是否有可能在AKOscillatorBank的快速部分中重载以使每个midi音符使用不同的偏移量?

当使用“暖”波表时,此功能可以大大改善和弦的发声,并降低/降低发声时间,尤其是锯齿。它将大大改善我的产品的声音。

1 个答案:

答案 0 :(得分:0)

振荡器组内核包含一个NoteState结构,该结构可以保存每个声音的振荡器状态。我想您可以使用sp_tabread_compute从波表中读取样本(如AKPhaseDistortionOscillator)并在noteOn函数中随机化其偏移量。