Computação Musical - Instrumentalizando um Cortador de Grama - 1
O massacre musical da roçadeira elétrica
Como transformar um cortador de grama num instrumento musical digital?
As ferramentas tradicionais de produção de áudio (Ableton, Pro Tools, samplers em geral…) podem nos levar até certo ponto em expresividade. Esta série de postagens chama para algo mais:
- Abordar desenho de áudio e computação musical usando Pure Data a partir de um nível iniciante;
- Exercitar diferentes escutas;
- Ir além do paradigma de nota musical;
- Trabalhar instrumentalidade;
- Alçar vôos para além do teclado;
- Criar um plugin (e usar nas ferramentas tradicionais de produção áudio - ora, veja só!)
A inspiração vem de um encontro do laboratório de Corpo, Som E Tecnologia, coordenado pela profa. Dra. Flora Holderbaum e vinculado neste momento à disciplina de Tecnologia Musical (Ceart-UDESC-SC). Um dos participantes utilizou uma amostra gravada de um som de cortador de grama, inseriu num sampler e aplicou filtragens para construir timbres. Um contrabaixo utilizando esse procedimento, no entanto, não deu bom resultado - vamos apelar então para nossa escuta e entendimento dos fenômenos envolvidos e modelar esse som digitalmente, colhendo os frutos que recém falamos acima.
Se você nunca produziu com Pure Data, pode assistir esta oficina introdutória (começa aos 43m55s. Assista do começo para exemplos de Pd em performances de todo tipo, além de desenho de áudio e trilha sonora, focando em produção brasileira e florianopolitana):
"Que nota eu escuto se eu tocar a corda Mi (660 Hz) 440 vezes por segundo?"
Se você sabe a resposta, então você sabe de onde vem a nota (altura musical é o nome correto) de um cortador de grama.
O princípio é o mesmo da sirene mecânica (de colégio, de polícia….): uma roda dentada ou com pás gira, atingindo um anteparo muitas vezes por segundo. Por exemplo, se o anteparo está sendo atingido 440 vezes/segundo, a gente escuta uma nota Lá (440 Hz. Ora, Hz significa exatamente repetições por segundo!).
No caso do cortador, são os dentes da nossa lâmina que atingem o que está sendo cortado. Por isso que ouvimos a altura musical subir em glissando à medida que o giro da lâmina ganha velocidade).
Que mágica é essa? Pra entender melhor, nós fomos à Barra da Lagoa falar com seu Bentois:
Quer dizer que a repetição de um mero som de duas coisas se chocando vira uma nota musical? É uma imitação que engana nossa percepção?
B.: Não é uma imitação. A própria nota musical (altura musical) é que é a invenção da nossa audição. Coisas como a voz, os pássaros e as violas agitam o ar em repetições, do mesmo jeito que uma sirene - só que de jeitos menos bruscos. A lei da nossa audição é essa: repetiu mais do que umas 20 vezes/segundo, virou nota.
Ainda não acredito!
B.: Observe a trama de um tecido. Se você arrastar uma unha sobre ele, vai estar atingindo diversos fios por segundo. Observe como a nota que você ouve é aguda o tanto mais rápido você arrasta sua unha.
Na demonstração a seguir, Pierre Schaeffer (no absolutamente necessário Solfejo do Objeto Sonoro, de 1966) chama à atenção 3 fenômenos diferentes na escuta ao transformarmos sons musicais em notas musicais através de sua repetição cada vez mais rápida. O material escolhido para ser repetido influencia o timbre da nota ouvida e a este material Schaeffer chama grão: http://tramausp.com.br/_trabalhos/001solfege.html#item4.
Obs 1.: Estamos ignorando o som do motor e das ressonâncias do equipamento por enquanto. Obs 2.: E a resposta da pergunta da seção então é: escutamos a nota Lá (440 Hz) - isso mesmo, tocamos a corda Mi e ouvimos a nota Lá.
Prática
O patch abaixo é nosso primeiro esboço. Clique no botão para mostrar os controles aqui desta postagem para interagir com ele. Em seguida conversaremos sobre como ele funciona.
OK. Agora talvez você ache mais confortável rodar o patch em outra janela enquanto lê o texto aqui. Se for o caso, clique aqui para baixá-lo e abrir no seu Pure Data.
Antes de mais nada, precisamos do som de um impacto da lâmina. Podemos levar um equipamento a um lugar isolado e captar com um bom microfone. Ou procurar um som desses em algum repositório como freesound.org. Ou ser bem mais práticos, começar do simples e tentar captar o essencial do fenômeno.
Um som de impacto seco (sem grandes ressonâncias) consiste em um pico de amplitude que decresce rapidamente (sabemos isso já de ouvido). Vamos implementar usando um objeto array:
- Menu Put->Array (ou atalho Shift+Ctrl+A)
- e desenhamos no array (lembrete: temos que estar no modo de execução, não de edição. Para alternar entre os dois modos, podemos ir ao menu Edit->Edit Mode ou Ctrl+E):
Ao criar o array, vemos que, por padrão, cada ponto pode assumir valores entre -1 e 1. Esse é o padrão da escala em áudio digital. Valores fora dessa escala vão clipar o som. Para facilitar seu trabalho de desenhar no array1, você pode enviar a mensagem ;array1 const 0, para zerar todos os elementos do array1 (ou qualquer que seja o nome que você deu).
Para tratar esses valores como um sample a ser repetido, vamos criar um objeto [tabread4~]. Para enviar esses valores que estão no array, enviamos a mensagem set array1 para o [tabread4~].
[tabread4~], nosso sampler
Pelo “~”, já sabemos que é um objeto que emite um sinal. Lembre que sinais não precisam de nenhuma interação, eles são produzidos continuamente.
Qual valor [tabread4~] emitirá é definido pelo valor recebido no seu inlet, encarado como índice, iniciando do zero. Ou seja, se [tabread4~] recebe 0, emite o 1o elemento do array guardado (que é o array1). Se recebe 1, emite o 2o elemento de array1, etc. Se recebe 99, emite o 100o elemento de array1 (que é o último, já que criamos array1 com 100 elementos).
Por isso usamos o objeto [phasor~]. Este é um oscilador cujo sinal emitido é uma linha de 0 a 1. Quando multiplicamos sua saída por 99, agora temos uma linha de 0 a 99. Ou seja, ao entrar em [tabread4~] varremos todos os seus elementos. E quantas vezes por segundo isso acontece? Quantas vezes por segundo phasor repetir-se, ou seja, sua frequência.
Para termos o efeito de ligar e desligar o cortador, aplicamos [line~], para que a frequência desejada não mude de sopetão, mas transicione, obtendo o nosso glissando. Veja que as mensagens que mandamos para gerar sinais de linha com [line~] têm como 2o parâmetro o número 1000: é a quantidade de milisegundos que durará a linha. Futuramente podemos controlar esse tempo também para ter transições mais rápidas ou demoradas - podem depender do intervalo de frequência a percorrer, por exemplo.
A dica final: o Help do Pd vale ouro, use e abuse! É só clicar com o botão direito em um objeto e ir em Help. Tem também o Help geral no menu.
Algumas melhoras
Riqueza harmônica
Como comentamos ali em cima, podemos modelar ainda o som do motor e as ressonâncias no equipamento. Podemos experimentar essas melhoras com filtragens dentro do próprio software de áudio da nossa preferência quando transformarmos nosso cortador em um plugin nas próximas semanas… ou podemos modelar por aqui mesmo. Por agora seguiremos adiante para chegar logo no plugin.
Quem tem interesse em síntese de áudio, pode ver as implementações em Pure Data de sons de motores do Sound Design Toolkit (patches de Pure Data e de Max/MSP) ou do livro Designing Sound, de Andy Farnell (inclui os patches de Pure Data no site).
"Gestual" da lâmina
A forma com a qual nossa lâmina ganha e perde velocidade é muito importante. Isso porque boa parte do que entendemos como timbre é determinado pelas características dinâmicas do som, i.e., a forma como ele se desenrola no tempo - principalmente durante seu início (a que chamamos ataque). É esse ataque que está sendo trabalhado quando um violonista escolhe de que forma vai lixar as unhas da mão direita e em que ângulo vai atingir as cordas; quando um pianista trabalha o “peso” de seu toque durante o breve intervalo de tempo onde o martelo dentro do instrumento começa a entrar em contato com a corda; etc. E é por nossa audição estar automaticamente sempre imaginando os movimentos por trás dos sons que uma performance musical expressiva tem muito mais a ver com essa breve trajetória do nascimento de cada som do que com o conteúdo de harmônicos - ao menos na opinião deste que aqui escreve.
Fica a chamada para os próximos trabalhos!
Mais minhocas na cabeça
Baixe o patch e experimente fazer outros desenhos de forma de onda no array1. O que acontece com o som se você desenhar algo parecido com um seno? E algo parecido com dois ciclos de seno? Ou dois ciclos de impulso? O que acontece quando o 1o e o último elemento de array1 são muito diferentes? Aliás, o que acontece sempre que há variações muito grandes entre um ponto e outro?
Tudo isso revela vários assuntos sobre a relação entre forma de onda e as frequências presentes, que veremos na próxima postagem!
Materiais
- Solfejo do Objeto Sonoro - versão em Português
- Roda de Savart - Um tipo de sirene. No séc. XIX foi o dispositivo que demonstrou a relação entre frequência e altura musical
- Instrumento musical por Bart Hopkin, feito de 33 rodas de savart. Hilariante ;)
- Sound Design Toolkit (Pure Data)
- Andy Farnell’s Designing Sound (patches de Pure Data gratuitos no site) Aos programadores e aventureiros:
- Código-fonte desta página. O patch interativo de Pd usa:
- WebPd, versão do Pure Data para o navegador
- pd-fileutils. Algumas utilidades para uso do Pd em web. Só não estamos usando para exibir nossos patches porque o objeto array não está sendo desenhado no momento…