Pregunta

Me gustaría extraer un flujo de muestras PCM del micrófono integrado o de entrada de línea de una Mac y hacer un pequeño análisis en vivo (la naturaleza exacta no pertenece a esta pregunta, pero podría ser una FFT de vez en cuando). o algunas estadísticas básicas sobre los niveles de muestra, o lo que sea).

¿Cuál es una buena opción para esto?¿Escribir una AudioUnit que simplemente pasa el sonido y, de paso, lo entrega en algún lugar para su análisis?¿Escribir una aplicación compatible con JACK y descubrir cómo hacer que funcione con el servidor JACK?¿Ecasound?

Este es un cursi proyecto de pasatiempo de prueba de concepto, por lo que la simplicidad de la API es el factor determinante (seguido de una elección razonable del lenguaje de programación).

¿Fue útil?

Solución

Creo portaudio es lo que necesitas.La lectura del micrófono desde una aplicación de consola es un archivo C de 10 líneas (consulte patests en la distribución de portaudio).

Otros consejos

El marco principal para el desarrollo de audio en Mac OS X es Core Audio;es la base de todas las E/S de audio.Hay capas encima, como Audio Toolbox, Audio Queue Services, QuickTime y QTKit, que puede usar si desea una API simplificada para tareas comunes.

Para simplemente extraer un flujo de muestras, probablemente quieras usar Servicios de cola de audio;el AudioQueueNewInput La función configurará la grabación de datos PCM y los pasará a una devolución de llamada que usted proporcione.

En tu Mac hay un conjunto de ejemplos de Core Audio en /Developer/Examples/CoreAudio/SimpleSDK que incluye un uso (AQRecord en AudioQueueTools) de las API de grabación de Audio Queue Services.

Apple proporciona código de muestra para leer y escribir datos de audio.Además hay mucha buena información en el Sección de audio del sitio para desarrolladores de Apple.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top