Простой API ввода звука на Mac? - PullRequest
       20

Простой API ввода звука на Mac?

10 голосов
/ 01 сентября 2008

Я хотел бы получить поток образцов PCM из линейного или встроенного микрофона Mac и провести небольшой анализ в реальном времени (точная природа не относится к этому вопросу, но это может быть FFT каждый так часто или какая-то базовая статистика по уровням выборки, или что у вас).

Что подходит для этого? Написание AudioUnit, который просто пропускает звук и случайно передает его куда-то для анализа? Написание приложения с поддержкой JACK и выяснение того, как заставить его играть с сервером JACK? Ecasound

Это дурацкий проект, основанный на проверке концепции, поэтому простота API является движущим фактором (за которым следует разумный выбор языка программирования).

Ответы [ 3 ]

5 голосов
/ 01 сентября 2008

Я думаю portaudio - это то, что вам нужно. Чтение из микрофона из консольного приложения - это 10-строчный файл C (см. Patests в дистрибутиве portaudio).

5 голосов
/ 02 сентября 2008

Основная платформа для разработки аудио в Mac OS X - это Core Audio; это основа для всех аудио ввода / вывода. Поверх него есть слои, такие как Audio Toolbox, Audio Queue Services, QuickTime и QTKit, которые вы можете использовать, если вам нужен упрощенный API для общих задач.

Чтобы просто получить поток сэмплов, вы, вероятно, захотите использовать Audio Queue Services ; функция AudioQueueNewInput настроит запись данных PCM и передаст ее обратному вызову, который вы предоставите.

На вашем Mac есть набор примеров Core Audio в /Developer/Examples/CoreAudio/SimpleSDK, который включает использование (AQRecord в AudioQueueTools) API-интерфейсов записи Audio Queue Services.

2 голосов
/ 01 сентября 2008

Apple предоставляет пример кода для чтения и записи аудиоданных . Кроме того, в разделе Audio на сайте Apple Developer есть много полезной информации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...