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:

Certifica-te de que o som do bombo ainda está a tocar Muda o valor do sleep de 0,5 para algo maior, como 1. Carrega no botão Run outra vez Nota como a velocidade do bombo mudou. 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 àquilo que acontece quando porventura usa valores mais altos, ou valores mais baixos, ou até valores negativos. Repare, a títutlo de exemplo, no que acontece quando muda o parâmetro ‘rate’ para o sample ‘:ambi_choir’ ligeiramente (por exemplo ‘0.29’. Repare também no que acontece quando escolhe um valor realmente baixo. Acelere por exemplo o sample de tal forma, para que o computador não seja de todo capaz de gerir o output, e isso cause eventualmente um crash. ou se calhar um pouco menos, e repare na forma como isso consegue modular o espectro e o timbre do som. se isso acontecer, escolha um valor de ‘sleep’ ligeiramente mais alto e carregue em ‘run’ novamente

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:

Experimenta mudar os valores do rate: azul para ouvir o som a mudar. Experimenta mudar o valor de sleep e nota que os loops tocam a velocidades diferentes. Experimenta remover o comentário da linha sample (remover o #) e desfruta do som da guitarra tocado ao contrário. Experimenta mudar um dos valores de mix: para números entre 0 (não entra na música) e 1 (entra na música com efeito completo).

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…