Iphone 如何收听麦克风输入并实时分析?

Iphone 如何收听麦克风输入并实时分析?,iphone,iphone-sdk-3.0,ios4,Iphone,Iphone Sdk 3.0,Ios4,嗨,不幸的是,我一直无法理解iPhone上的音频。我最接近的是AVAudioRecorder/Player类,我知道它们对音频处理没有好处 所以我想知道是否有人能向我解释如何“听”iPhone的麦克风输入,比如说1024个样本,分析样本,做一些事情。继续这样做,直到我的应用程序终止或停止。我不想保存任何数据,我只想实时分析数据并用它实时处理 我试着去理解苹果“aurioTouch”的例子,但它太复杂了,我无法理解 有人能解释一下我该怎么做吗?如果您只需要操作系统处理最少的样本,那么您可能需要音频

嗨,不幸的是,我一直无法理解iPhone上的音频。我最接近的是AVAudioRecorder/Player类,我知道它们对音频处理没有好处

所以我想知道是否有人能向我解释如何“听”iPhone的麦克风输入,比如说1024个样本,分析样本,做一些事情。继续这样做,直到我的应用程序终止或停止。我不想保存任何数据,我只想实时分析数据并用它实时处理

我试着去理解苹果“aurioTouch”的例子,但它太复杂了,我无法理解


有人能解释一下我该怎么做吗?

如果您只需要操作系统处理最少的样本,那么您可能需要音频队列API;看


AVAudioRecorder专为录制文件而设计,AudioUnit更适合于“可插拔”音频处理(在Mac方面,AU Lab实际上非常酷)。

如果你想进行实时音频处理,AVAudioPlayer/Recorder类不会带你去那里。音频工具箱和音频单元框架是未来的发展方向。查看苹果的音频编程指南,看看哪个框架适合您的需要。相信我,这些低级的东西并不容易,而且文档记录也很差。CocoaDev提供了一些示例代码。另外,我最近发现了一个音频DSP库,用于节奏和音调操纵。我没怎么研究过,但你可能会发现它很有用。

如果你想实时分析音频输入,它不会比苹果的简单很多(也有)。您可以在谷歌上搜索更多有关使用音频单元RemoteIO API进行录制的信息,但您仍然需要了解实时分析DSP部分

对于从麦克风获取原始PCM音频数据的输入缓冲区,音频队列API稍微简单一点,但简单得多,并且延迟更高


后来添加:这里还有一个版本的aurioTouch转换为Swift:

它确实变得更简单了,我建议您使用,并且(我是后者的作者)这个答案中的链接现在已断开。@bartolsthoorn您是否会更新现代iOS&OSX的代码???这看起来是一个令人惊叹的项目,但我无法将其与iOS 9配合使用:(@WillBrickner我最近不太喜欢iOS,但具体的不兼容是什么?NVDSP是一个非常小的项目,所以我想更新它应该不会太多工作,但我现在只是时间很短。我的错误是,我说的是Novocaine。所以扩展一下,你的库可能也不再工作了。