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 podes tocar numa guitarra ao vivo. Isto significa que após alguma prática podes levar o Sonic Pi para o palco e tocar.

Liberta a tua 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, copia o código seguinte para um buffer vazio:

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

Agora, carrega no botão Run e vais ouvir uma boa e rápida batida de bombo. Se a qualquer momento quiseres parar o som basta carregar no botão Stop. Mas não carregues para já… Em vez disso, segue estes passos:

  1. Certifica-te de que o som do bombo ainda está a tocar
  2. Muda o valor do sleep de 0,5 para algo maior, como 1.
  3. Carrega no botão Run outra vez
  4. Nota como a velocidade do bombo mudou.
  5. Por fim, lembra-te deste momento, esta foi a primeira vez que programaste 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 algos, 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 chama-se um comentário. No Sonic Pi podemos usar comentários para adicionar ou remover coisas da música.

Finalmente, vou deixar-te uma coisa para brincar. Copia o código abaixo para um buffer vazio. Não tentes demasiado compreendê-lo, além de ver que existem dois loops (ciclos) – duas coisas a tocar ao mesmo tempo. Agora, faz o que fazes melhor – experimenta e brinca. Aqui estão algumas sugestões:

Lembra-te de clicar em Run e ouvirás as mudanças da próxima vez que o loop tocar. Se ficares com o código estragado, não te preocupes – carrega em Stop, apaga o código e cola uma cópia nova e estás de volta à ação. É a errar que aprendes mais rápido…

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 tua curiosidade sobre como tudo isto funciona entrar em cena e começares a questionar que mais podes fazer no Sonic Pi. Agora estás pronto para ler o resto do tutorial.

Então de que estás à espera…