Domanda

Mi piacerebbe estrarre un flusso di campioni PCM dal microfono line-in o integrato di un Mac ed eseguire una piccola analisi dal vivo (la natura esatta non riguarda questa domanda, ma potrebbe essere una FFT ogni tanto, o alcune statistiche di base sui livelli del campione, o cosa hai).

Cosa è adatto a questo?Scrivere un'AudioUnit che si limita a far passare il suono e incidentalmente lo trasmette da qualche parte per l'analisi?Scrivere un'app compatibile con JACK e capire come farla funzionare con il server JACK?Ecosound?

Questo è un progetto hobby di prova di concetto scadente, quindi la semplicità dell'API è il fattore trainante (seguito da una scelta ragionevole del linguaggio di programmazione).

È stato utile?

Soluzione

Penso portaudio è ciò di cui hai bisogno.La lettura dal microfono da un'app della console è un file C di 10 righe (vedi patests nel portaudio distrib).

Altri suggerimenti

Il framework principale per lo sviluppo audio in Mac OS X è Core Audio;è la base per tutti gli I/O audio.Ci sono livelli sopra come Audio Toolbox, Audio Queue Services, QuickTime e QTKit che puoi utilizzare se desideri un'API semplificata per attività comuni.

Per estrarre semplicemente un flusso di campioni, probabilmente vorrai utilizzare Servizi di coda audio;IL AudioQueueNewInput La funzione imposterà la registrazione dei dati PCM e li passerà alla richiamata fornita.

Sul tuo Mac c'è una serie di esempi Core Audio in /Developer/Examples/CoreAudio/SimpleSDK che include l'uso (AQRecord in AudioQueueTools) delle API di registrazione dei servizi di coda audio.

Apple fornisce un codice di esempio per leggere e scrivere dati audio.Inoltre ci sono molte buone informazioni nel file Sezione audio del sito degli sviluppatori Apple.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top