Koding på direkten

En av de mest spennende aspektene ved Sonic Pi er at det lar deg skrive og endre koden i sanntid. Lag musikk, akkurat som du gjør med gitar. Med litt øvelse kan du faktisk ta med Sonic Pi på scenen og holde konsert med det.

Frigjør tankene

Før vi kommer inn på de praktiske detaljene om hvordan Sonic Pi fungerer i fortsettelsen av denne opplæringen, vil jeg deg en erfaring av hva det er å kode i sanntid. Bli ikke bekymret hvis du ikke forstår mye (eller noe) av dette. Bare bli sittende og nyt…

Ei levende løkke

La oss komme i gang. Kopier følgende kode inn i et tomt tekstfelt ovenfor:

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

Nå, trykk på “Kjør”-knappen og du vil høre en fin, rask basstromme som hamrer løs. Hvis du når som helst vil stoppe lyden trykk bare på “Stopp” knappen. Men ikke trykk akkurat nå… Følg disse trinnene videre:

Forsikre deg om at basstrommelyden fremdeles går Endre ‘hvilemodus’-verdien fra ‘0,5’ til noe høyere, som for eksempel ‘1’. Trykk på Run-knappen igjen Legg merke til hvordan trommetakten er endret. Til slutt, husk dette øyeblikket, dette er første gang du har kodet i sanntid med Sonic Pi og det er usannsynlig at det den siste…

OK, det var enkelt nok. La oss legge inn noe mer. Over ‘prøven: bd_haus’ legg til linjen ‘eksempel: ambi_choir, rate: 0,3’. Koden skal se slik ut:

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

Nå, lek. Endre verdiene - hva skjer når du bruker høye, små eller negative verdier? Se hva som skjer når du endrer ‘rate:’-verdi for ‘: ambi_choir’-lydklippet bare litt (si til 0.29). Hva skjer hvis du velger en svært liten “sove”-verdi? Se om du kan få det til å gå så hurtig at datamaskinen din stopper med en feilmelding fordi den ikke kan holde følge med tempoet (hvis det skjer, bare velg en større “sove”-tid og trykk “Kjør” igjen).

Prøv å kommentere et av sampel-linjene ved å legge til en # i begynnelsen:

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

Legg merke til hvordan den forteller at maskinen skal overse det, så vi ikke hører den. Dette kalles en kommentar. Vi kan bruke kommentarer til å kommentere ut fra- og legge ting til - i miksen i Sonic Pi.

Til slutt, la meg gi dere noe morsomt å leke med. Ta koden nedenfor, kopier den til et ledig hurtiglager. Så, prøv ikke å forstå for meget, annet enn å se at det er to sløyfer - så to ting går rundt samtidig. Nå, gjør det du gjør best - eksperimenter og lek. Her er noen forslag:

Prøv å endre den blå ‘ rate:’-verdien for å høre at lydkarakteren til lydklippet endres. Prøv å endre sleep-tiden og høre at begge maskene kan spinne rundt med forskjellige hastigheter. Prøv å avkommentere sampel-linjen (fjern #) og nyt lyden av gitaren spilt baklengs. Prøv å endre noen av de blå ‘mix:’-verdiene til tall mellom ‘0’ (borte fra miksen) og ‘1’ (fullt ut i miksen).

Husk å trykke Run og du vil høre endringen neste gang sløyfen går rundt. Hvis du havner i en knipe, ikke vær bekymret - trykk ‘Stop’, slett koden i hurtiglageret og lim inn en ny kopi og du er klar å jamme igjen. Å gjøre feil er opphav til svært rask læring…

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

Nå, fortsett å spille og eksperimentere og still din nysgjerrighet ved å finne ut hvordan alt sammen faktisk fungerer. Du begynne å lure på hva annet du kan gjøre med dette. Du er nå klar til å ta fatt på resten av opplæringen.

Så venter hva du på…