→ cordas

Toscolão upgrade 1

O toscolão foi um experimento que realizei com a colaboração e influência de outros amigos (lucio, chgp, vanessa, simone, goto ) durante uma residência no espaço e/ou em 2007 (experimento de imersão que foi batizado de Geada).

Toscolão era um instrumento híbrido de violão e computador de 8 bits baseado no hardware livre arduino, onde utilizei a idéia de aplicar uma pequena voltagem na corda e espalhar resistores num tipo de “escala” de diferentes resistências no braço, que quando em contato com a voltagem aplicada na corda controlava esta voltagem funcionando como um tipo de potenciomêtro que controlava paramêtros de um sintetizador sonoro bem simples, funcionando com a técnica de “Modulação por Largura de pulso“, utilizando as saídas digitais do arduino.

Já faz algum tempo que desmontei o braço do toscolão, pois era uma peça bastante improvisada e instável. Quando fiz essa experiência foi muito mais como prova de conceito da idéia dos resistores no braço do que a intenção de dar um acabamento e transformar em algo com mais durabilidade.

Começo aqui a tempestade cerebral e organização de links pra ir pensando na atualização do toscolão ou construção de outro controlador e/ou instrumento baseado no gestual de cordas, usando técnicas e tecnologias que estão ao alcance de um relativo “faça-você-mesmo” que seja viável pra quem vem acompanhando as discussões aqui.

Aqui volto agora a pensar em como retomar o projeto de um controlador baseado no gesto cordas, e revisar algumas técnicas e links que colecionei desde então.

1. A transformação do gesto em controle

A técnica do contato do fio com uma placa de resistores funciona muito bem como exemplo didático de o que é um potenciomêtro (uma resistência variável), porém não me pareceu um controle muito preciso para construção de escalas fixas, e não seria viável para uso de mais cordas – a não ser por alguma modificação pra fazer algum tipo de isolamento por trastes não-condutivos. Só testando pra saber e ter outras idéias em cima.

Penso que pra esta técnica pode ser mais eficiente usar este contato como um sinal digital para cada uma das notas no matriz do braço. No arduino isso exigiria o uso de algum tipo multiplexador ou outra técnica de varredura serial de bytes, para aumentar entradas e saídas. Com o Arduino Mega isto estaria solucionado, mas encareceria bastante o projeto, e impossibilita que seja feito em placas mais artesanais com components grandes, pois o mega usa um atmel pequeno to do tipo smd.

Eu cheguei a fazer uma experiência numa placa com botões pra testar essa entrada, baseado na tecnica “Shift In“, pra tentar utilizar os chips mais baratos possíveis. Porém, fui ansioso demais e resolvi fazer a placa soldando fios, ao invés de desenhar o circuito (foto mais abaixo)… Ficou agora o desafio pra debugar aqueles fios, acabei na época indo pra outros projetos e retomá-lo agora exigiria uma imersão naquela idéia novamente, pois não foi documentada na época.


(frente – abaixo dois chips 4021 para fazer o Shift In das entradas – ainda faltava um circuito para o retorno da matriz de leds )


(Aqui o esquema ansioso de sair soldando o circuito em fios, instabilidade total – “estética da gambiarra” – acidente de estabilidade questionável)

Uma boa referência similar a isso é usar os esquemas que são usados nos clones do projeto Monome – o projeto Arduinome é um caminho pŕoximo do que estamos trabalhando aqui. De qualquer maneira teria que redesenhar a placa. Fica aqui uma boa oportunidade pra experimentar mais a fundo o Kicad o Geda – projetos livres de fazer placas. Eu tenho um pouco de experiência no Eagle, porém é um programa do tipo “demo” (e não é software livre), com um espaço restrito de tamanho de placa (que seria menor que o braço). O Eagle é o programa para manufatura de placas disparadamente mais popular, e é o projeto no qual você vai encontrar a maioria dos arquivos derivados do projeto arduino.

Uma outra referência (até mais próximo daquele estudo inacabado) seria utilizar a técnica usada em algumas destas guitarras midi como as Ztar, que recentemente foi também usada na guitarra MISA (porem a Misa usa uma touchscreen em um computador embarcado no lugar das cordas – “espetacular”, porém caro no momento). Este caso perde-se o gesto de escorregar o dedo sobre a corda e o traste, o “bend” e outras coisas, mas ganha-se precisão da nota, pois fica mais próxima de um teclado. Lembrando também que algumas destas provavelmente tem no lugar dos botões sensores de pressão (que poderiam ser derivados de algo tipo um sensor piezoelétrico )


(Ztar)


(Misa)

O caso da MISA é interessante como exemplo de sistema embarcado, pois inclui um computador de 32 bits embutido rodando linux e poderia-se pensar em rodar um Puredata nele podendo fazer processamentos de áudio muito mais complexos e qualquer outra coisa possível de fazer com um sistema operacional tipo Linux. Porém eu acho que perder as cordas como dedilhado descaracteriza totalmente o gesto, as cordas como medidor de tensão. Acho também vacilo o cara colocar em todos lugares do seu site que ele ta patenteando o “invento” (“patent pending”), pois ele só combinou A com B (veja como a Ztar ja era muito parecida com isso), uma questão de “empreendedorismo”, “chegou primeiro”, foi la e pagou preço pra transformar em “produto”. Ja que ele ta usando Linux porque não faz um open hardware?

Um exemplo é este tutorial aqui de 2006. A idéia do touchpad já estava no KaossPad e o cara adaptou.

O resultado é uma guitarra com um touch pad para controle de efeitos de audio em tempo real (veja bem – isso é diferente de um controlador de parametros de sampler ou síntese sonora, onde voce apenas gera controle de voltagem para controlar a nota independente do timbre, ou qualquer outro controle – videos, eletrodomésticos, robôs, etc).


(guitarra com “kaosspad” adptado)

Obviamente mais bacana de que desmontar um kaospad, o bacana seria fazer um pad artesanal. Este pesquisador chamado Randall Jones da uma explicação de seu pad artesanal em seu blog, com alguns links. O interessante no experimento dele não é a parte de transformação digital (pois ele esta usando o sinal como se fossem microfones, em uma placa multitrack) e sim a maneira como ele solucionou a invenção de uma especie de “piezo elétrico em grade” artesanal. A tese detalhada sobre o trabalho esta neste link.

Captadores hexafônicos

Voltando a maneira como algumas guitarras MIDI funcionam, poderíamos também pensar em simplesmente transformar uma captação independentes das cordas em controle de voltagem. Neste caso duas coisas nos interessam: O envelope de volume das cordas – podendo nos informar quando o sampler ou síntese sonora deveria soar, mas também poderíamos pensar numa transformação direta da frequencia sonora numa escala cromática (de 12 tons) com algum tipo de conversor frequencia para voltagem.

De qualquer maneira precisáriamos de um captador independente para cada corda (no caso dos violões e guitarras este captador é chamado “hexafônico”).

Encontrei poucos links de como fazer este captador, mas acredito que basicamente vocẽ possa trabalhar com algum tipo de eletreto ou piezo individual em cada corda.

Uma alternativa seria encontrar os captadores GK da Roland e adaptar seu cabeamento para ter a saída independente das cordas processados por algum chip conversor de frequencia para voltagem, para eliminar a necessidade de comprar aqueles módulos caríssimos com sons bregas ou no mínimo limitados.

Encontrei também um outro site interessante sobre captadores hexafônicos artesanais, uma pena que ele não divulga a técnica detalhadamente. Se alguem conhece estas técnicas ou tem algum link pra compartilhar, por favor deixe comentários.

Eu desacredito um pouco dessa técnica como uma possibilidade de controle realmente preciso quando se usa acordes, apenas deixo aqui pra receber comentários de quem ja usou algum desses captadores para ver se estou enganado, pois nunca tive oportunidade de testá-los.

Falando em trasformação de freqüencia em controle de voltagem quando estamos ja entrando com o som num computador com sistema operacional e Puredata rodando, daí as reconhecimento de pitch (tons) ficam bem facilitadas pelos objetos [fiddle~] e [sigmund~], mas trabalhar com um computador embutido ou acessado remotamente via rádio ou bluetooth é uma possibilidade que vou falar num próximo post.

Por último colocaria aqui também a possibilidade de utilizar um chip  ou circuito dedicado que converte frequencia pra voltagem, substituíndo o computador. Mas precisaria conhecer melhor os modelos existentes. No momento encontrei apenas este chip aqui, que não tive oportunidade de testar.

2. A transformação do controle em som embarcado

A partir do momento que temos está entrada de parâmetros de controle se optamos por ter um som embarcado como no Toscolão temos que pensar em soluções computacionais que tenham tamanho e possibilidade de autonomia de energia pra ficar conectado no próprio corpo do objeto, além dos autofalantes embutidos. No caso do Toscolão isso foi feito com arduino. Na época não cheguei a experimentar muito com as possibilidades de som com o tanto de memória e processamento que este microprocessador permite. Portanto vou detalhar um pouco aqui essas possibilidades atuais usando este projeto original como base, e depois algumas outras opções que tenho em mente.

Um problema básico de se fazer síntese sonora no arduino é o fato de que você esta limitado dentro do loop do interpretador de comandos dele. É possível fazer um oscilador de pulso pela saída digital PWM  (Pulse with modulation), porém atente o fato que mexer na função delay() de qualquer uma das portas alterararia o atraso das outras. A não ser que você queira utilizar isso como um tipo de “efeito” pra criar um timbre peculiar, onde voce tem várias saídas PWM, sempre com alguma razão entre elas (exemplo: quando a saida 5 esta em 440 hz a 6 está em 220 hz). Este era o caso utilizado no timbre do toscolão – que pode ser conferido aqui nessa música-estudo:


Agora 3 anos depois do projeto, encontrei alguns códigos também onde os autores usam algumas interrupções do chip e acesso a registradores do ATMEGA pra que possa criar possibilidade uma biblioteca de áudio.

Uma delas, a lib Glade, é baseada neste código. Parece um tanto inacabada. Não testei ainda a lib, apenas o código monolítico “PCM audio” e funciona pra um som até mais ou menos de 1 segundo no ATMEGA168.

Outra é a lib Bassdl , não entendi muito bem ainda pois não li o código, mas pareece que consegue fazer multitrack.
Pode ser conferida no video abaixo:

Outra referencia indispensável é este link. Eles dechavam varias possibilidades de usar o arduino como controlador de som, colocando prós e contras detalhadamente.

Fora do arduino e projetos similares de 8 bits ou eletronica analógica a tendência é ja pensar em microcontroladores de 32 bits, onde você poderia instalar um sistema operacional e usar programs complexos ja existentes, como Puredata, Chuck, Supercollider e etc. Ouvi falar muito da Beagleboard, que dizem ser um projeto open hardware, mas ainda não tive oportunidade de testar e ver até onde é aberto e documentado.

Vale também ficar atento ao projeto Maple, que promete ser um 32 bits com pinagem compatível com arduino, e a IDE de compilação similar para criação de firmwares que rodariam num loop também compatível, independente de haver sistema operacional na placa e usando a IDE diretamente.

3. O som controlado remotamente

Neste caso, os softwares e bibliotecas estão por todos os lados, e podemos ir direto ao experimento musical propriamente dito e pensar já em técnicas de composição algorítmica, efeitos e todo o mundo da música computacional obviamente. Minha estratégia de escopo aqui vai ser continuar dexavando derivações nos rascunhos no estudo da interface Navalha e no estudo de Composição Algorítmica.

Deixo aqui também a anotação pra tomar o assunto de transmissão de dados sem fio, em algum outro post mais focado em alguma experiência específica.

, , ,

Comente