O antro noturno lota de meninas moças incorporando viagens em batidas aceleradas. Garrafas de água na mão acompanham as músicas em volumes penetrantes. Luzes esparsas e esquizofrenicas dividem o ambiente com imagens digitalizadas e códigos que alternam-se repetidamente pelo telão. Mas no palco, em vez de um moderno dj lançando suas pickups e remixes sobre mesas giratórias e digitalizações pré-moldadas, uma figura franzina veste uma fatídica camisa bordada geek. Diante de um laptop (ou dois) digita freneticamente códigos em PERL enquanto faz soar batidas syncopadas.
A programação de audio ao vivo ganha força como uma versão roots da música eletrônica, onde em vez de rodar samples pré-programados alternados sobre bases re-utilizáveis, nosso músico coloca-se um passo atrás e trabalha em cima das estruturas matemáticas de sua composição (pode-se até invocar uma analogia com Mozart, que jogava dados para compôr minuetos no século XVI).
#
sub bang {
my $self = shift;
my $note = 100;
$note += 50 if $self->{bangs} % 4 == 0;
$note -= 30 if $self->{bangs} % 3 == 0;
$note += 60 if $self->{bangs} % 7 == 0;
beep($note, 40);
$self->code->[0] = '# note: ' . $note;
$self->modified;
}
Programe uma linha de baixo como a representada acima e utilize Cadeias de Markov para gerações randômicas; ou explore propriedades emergentes sobre beeps e blops dignos de representações sixties de enormes mainframes. "As vezes formas matemáticas elegantes soam bem, noutras erros inesperados e nonsense caótico pode produzir resultados muito mais interessantes", salienta Alex Mclean.
Segundo artigo coletivo disponibilizado pela TOPLAP (Temporary Organisation for the Promotion of Live Algorithm Programming - ou variações sobre a mesma sigla):
"It thus deeply connects algorithmic causality with the perceived outcome and by deconstructing the idea of the temporal dichotomy of tool and product it allows code to be brought into play as an artistic process. The nature of such running generative algorithms is that they are modified in real-time; as fast as possible compilation and execution assists the immediacy of application of this control. Whilst one might alter the data set, it is the modification of the instructions and control flow of processes themselves that contributes the most exciting action of the medium."
O live coding estrutura-se a partir de um processo recursivo de programação e reprogramação. Ao mesmo tempo que a interface geradora de audio é escrita pelo músico, está simultaneamente sendo compilada e executada, bem como gerando uma base visual que permite novamente sua programação. Esse feedback faz com que o processo seja mais completo que o utilizado na música gerativa (vide Brian Eno), pois ao invés de simplesmente deixar o código criar e modificar a si mesmo, permite a intervenção do músico em qualquer estágio da execução do programa.
Além de PERL, outras sintaxes vem sendo criadas ou modificadas pra viabilizar a programação ao-vivo. SuperCollider é uma dessas linguagens para a síntese de audio que foi modificada para aceitar rotinas em real-time, assim como ChucK, desenvolvida por estudantes de Princeton. Essa última tive a oportunidade de testar após aplicar meus esparsos conhecimentos em UNIX e conseguir rodar alguma coisa pelo terminal do OSX. Obviamente meu progresso não foi além de alguns beeps que variavam a frequência randomicamente, mas já deu pra ter uma idéia das possibilidades da ferramenta.
Pois chegou a hora de dizer 'chega de playback', nós queremos música eletrônica de verdade, composta e reproduzida in loco. "Give us access to the performer's mind, to the whole human instrument," clama o Manifesto Lubeck04, assustadoramente nos colocando mais próximos do tocar 'minimono' representado em Freezone, conto de John Shirley presente na antologia cyberpunk Mirrorshades. Em vez de instrumentos, cabos correm pelo corpo tirando música de impulsos elétricos do artista - virtuose da mente.