Einfache Audioeingabe-API auf einem Mac?

9

Ich würde gerne einen Strom von PCM-Samples von einem Line-In oder eingebauten Mikrofon eines Macs ziehen und eine kleine Live-Analyse machen (die genaue Natur bezieht sich nicht auf diese Frage, aber es könnte eine FFT sein so oft, oder einige grundlegende Statistiken über die Probe Ebenen, oder was hast du).

Was passt dafür? Schreiben Sie eine AudioUnit, die den Sound einfach durchlässt und zur Analyse irgendwo hin gibt? Eine JACK-fähige App schreiben und herausfinden, wie man sie mit dem JACK-Server spielen kann? Ecasound?

Dies ist ein kitschiges Proof-of-Concept-Hobby-Projekt, daher ist die Einfachheit der API der treibende Faktor (gefolgt von vernünftiger Wahl der Programmiersprache).

    
undees 01.09.2008, 06:31
quelle

3 Antworten

5

Ich denke portaudio ist, was Sie brauchen. Das Auslesen des Mikrofons von einer Konsolen-App aus ist eine 10-zeilige C-Datei (siehe patests im portaudio distrib).

    
diciu 01.09.2008, 11:33
quelle
5

Der wichtigste Rahmen für die Audioentwicklung in Mac OS X ist Core Audio; Es ist die Grundlage für alle Audio-I / O. Es gibt Ebenen darüber wie Audio Toolbox, Audio Queue Services, QuickTime und QTKit, die Sie verwenden können, wenn Sie eine vereinfachte API für häufige Aufgaben benötigen.

Um einen Stream von Samples zu ziehen, sollten Sie wahrscheinlich Audio Queue Services ; Die Funktion AudioQueueNewInput funktioniert Richten Sie die Aufzeichnung von PCM-Daten ein und übergeben Sie sie an einen von Ihnen bereitgestellten Rückruf.

Auf Ihrem Mac gibt es eine Reihe von Core Audio-Beispielen in /Developer/Examples/CoreAudio/SimpleSDK , die eine Verwendung (AQRecord in AudioQueueTools) der Audio Queue Services Aufnahme-APIs enthalten.

    
Chris Hanson 01.09.2008 22:24
quelle
2

Apple bietet Beispielcode für Lesen und Schreiben von Audio Daten . Außerdem gibt es eine Menge guter Informationen im Audiobereich der Apple Developer Site .

    
Mark Harrison 01.09.2008 07:00
quelle

Tags und Links