iPhone app音频录制仅在一定频率以上

时间:2012-05-31 00:14:20

标签: iphone ios audio voice frequency

我目前正在从事基于录音的iPhone和iPad应用程序。在这里,我自己完成了基本的录音功能,但我不知道如何录制高于特定频率的音频,如17,000 Hz以上。那么,任何人都可以帮助我实现这一目标吗?这对我的职业生涯很有帮助。

3 个答案:

答案 0 :(得分:2)

我认为你需要使用加速框架,里面有一个可以做FFT(快速傅里叶变换)的vDSP API。它会将数据从时域转换为频域。根据箱尺寸信息,您可以在特定箱尺寸后提取幅度/幅度。

我认为这可以解决您的问题。

对于vDSP,您可以参考Apple网站上的aurioTouch 2

关于FFT如何在那里工作,你可以参考这个问题 - Understanding FFT in aurioTouch2

我希望这有帮助。

P.S。 AurioTouch或AurioTouch 1未使用vDSP API。我记得在iOS 4之前有一个FFT功能可以做类似的事情,但速度较慢。因此,您可能认为vDSP仅在iOS4.0之后可用

答案 1 :(得分:1)

我在互联网上研究过我发现这两种墨水..

用于查找频率https://github.com/jkells/sc_listener

的库

使用上述库https://github.com/jkells/sc_listener_sample

的示例

我希望通过获取频率数字并设置一个可以实现此目的的条件。希望这有助于......

答案 2 :(得分:0)

与简单的滤波器解决方案相比,使用FFT计算成本高且过于复杂。除非你真的需要在频域工作,否则你应该避免它。

而是通过高通滤波器运行PCM。相关的维基百科页面将帮助您选择合适的过滤器。如果您的最小频率限制是常数,this page将为您的过滤器生成常量。否则,动态生成这些常量并不困难。或者您可以将the source code用于所述过滤系数生成页面