2008-09-01 7 views
8

Je voudrais tirer un flux d'échantillons PCM d'un micro intégré ou intégré d'un Mac et faire une petite analyse en direct (la nature exacte ne se rapporte pas à cette question, mais il pourrait s'agir d'une FFT de toute façon souvent, ou quelques statistiques de base sur les niveaux d'échantillon, ou quoi avez-vous).API d'entrée audio simple sur un Mac?

Qu'est-ce qu'un bon ajustement pour cela? Écrire un AudioUnit qui ne fait que passer le son et qui, accessoirement, le transmet quelque part pour l'analyse? Rédaction d'une application JACK-aware et comprendre comment l'obtenir pour jouer avec le serveur JACK? Ecasound? Il s'agit d'un projet de passe-temps éprouvé, donc la simplicité de l'API est le facteur déterminant (suivi d'un choix raisonnable de langage de programmation).

Répondre

5

Je pense que portaudio est ce dont vous avez besoin. La lecture depuis le micro d'une application de console est un fichier C de 10 lignes (voir patests dans le portaudio distrib).

+0

Voici un lien vers un exemple d'enregistrement audio via un microphone et l'enregistrement dans un fichier: http://portaudio.com/docs/v19-doxydocs/paex__record_8c.html –

4

Le principal cadre de développement audio de Mac OS X est Core Audio; C'est la base de toutes les E/S audio. Il y a des calques au-dessus comme Audio Toolbox, Audio Queue Services, QuickTime, et QTKit que vous pouvez utiliser si vous voulez une API simplifiée pour les tâches courantes.

Pour juste tirer un flux d'échantillons, vous voudrez probablement utiliser Audio Queue Services; la fonction AudioQueueNewInput va configurer l'enregistrement des données PCM et les transmettre à un rappel que vous fournissez.

Sur votre Mac, il existe un ensemble d'exemples Core Audio dans /Developer/Examples/CoreAudio/SimpleSDK qui inclut une utilisation (AQRecord dans AudioQueueTools) des API d'enregistrement Audio Queue Services.

+0

Bonjour, Chris. Les services de file d'attente audio présentent en effet une API agréable et propre. J'ai fini par aller avec Portaudio avec ce projet de compatibilité Tiger, mais j'ai regardé avec envie AQRecord. – undees

Questions connexes