我正在尝试将我的音频项目转换为使用 AudioKit。在我当前的设置中,我采用标准 Apple 节点进行均衡。这是提供上下文的片段:
var engine = AVAudioEngine()
var eqNode = AVAudioUnitEQ()
engine.attach(eqNode)
func initEqualizer() {
eqNode = AVAudioUnitEQ(numberOfBands: frequencies.count)
eqNode.globalGain = 0
for i in 0..<frequencies.count {
eqNode.bands[i].frequency = Float(frequencies[i])
eqNode.bands[i].gain = 0
eqNode.bands[i].bypass = false
eqNode.bands[i].filterType = .parametric
}
}
eqNode.globalGain = eqSettings.generalGain
for i in 0..<frequencies.count {
eqNode.bands[i].gain = values[i]
}
我原以为集成 ParametricEQ 会很简单,但我遇到了挑战:
看来我可能需要在 AudioKit 中开发一个自定义均衡器类来复制我的 AVAudioUnitEQ 的功能。我走在正确的轨道上吗?还是有什么我可能忽略的事情?
查看 SoundPipeAudioKit,带有乐器和效果的 AudioKits 扩展库。 有多种过滤器可用,例如均衡器过滤器。