11

我想从 Mac 的线路输入或内置麦克风中提取一串 PCM 样本并进行一些实时分析(确切的性质与这个问题无关,但它可能经常是 FFT,或关于样本水平的一些基本统计数据,或者你有什么)。

有什么适合这个的?编写一个音频单元,它只是让声音通过并顺便将它交给某个地方进行分析?编写一个 JACK 感知应用程序并弄清楚如何让它与 JACK 服务器一起玩?易佳声?

这是一个俗气的概念验证爱好项目,因此 API 的简单性是驱动因素(其次是合理选择编程语言)。

4

3 回答 3

6

Mac OS X 中音频开发的主要框架是 Core Audio;它是所有音频 I/O 的基础。如果您想要一个用于常见任务的简化 API,您可以使用它上面的层,例如 Audio Toolbox、Audio Queue Services、QuickTime 和 QTKit。

要提取样本流,您可能需要使用Audio Queue Services;该AudioQueueNewInput函数将设置 PCM 数据的记录并将其传递给您提供的回调。

在您的 Mac 上,有一组核心音频示例,/Developer/Examples/CoreAudio/SimpleSDK其中包括音频队列服务录制 API 的使用(AudioQueueTools 中的 AQRecord)。

于 2008-09-01T22:24:32.880 回答
5

我认为portaudio是你需要的。从控制台应用程序中读取麦克风是一个 10 行的 C 文件(请参阅 portaudio 发行版中的 patests)。

于 2008-09-01T11:33:42.400 回答
3

Apple 提供了用于读取和写入音频数据的示例代码。此外,Apple 开发者网站的音频部分有很多很好的信息。

于 2008-09-01T07:00:17.753 回答