Programare live

Una din chestiile cele mai tari legate de Sonic Pi este ca iti permite sa scrii si sa modifici codul in direct pentru a crea muzica, la fel ca atunci cand canti in direct la chitara. Asta inseamna ca dupa ce exersezi putin, poti lua Sonic Pi pe scena si sa interpretezi cu el.

Elibereaza-ti mintea

Inainte de a trece la detaliile despre cum functioneaza Sonic Pi, as vrea sa experimentezi ce inseamna sa programezi live. Nu te speria daca nu intelegi prea multe din asta. Tine-te bine in scaun si bucura-te de muzica…

O bucla live

Sa incepem. Copiaza codul de mai jos intr-un buffer gol:

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

Acum, apasa butonul ‘Executa’ si vei auzi un ritm de toba bass. Daca la un moment dat vrei sa opresti sunetul, apasa pe butonul ‘Stop’. Dar deocamdata nu-l apasa… Mai bine urmeaza pasii astia:

  1. Asigura-te ca sunetul de toba bass inca se aude
  2. Schimba valoarea ‘sleep’ din ‘0.5’ in ceva mai mare, cum ar fi ‘1’.
  3. Apasa din nou pe ‘Executa’
  4. Observi ca viteza s-a schimbat.
  5. Tine minte momentul asta, e prima data cand ai programat live, dar probabil nu va fi ultima…

OK, a fost destul de simplu. Sa mai adaugam ceva. Deasupra liniei ‘sample :bd_haus’ adauga linia sample :ambi_choir, rate: 0.3. Codul ar trebui sa arate asa acum:

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

Acum poti sa te joci. Schimba valorile pentru ritm - ce se intampla cand folosesti valori mai mari sau mai mici, sau valori negative? Vezi ce se intampla cand schimbi ‘rate:’ pentru ‘:ambi_choir’ doar putin (sa zicem la 0.29). Ce se intampla daca alegi o valoare foarte mica pentru ‘sleep’? Vezi daca poti sa il faci sa se miste atat de repede incat calculatorul sa dea o eroare fiindca nu poate tine pasul (in cazul asta alege o valoare mai mare prentru ‘sleep si apasa din nou ‘Run’).

Incearca sa transformi in comentariu una dintre liniile ‘sample’ adaugand un ‘#’ la inceput:

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

Observi ca i-am spus calculatorului sa ignore acea linie, deci nu o vom auzi. Acesta se numeste comentariu. In Sonic Pi putem folosi comentariile pentru a adauga sau inlatura sunete.

La final, iti voi lasa ceva distractiv cu care sa te joci. Ia codul de mai jos si copiaza-l intr-un buffer gol. Deocamdata nu incerca sa intelegi prea mult, remarca doar ca sunt doua bucle - deci doua lucruri care se reiau in acelasi timp. Acum fa ceea ce faci cel mai bine - experimenteaza si joaca-te cu codul. Uite cateva sugestii:

Tine minte sa apesi ‘Executa” si vei auzi schimbarea data viitoare cand se reia bucla. Daca ramai blocat, nu te panica - apasa ‘Opreste’, sterge codul din buffer, adu o noua copie si esti gata sa improvizezi din nou. Facand greseli vei invata cel mai rapid…

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

Continua sa te joci si sa experimentezi pana cand vei deveni curios cum merge de fapt chestia asta si te vei intreba ce altceva mai poti face cu ea. Acum esti pregatit sa citesti restul tutorialului.

Deci, ce mai astepti?