Question

J'aimerais extraire un flux d'échantillons PCM du micro intégré ou intégré d'un Mac et faire une petite analyse en direct (la nature exacte ne concerne pas cette question, mais il pourrait s'agir d'une FFT de temps en temps, ou quelques statistiques de base sur les niveaux d'échantillonnage, ou autre).

Qu'est-ce qui convient le mieux à cela ?Écrire une AudioUnit qui fait simplement passer le son et le remet accidentellement quelque part pour analyse ?Écrire une application compatible JACK et trouver comment la faire fonctionner avec le serveur JACK ?Écasound ?

Il s'agit d'un projet de loisir ringard de preuve de concept, donc la simplicité de l'API est le facteur déterminant (suivie d'un choix raisonnable de langage de programmation).

Était-ce utile?

La solution

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

Autres conseils

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

Pour extraire simplement un flux d'échantillons, vous souhaiterez probablement utiliser Services de file d'attente audio;le AudioQueueNewInput La fonction configurera l’enregistrement des données PCM et les transmettra à un rappel que vous fournissez.

Sur votre Mac, vous trouverez un ensemble d'exemples Core Audio dans /Developer/Examples/CoreAudio/SimpleSDK qui inclut une utilisation (AQRecord dans AudioQueueTools) des API d'enregistrement des services de file d'attente audio.

Apple fournit un exemple de code pour lire et écrire des données audio.De plus, il y a beaucoup de bonnes informations dans le Section audio du site des développeurs Apple.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top