Live Coderen

Een van de meest opwindende aspecten van Sonic Pi is, dat het je in staat stelt, code te schrijven en de code, ook live te wijzigen om muziek te maken, net zoals je live gitaar zou spelen. Dit betekent dat je, na wat oefening, met Sonic Pi het podium op kan en een kan optreden geven.

Maak je hoofd leeg

Voor we in detail gaan over hoe Sonic Pi werkt, verderop in deze handleiding, wil ik je even de ervaring meegeven, hoe het voelt om live te coderen. Maak je geen zorgen als je hier niet veel (of niets) van begrijpt. Blijf gewoon even zitten en geniet …

Een loop “live” brengen

Om te beginnen, kopieer de volgende code in een lege buffer:

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

Klik nu op de Afspeel-knop en je zal een lekkere snelle basdrum horen. Je kan nu, als je dat wenst, het geluid stoppen door op de Stop-knop te klikken. Maar doe dat nog even niet… volg in plaats daarvan de volgende stappen:

  1. Zorg ervoor dat dit basdrum geluid nog steeds loopt
  2. Verander de waarde van sleep van 0.5 naar een ietwat hoger getal, zoals bv. 1.
  3. Klik opnieuw op de Afspeel-knop
  4. Merk op dat de snelheid van de drum is veranderd.
  5. En onthoud dit moment, dit is de eerste keer dat je een “Live Code” met Sonic Pi hebt gedaan en het is waarschijnlijk niet je laatste…

Ok, dat was eenvoudig. Laten we iets aan de mix toevoegen. Boven sample :bd_haus voeg je deze regel toe sample :ambi_choir, rate: 0.3. Jouw code moet er nu als volgt uitzien:

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

En nu, aanpassen maar. Verander de rate: (snelheid) waardes - wat gebeurt er, als je hoge waarden gebruikt, of kleine waarden of negatieve waarden? Kijk wat er gebeurt wanneer je de rate: waarde van het :ambi_choir sample maar een tikkeltje verandert (bv. 0.29). Wat gebeurt er als je een héél kleine sleep (rust) waarde kiest? Kijk nu of je het zo snel kan laten gaan dat je computer stopt en een foutmelding geeft omdat hij het niet meer kan verwerken (wanneer dit gebeurt, kun je gewoon een grotere sleep tijd instellen en op afspelen klikken).

Probeer eens één van de sample regels te laten beginnen met #:

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

Merk op hoe het de computer vertelt deze regel te negeren, zodat we deze niet horen. Dit heet een “comment” (commentaar-regel). In Sonic Pi kunnen we een commentaar-regel gebruiken om klanken uit de mix te verwijderen of weer toe te voegen.

Ik laat je nu even met het volgende spelen. Neem de onderstaande code, en kopieer deze in een lege buffer. Probeer er nu nog niet al te veel van te begrijpen, maar wel in te zien dat er twee loops zijn - dus twee klanken die op hetzelfde moment spelen. Het beste wat je nu kan doen is er gewoon lekker op los experimenteren. Hier zijn enkele suggesties:

Denk er aan, om op Afspelen te klikken om deze veranderingen te kunnen horen zodra de volgende loop begint. Maak je geen zorgen als het hierbij soms in de soep draait, klik dan op Stop, wis de code in de buffer en plak er een nieuwe kopie in, zo ben je weer klaar om opnieuw te gaan improviseren. Van je fouten kan je nu eenmaal het beste leren.

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

Blijf nu spelen en experimenteren tot je een beetje begint te begrijpen hoe het allemaal werkt en je begint af te vragen wat je hier allemaal nog meer mee kan doen. Dan ben je klaar om de rest van de handleiding te lezen.

Dus, waar wacht je nog op…