PortAudio: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
Sem resumo de edição
 
(3 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 4: Linha 4:


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.
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! ==
== Hello, World! ==
Linha 22: Linha 24:
Ou: https://gist.github.com/automata/5904558
Ou: https://gist.github.com/automata/5904558


[[Category:Lab Macambira]]
[[Category:Lab Macambira]][[Category:audioArt]]

Edição atual tal como às 19h01min de 1 de julho de 2013

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