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