Live Coderen

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

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

We gaan van start, 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 afspeelknop en je zal een lekkere snelle basdrum horen. Je kan nu, als je dat wenst, het geluid stoppen door op de Stopknop te klikken. Maar doe dat nog even niet… volg in plaats daarvan de volgende stappen:

  1. Zorg ervoor dat deze basdrum klank 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 afspeelknop
  4. Merk op dat de snelheid van de drum hierbij veranderd is.
  5. En onthou dit moment, dit is de eerste keer dat je een Live Code met Sonic Pi hebt gedaan en het is waarschijnlijk niet je laatste keer…

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

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

Speel hiermee. Verander de rate: (snelheid) waardes - wat gebeurd er, als je hoge waarden gebruikt,of kleine waarden of negatieve waarden? Kijk wat er gebeurd wanneer je de rate: waarde van het :ambi_choir sample maar een tikkeltje veranderd (bv. 0.29). Wat gebeurd 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 gebeurd, kun je gewoon een grotere sleep tijd instellen en op afspelen klikken).

Probeer één van de sample lijnen van een commentaar te voorzien door er een # voor te zetten:

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

Merk op hoe het de computer opdraagt deze lijn te negeren, zodat we deze niet horen. Dit heet een comment (commentaarlijn). In Sonic Pi kunnen we een commentaarlijn gebruiken om klanken uit de mix te verwijderen of 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 het zelfde moment spelen. Het beste wat je kan doen nu is, experimenteren en er, gewoon op los, mee te gaan spelen. Hier zijn enkele suggesties:

Denk er ook aan, te klikken op ‘afspelen’ om deze veranderingen te kunnen horen, bij de volgende loop die vertrekt. 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 je bent weer gereed 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 de nieuwsgierigheid begint te voelen en je je begint af te vragen wat je hier nog allemaal mee kan doen. Dan ben je nu klaar om de rest van de handleiding te lezen.

Dus,waar wacht je nog op . . .