iOS中的音频信号处理

时间:2012-11-07 13:39:00

标签: ios signal-processing audio

我即将开始开发用于音频处理的iOS应用程序。目前,由于这是一个研究项目,因此不太确定应用程序的要求是什么。但基本要求至少是从麦克风输入中检测出线缆。因此,我重视您对可用库的看法,您认为这些库对此类工作有益。我想尽可能远离第三方图书馆。

4 个答案:

答案 0 :(得分:8)

我建议使用Novocaine库。如果你自己从头开始做音频,那真的很痛苦......

https://github.com/alexbw/novocaine

这是他们所说的:

使用音频单元在iOS和Mac OS X中实现快速音频很难,并且会让您感到伤痕累累和血腥。过去需要几天才能完成几行代码。

获取音频

Novocaine *audioManager = [Novocaine audioManager];
[audioManager setInputBlock:^(float *newAudio, UInt32 numSamples, UInt32 numChannels) {
    // Now you're getting audio from the microphone every 20 milliseconds or so. How's that for easy?
    // Audio comes in interleaved, so,
    // if numChannels = 2, newAudio[0] is channel 1, newAudio[1] is channel 2, newAudio[2] is channel 1, etc.
}];

答案 1 :(得分:5)

我使用音频单元 没有第三方的东西,只是简单的音频单元,无论如何都是iOS上最好的音频接口 开始时有点棘手,但阅读文档后你会很高兴。

答案 2 :(得分:3)

音频图表(https://github.com/tkzic/audiograph)演示了如何从麦克风,音频文件和MIDI文件中读取音频。它还在时域和频域处理它们(对于和弦检测,您可能需要在频域中进行一些分析)。作为Apple的MixerHost示例的修改,它不使用任何第三方库。

Apple的Aurio Touch(https://developer.apple.com/library/ios/samplecode/aurioTouch2/Introduction/Intro.html)有点难学,但包含了您需要的内容。这不涉及任何第三方图书馆。

答案 3 :(得分:1)

Core Audio和Accelerate框架内置于iOS中。不需要任何第三方库。如果Apple开发人员网站上的文档很多。对于实时低延迟音频输入,请尝试内置于iOS Core Audio中的RemoteIO音频单元。

还有一本关于学习核心音频的书。

Accelerate框架包含许多基本的DSP构建模块,例如FFT,矩阵数学和双二阶滤波器。