kAudioUnitSubType_NBandEQ如何工作?或者使用与Novocaine的DSP公式进行均衡?

ost*_*oon 8 signal-processing objective-c core-audio ios

我正在尝试制作一个10频段均衡器,kAudioUnitSubType_NBandEQ音频单元似乎还有很长的路要走,但Apple的文档并没有涵盖如何设置/配置它.

我已经连接了节点,但是当我尝试连接EQNode和iONode(输出)时出错:https://gist.github.com/2295463

如何将效果转换为工作的10波段均衡器?

更新: 使用Novocaine的 DSP工作方案也是一个解决方案,任何想法!那些DSP公式非常复杂.

更新2: 我更喜欢使用诺瓦卡因的工作DSP配方,因为它比编程音频节点更清洁/更小.

Update3: "Multitype EQ单元(子类型为kAudioUnitSubType_NBandEQ)提供均衡器,可以配置为"Mutitype EQ单元过滤器类型"(第68页)中描述的任何一种类型." 来源:http://developer.apple.com/library/ios/DOCUMENTATION/AudioUnit/Reference/AudioUnit_Framework/AudioUnit_Framework.pdf 但仍然没有例子.

重要更新(17/05):我建议每个人都使用我在github上发布的DSP类:https://github.com/bartolsthoorn/NVDSP这可能会为你节省很多工作.这将使开发n波段均衡器或任何类型的音频滤波器变得轻而易举.

ale*_*xbw 3

我是 Novocaine 的创建者,我用它通过 vDSP 制作了 200 多个频段的均衡器。

我正在考虑切换到 NBandEQ 音频单元,但我有一个使用 vDSP_deq22 的工作解决方案。

vDSP_deq22 使用二阶 IIR 滤波器一次过滤一个样本的数据。您可以在 musicdsp.org 上找到二阶巴特沃斯系数,或者更一般地通过谷歌搜索找到。如果您有副本,Matlab 还将为您计算它们。我使用 musicdsp.org。您需要创建 10 个 vDSP_deq22 滤波器,通过每个滤波器运行音频,将该频段乘以指定增益,然后将滤波器组中所有滤波器的输出相加到输出音频中。