Neste seminário serão introduzidos elementos básicos de SuperCollider, que é uma linguagem puramente orientada a objetos e dinâmica, baseada em Smalltalk, mas específica para composição algorítmica, síntese e processamento de áudio.
Também serão abordadas algumas questões sobre live coding (performance musical que consiste em escrever programas ao vivo), composição algorítmica (geração de material musical a partir de processos computacionais) e orquestras de laptop.
A partir dos ingredientes anteriores, será realizada no final do seminário uma jam experimental com todos os participantes. Sendo assim, traga seu computador com o SuperCollider instalado. No Linux, instale os pacotes:
Existem instaladores e interfaces gráficas para MacOS e Windows disponíveis em: http://supercollider.sourceforge.net/downloads/
Arquivos de supercollider que serão utilizados na apresentação:
Pure Data é uma linguagem de programação visual voltada ao processamento digital de sinais e à criação de trabalhos multimídia interativos. A construção de programas em Pure Data, chamados de patches, se dá de forma rápida e interativa, mas fica restrita ao ambiente do Pd.
O objetivo deste seminário é expor a libpd, uma ferramenta que encapsula o Pure Data e permite que patches sejam utilizados como bibliotecas DSP e interfaces de controle para aplicações baseadas em diferentes linguagens de programação.
Código utilizado na apresentação:
libpd: $ git clone https://github.com/libpd/libpd.git
Testes em C e Java: $ git clone https://github.com/phrb/libpd_tutorials.git
Testes em Android: $ git clone https://github.com/deusanyjunior/Sensors2PD.git
O app para Android está disponível nos anexos da apresentação.
Este trabalho de mestrado explorou diferentes possibilidades de processamento de áudio em tempo real utilizando dispositivos com alta disponibilidade e baixo custo.
Arduino é uma estrutura minimal para interação com microcontroladores da família ATmega e é geralmente utilizados como interface de controle de outros dispositivos elétricos ou eletrônicos. Por possuir pinos com capacidade ADC e DAC, pode ser utilizado para capturar, processar e emitir sinais analógicos.
GPUs são placas de processamento paralelo cuja estrutura é uma evolução da pipeline tradicional de processamento gráfico. Possuem centenas de processadores que operam em paralelo em uma memória própria. Podem, portanto, operar em diversos canais ao mesmo tempo ou utilizar propriedades inerentemente paralelas de alguns algoritmos de processamento de áudio.
Dispositivos móveis estão cada vez mais presentes e, por possuir capacidade de captura e emissão de áudio, podem ser explorados como plataformas de processamento em tempo real. Neste contexto, o sistema Android foi utilizada para realizar análise de desempenho para comparação de diferentes aparelhos em tarefas comuns de processamento de áudio.
Neste seminário serão apresentadas as motivações, o desenvolvimento e os resultados do trabalho realizado.
Csound é uma linguagem de computação musical desenvolvida no MIT há aproximadamente 30 anos que continua sendo muito utilizada. Suas últimas versões passaram a dar suporte a codificação em tempo de execução, e foi escolhida como sistema de áudio do projeto One Laptop Per Child (OLPC). Além de sua API básica em C, também apresenta suporte em Python, Java, Lisp, Tcl, C++, Haskell e muitas outras linguagens. Neste seminário será apresentado como é possível utilizar Csound em dispositivos com Android. Serão apresentadas soluções tanto para não desenvolvedores que desejam apenas uma interface básica, quanto os métodos comuns para programação utilizando Java e Csound em aplicativos para Android.