PortAudio

De Pontão Nós Digitais

Intro

PortAudio é uma biblioteca que facilita a construção de programas multi-plataforma para processamento de áudio. Seu programa funcionará em vários hosts: ALSA, OSS, CoreAudio (iOS), JACK...

Interessa saber que ele torna o acesso ao dispositivo de áudio transparente e descomplicado: basta concentrar-se na escrita da função de callback que é chamada pelo PortAudio quando o dispositivo de áudio estiver com fome.

Uma alternativa ao PortAudio é RtAudio, uma classe em C++, bastante simples e interessante.

Hello, World!

Para compilar, tenha o PortAudio instalado. No Ubuntu, basta instalar o pacote, mas caso deseje habilitar flags para debug, é interessante compilar do zero o PortAudio e definir algumas flags (habilitando bindings C++, host jack e informações de debug):

   cd portaudio/
   ./configure --with-jack --enable-cxx --enable-debug-output --prefix=/usr
   make -j 3
   sudo make install    

Comece por um arquivo de exemplo:

   cp portaudio/examples/paex_saw.c saw.c
   gcc -lasound -lm -lpthread -pthread -lportaudio -o saw saw.c /usr/lib/libportaudio.so
   ./saw

Ou: https://gist.github.com/automata/5904558