如何为 iPhone 制作一个简单的音频均衡器?

Posted

技术标签:

【中文标题】如何为 iPhone 制作一个简单的音频均衡器?【英文标题】:How to make a simple audio equalizer for the iPhone? 【发布时间】:2010-02-03 01:31:26 【问题描述】:

我想为 iPhone 制作一个简单的音频均衡器,但我不知道如何开始。均衡器应该非常简单,只改变低音、高音、失真,也许还有回声和合唱。 我该如何开始?也许示例代码会有所帮助。

【问题讨论】:

您的问题有点“请发送代码”。也许添加更多关于您尝试过的内容,您不知道如何做的特定部分。 【参考方案1】:

如果您正在考虑将均衡器和效果处理器添加到 iPhone 应用程序(如 iPod 应用程序)的音频输出中,我认为您无法通过公共 API 实现这一目标。但是如果你对处理来自 iPhone 的麦克风的音频感兴趣,你的想法是非常可行的。w

论坛Comp.DSP 充满了相当先进的数字信号处理,但有许多新手问题得到了有效回答。您关于均衡器和效果器实现的问题已经被问过很多次了。

【讨论】:

【参考方案2】:

首先,您对术语感到困惑。

均衡器只是改变音频通道的频率响应。它通常具有固定数量的频段,其单独的增益可以由用户控制。

失真、回声、合唱等是效果 - 在数字领域,它们只是应用于音频通道以修改通过它的数据的算法。

所以你需要决定你要设计的是什么:均衡器、某种效果处理小工具,或者这些的组合。

一旦您对要实现的功能有了粗略的设计,就可以开始研究将用于实现该设计的各种算法。对于均衡器,您可以考虑进行频域滤波或实施时域滤波器组。对于效果部分,您需要对各种不同的效果及其实现方式进行一些研究,例如失真通常使用一些非线性传递函数来引入额外的谐波含量。

【讨论】:

是的,差不多就是这样。均衡器也是一种效果。关于实现,有一个双二阶滤波器算法,它为您提供一个计算的低通、中通和高通输出,这似乎正是这里所要求的。 en.wikipedia.org/wiki/Digital_biquad_filter 。 Echo 是一个简单的环形缓冲区,您可以在其中读取 N 个样本,后面是您为每一帧写入的位置。合唱通常是一个短回声,其延迟时间由低频正弦函数和共振反馈项控制。

以上是关于如何为 iPhone 制作一个简单的音频均衡器?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 iPhone 播放 HTML 格式的音频?不起作用的例子:(

如何构建音频文件流 iPhone 应用程序?

如何为 iPhone 制作聊天客户端 [关闭]

如何为我的 Flash 页面创建 iPhone 应用程序? [关闭]

如何为 AVPlayer 制作搜索栏

如何为不同的屏幕尺寸创建具有自动布局的比例视图?