4

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

4

4 回答 4

8

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

https://github.com/alexbw/novocaine

他们是这样说的:

在 iOS 和 Mac OS X 中使用 Audio Units 实现真正快速的音频很难,而且会让你伤痕累累。过去需要几天的时间现在只需几行代码即可完成。

获取音频

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.
}];
于 2012-11-07T13:48:11.783 回答
5

我使用音频单元。
没有第三方的东西,只有普通的音频单元,这是 iOS 上最好的音频接口。
开始有点棘手,但阅读文档,你会很高兴的。

于 2012-11-07T13:43:37.133 回答
3

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

Apple 的Aurio Touch ( https://developer.apple.com/library/ios/samplecode/aurioTouch2/Introduction/Intro.html ) 有点难学,但包含你需要开始的东西。而且这不涉及任何第三方库。

于 2012-12-19T01:46:10.583 回答
1

Core Audio 和 Accelerate 框架内置在 iOS 中。不需要任何 3rd 方库。苹果开发者网站上有很多文档。对于实时低延迟音频输入,请尝试同样内置于 iOS Core Audio 中的 RemoteIO 音频单元。

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

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

于 2012-11-07T15:59:56.940 回答