在Mac上使用简单的音频输入API?
时间:2020-03-05 18:45:51 来源:igfitidea点击:
我想从Mac的内置麦克风或者内置麦克风中提取PCM样本流,并进行一些实时分析(确切的性质与这个问题无关,但可能经常是FFT,或者样本水平的一些基本统计数据,或者我们拥有什么)。
什么适合这个呢?编写一个AudioUnit,它只是将声音传递并偶然将其传递到某个地方进行分析?编写可识别Hyman的应用程序,并弄清楚如何使其能够与Hyman服务器一起玩?逃避?
这是一个俗气的概念验证性爱好项目,因此API的简单性是驱动因素(其次是合理选择编程语言)。
解决方案
回答
Apple提供了用于读取和写入音频数据的示例代码。此外,Apple Developer网站的"音频"部分提供了很多有用的信息。
回答
我认为portaudio是我们所需要的。
从控制台应用程序从麦克风读取的内容为10行C文件(请参阅portaudio distrib中的patests)。
回答
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
中有一组Core Audio示例,其中包括Audio Queue Services记录API的用法(AudioQueueTools中的AQRecord)。