Live Coding

Um dos aspectos mais emocionantes do Sonic Pi é que podes escrever e modificar o código em tempo real para fazer música, tal como é possível em uma guitarra ao vivo. Isto significa que após alguma prática é possível levar o Sonic Pi para o palco e tocar.

Abra a sua mente

Antes de entrarmos nos detalhes de como o Sonic Pi funciona no resto deste tutorial, queria dar-te uma ideia de como é programar em tempo real. Não te preocupes se não perceberes muito (ou nada) disto. Tenta só segurar-te à cadeira e aproveita…

Um Live Loop

Vamos começar, faça uma cópia do seguinte código para um buffer vazio:

live_loop :flibble do
  sample :bd_haus, rate: 1
  sleep 0.5
end

Agora, aperte o botão Run e você ouvirá uma batida de bombo. Se a qualquer momento desejar parar o som basta pressionar o botão Stop. Mas não pressione ainda… Em vez disso, segue estes passos:

  1. Tenha certeza de que o som do bombo ainda está tocando
  2. Muda o valor do sleep de 0,5 para algo maior, como 1.
  3. Pressione o botão Run outra vez
  4. Nota como a velocidade do bombo mudou.
  5. Por fim, lembra-se deste momento, esta foi a primeira vez que você programou ao vivo com o Sonic Pi e é provável que não seja a última…

Ok, isso foi simples. Vamos adicionar algo mais à mistura. Acima de sample :bd_haus adiciona a linha sample :ambi_choir, rate: 0.3. O teu código deve estar algo parecido com o seguinte:

live_loop :flibble do
  sample :ambi_choir, rate: 0.3
  sample :bd_haus, rate: 1
  sleep 1
end

Sinta-se agora à vontade para testar aquilo que aprendeu. Mude parâmetros, como o rate - preste atenção no que acontece quando usa valores mais altos, valores mais baixos, ou até valores negativos. Repare no que acontece quando você muda o parâmetro ‘rate’ pelo sample ‘:ambi_choir’ (para, por exemplo ‘0.29’). O que acontece quando você escolhe um valor pequeno para o step? Veja se você consegue fazer ele ir tão rápido que seu computador vai parar com um erro porque não consegue alcançá-lo (se isso acontecer, escolha um valor mais alto para o tempo de sleep, e aperte em Run de novo).

Experimenta comentar uma das linhas sample adicionando um # no início:

live_loop :flibble do
  sample :ambi_choir, rate: 0.3
#  sample :bd_haus, rate: 1
  sleep 1
end

Nota como o computador ignora aquela linha, e por isso não a ouvimos. Isto se chama um comentário. No Sonic Pi podemos usar comentários para adicionar ou remover coisas da música.

Finalmente, vou te mostrar algo divertido. Copia o código abaixo para um buffer vazio. Não faça muito esforço compreendê-lo, além de ver que existem dois loops (ciclos) – duas coisas a tocar ao mesmo tempo. Agora, faz o que você faz melhor – experimente e mude. Aqui estão algumas sugestões:

Lembra de clicar em Run e ouvir as mudanças da próxima vez que o loop tocar. Se o seu código não ficar como deseja, não se preocupe – pressione Stop, apaga o código e cola uma cópia nova e você está pronto para voltar à tocar. É errando o jeito mais fácil de se aprender…

live_loop :guit do
  with_fx :echo, mix: 0.3, phase: 0.25 do
    sample :guit_em9, rate: 0.5
  end
#  sample :guit_em9, rate: -0.5
  sleep 8
end
live_loop :boom do
  with_fx :reverb, room: 1 do
    sample :bd_boom, amp: 10, rate: 1
  end
  sleep 8
end

Agora, continua a tocar e a experimentar até a sua curiosidade sobre como tudo isto funciona entrar em cena e você começar a se perguntar o que mais é possível no Sonic Pi. Agora você está apto à ler o resto do tutorial.

Então o que você está esperando?