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

标签 objective-c ios signal-processing core-audio

我正在尝试制作一个 10 波段均衡器,kAudioUnitSubType_NBandEQ 音频单元似乎是可行的方法,但 Apple 的文档并未涵盖如何设置/配置它。

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

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

更新: Novocaine 的工作 DSP 公式也是一个解决方案,任何想法!那些DSP公式相当复杂。

更新 2: 我更喜欢使用 Novocaine 的有效 DSP 公式因为这比编程音频节点更简洁/更小。

更新 3: “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 波段均衡器或任何类型的音频滤波器变得轻而易举。

最佳答案

我是 Novocaine 的创造者,我用它通过 vDSP 制作了 200 多个频段的 EQ。

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

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

关于objective-c - kAudioUnitSubType_NBandEQ 是如何工作的?或者使用 DSP 公式与 Novocaine 进行均衡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10001471/

相关文章:

python - 从 .wav 文件中提取扰动

ios - 将文本显示的字体大小更改为从文本文件加载的 uiWebView

ios - 遍历 nsmutablearray 并删除重复的对象

ios - 如何使用动态单元格获取 UITableView 中多个文本字段的值?

python - 使用 scipy.signal.lti 从状态矩阵在 Python 中创建 LTI 系统

ios - 枚举 AudioBuffer 的样本?

iphone - UITableViewCell 设置选中图片

objective-c - 如何读取字符串直到找到所选字符串?

IOS - 使用界面生成器设计 UITableView 单元格的最佳方式

ios - 解析服务器证书问题