HACC13 - CRIAÇÃO EM ARTES E TECNOLOGIAS INTERATIVAS

Transcrição

HACC13 - CRIAÇÃO EM ARTES E TECNOLOGIAS INTERATIVAS
HACC13 - CRIAÇÃO EM ARTES E TECNOLOGIAS INTERATIVAS
Criação de instrumento musical interativo
Marina Vieira
Resumo: O projeto pretende criar um instrumento musical interativo com controlador
externo, expandido as possibilidades de performance e integrando-o num set de
instrumentos digitais. Juntamente com o controlador externo temos um robô, que
responde interagindo com as teclas do controle, criando uma espécie de dança. Com
isso é possível trazer para a interação musical um objeto que a princípio não é
designado para tal efeito.
Palavras-chave: pure data, videogame, controle, arduino, instrumento.
Especificação técnica:






Pure data (pd-extended)
DAW: lmms
Controle PS2 usb
Arduino Uno
Arduino L298 H-bridge Motor Driver Board
2 motores Dc 5v
Primeiros passos: controle de PS3 Sintaxis com pure data via hid (MAC OS)
O objeto [hid] vai permitir o reconhecimento do dispositivo externo, com um toggle,
que ativa ou desativa o recebimento dos dados. A primeira caixa numérica representa o
número ou localização do dispositivo que se quer utilizar (através da mensagem print no
exemplo abaixo obtemos uma lista dos dispositivos disponíveis).
O print no console permite obter os dados enviados pelo controle
1
Utilizei o objeto [route] + abs key (mensagens do analógico) para o controle do botão
analógico esquerdo.
2
O botão analógico envia valores de 0 a 255, utilizei objetos para transformar numa
escala de 0-127, uma vez que as mensagens MIDI variam de 0 a 127.
Em seguida, utilizei o objeto [route] também para os botões
3
O procedimento seguinte é o envio das mensagens note on/note off, utilizando os
objetos [moses] e [noteout].
Após o primeiro teste, fiz diversas tentativas no esforço de fazer funcionar o
instrumento externo com o pd-extended interagindo com o Ableton Live, nos sistemas
operacionais Windows e MAC OSX, no entanto tive problemas em ambos os sistemas
para fazer a interação do pure data com o sequenciador. No OSX, não funcionou a
interação através do IAC driver (Configurações de Áudio e MIDI  IAC Driver) e no
Windows, apesar de ter encontrado uma solução com o MIDI Yoke, os resultados não
foram satisfatórios. Também foi necessário no caso do Windows encontrar um objeto
que substituísse o objeto [hid], que não é reconhecido pelo sistema. A solução
encontrada foi o objeto [hidin].
Fiz também testes diferentes tipos de controladores externos (controle PS3 Bluetooth
Sintaxis, controle PS2 USB e o controle Bluetooth Multilaser Wii + Nunchuck). Na
primeira versão final, foi escolhido o controle PS2 USB, por ser o que melhor responde
até o momento às tentativas. No entanto, num desenvolvimento posterior, pretendo
utilizar o controle de Wii + Nunchuck, para explorar potencialidades sonoras. Quanto
ao sistema operacional e a integração entre o pure data e o sequenciador a escolha final
foi o pd-extended com o lmms no Linux (Ubuntu Studio).
Eis o procedimento que segui para a construção do produto final no Linux:
4
Primeiro, é preciso iniciar o jack pelo terminal. As configurações de setup encontram-se
nas imagens abaixo:
Em seguida, abri o pd-extended, selecionei o patch e selecionei nas configurações
“Mídia” a opção ALSA-MIDI. Na sequência abri o lmms para prosseguir com as
configurações MIDI. No instrumento escolhido, abri a aba MIDI, que contém a opção
“Enable MIDI Input”, em seguida introduzi o canal MIDI escolhido. Ao lado das
opções Channel e Velocity, existe também um botão onde se deve selecionar Midi from
Pure Data.
5
Foi também incorporado na fase final um robô, que responde às teclas com
movimentos, construindo uma dança. O robô é feito com uma placa Arduino. É
necessário o pduino (http://puredata.info/downloads/pduino) para seu funcionamento. O
robô tem quatro movimentos: frente, trás, direita, esquerda. Tendo como base um
código, feito por Willian Mayan, obtido em (https://github.com/Pupilo/Bender), fiz com
que cada movimento do robô correspondesse a uma tecla (ou som). É preciso carregar
na placa Arduino o programa “StandardFirmata”. Em seguida, vou demonstrar nas
imagens a construção dos movimentos do robô no pure data, sua incorporação no patch
do controlador e o resultado final.
6
7