Live Coding (Programació en viu)

Un dels aspectes més emocionants de Sonic Pi és que et permet escriure i modificar codi en viu per fer música, de la mateixa manera que ho faries tocant una guitarra en un concert. Això significa que amb una mica de pràctica podràs fer música amb Sonic Pi a l’escenari.

Obri la teua ment

Abans d’entrar en detalls de com funciona Sonic Pi en la resta d’aquest tutorial, m’agradaria ensenyar-te què és programar en directe. No et preocupes si no ho entens massa (o gens). Simplement seu i gaudeix…

Un live loop (bucle en directe)

Comencem! Copia el codi següent en un buffer buit:

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

Ara, prem el botó Run (Executa) i escoltaràs un so greu de bombo amb ritme ràpid. Si en qualsevol moment desitges aturar el so, només cal prémer el botó Stop (Atura). Però no l’atures encara… Abans, segueix aquestos passos:

  1. Assegura’t que el so de bombo segueix sonant
  2. Canvia el valor sleep de 0.5 a una mica més alt, per exemple 1.
  3. Prem novament el botó Run
  4. Fixa’t com ha canviat la velocitat del bombo.
  5. Ja per acabar, recorda aquest moment. Aquesta és la primera vegada que has programat en temps real amb Sonic Pi i de ben segur que no serà l’última…

D’acord, això ha sigut bastant senzill. Afegim alguna cosa més a la mescla. Damunt de sample :bd_haus, afegeix la línia sample :ambi_choir, rate: 0.3`. El teu codi hauria de ser així:

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

Ara, juguem-hi. Canvia els valors. Què passa quan fas servir valors alts, baixos o negatius? Veges què passa quan canvies el valor de rate:del sample :ambi_choirlleugerament (diguem-ne a 0.29). Què passa si tries un valor per a sleeprealment xicotet? Prova a fer-lo anar tan ràpid que el teu ordinador es penge amb un error (si passa això, simplement tria un valor més gran per a sleep i prem Runnovament).

Intenteu comentar una de les línies del sampleafegint un # a l’inici:

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

Adona’t com li diu a l’ordinador que ho ignore, de manera que no ho escoltem. Açò s’anomena “comentar”. A Sonic Pi podem fer servir comentaris per treure o afegir coses a la mescla.

Finalment, et deixo una cosa divertida amb la que jugar. Pren el codi següent i copia’l a un buffer buit. De moment, no intentes comprendre molt més que el fet que hi ha dos bucles - de manera que hi ha dos coses que sonen al mateix temps. Ara, fes el que millor saps: experimenta i juga. Ací tens algunes suggerències:

Recorda que has de prémer Run per tal d’escoltar el canvi la propera vegada que es reproduïsca el bucle. Si acaba sent un embolic, no et preocupes - prem Stop, esborra el codi del buffer i enganxa una còpia nova de l’exemple per tornar a començar. Cometent errades és com aprendràs més ràpidament.

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

Ara, segueix tocant i experimentant fins que despertes la teua curiositat sobre com funciona tot açò i et preguntes què més pots fer. Ja estàs preparat per llegir la resta del tutorial.

A què esperes?