AudioKit的最佳多音轨编程方式是使用AKPolyphonicNode。该节点处理多个触发事件并为每个事件分配多个音频单元。下面是一个简单的示例,展示如何使用AKPolyphonicNode在AudioKit中实现多音轨声音:
import AudioKit
class MySynth: AKPolyphonicNode {
//定义一些音频参数
let waveform = AKTable(.sine)
let attackDuration = 0.1
let decayDuration = 0.1
let sustainLevel = 0.8
let releaseDuration = 0.1
override init() {
//初始化多音轨节点
super.init()
//在多音轨中为每个声音分配一个AKOscillator节点
voiceCount = 8
for i in 0..
在上面的示例中,MySynth类继承自AKPolyphonicNode,并使用其voices数组为每个声音分配了一个AKOscillator和AKAmplitudeEnvelope。这些声音会自动分配给空闲的播放器,当一个声音被触发时。使用AKPolyphonicNode,您可以轻松地在单个类中实现