我正在开发一个应用程序来分析来自iPhone/iPad内置麦克风的输入音频,使用iOS 6.0SDK。
一段时间以来,我一直在与极低的低频(即200 Hz以下)作斗争,我(在网上)发现其他人也有同样的问题,但没有任何答案。
许多使用iOS音频工具的公司指出(在iOS 6.0之前)有一个内置的低频rolloff滤波器在低频上造成这些低信号,但这些消息来源还指出,从iOS 6.0开始,应该可以关闭输入音频信号的自动低频滤波。
我已经浏览过音频单元头文件、Xcode中的音频文档以及与音频相关的示例代码,但都没有成功。我使用了AudioUnit的不同参数和属性(其中提到了低通滤波器等等),但没有解决这个问题。
有谁知道如何在iOS 6.0?中关闭用于RemoteIO输入的自动低频滚转滤波器
发布于 2013-03-20 06:13:45
在iOS 6.0下,有可能将当前的AVAudioSession设置为AVAudioSessionModeMeasurement,如下所示:
[[AVAudioSession sharedInstance] setMode: AVAudioSessionModeMeasurement error:NULL];
这消除了低频滤波。
链接:
ClassReference/Reference/Reference.html
我希望这能帮到你。
发布于 2012-11-24 11:09:03
我不确定是否有办法在这些设备上完成这一任务。大多数麦克风的频率都低于200赫兹(也高于20 kHZ范围)。事实上,许多扬声器几乎不能播放在这个范围内的音频。为了在<200 HZ范围内获得一个干净的信号,您需要足够好的硬件,我认为这一点超出了iPhone/iPad内置麦克风的能力。这可能是苹果过滤掉这些低频声音的原因,因为它们不能保证足够好的录音,或者足够好的回放。下面是链接更好地描述了旧设备(iPhone 4、iPhone 3GS和iPad 1)的情况。
苹果也非常挑剔他们将和不让你玩的东西。即使您确实知道了过滤的位置,中断该代码也很可能导致应用程序被应用程序商店拒绝。而且由于硬件的限制,你可能无法实现你想要的任何东西。
希望这能帮上忙!
https://stackoverflow.com/questions/13348988
复制