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…

En 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 vil stoppe lyden kan du når som helst trykke på “Stopp”-knappen. Men ikke trykk riktig ennå… Følg disse trinnene videre:

  1. Forsikre deg om at basstrommelyden fremdeles går
  2. Endre verdien til sleep fra 0.5 til noe høyere, som for eksempel 1.
  3. Trykk på Kjør-knappen igjen
  4. Legg merke til hvordan trommetakten endret seg.
  5. Til slutt, husk dette øyeblikket, dette er første gang du har kodet i sanntid med Sonic Pi og det blir sannsynligvis ikke den siste…

OK, det var enkelt nok. La oss legge inn noe mer. Over sample: bd_haus legg til linjen sample: 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å kan du leke deg litt. Endre verdiene, hva skjer når du bruker store, små eller negative verdier? Se hva som skjer hvis du endrer litt på rate:-verdien for : ambi_choir-lydklippet (til 0.29 for eksempel). Hva skjer hvis du velger en svært lav verdi for sleep? 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 verdi for sleep og trykk Kjør igjen).

Prøv å kommentere ut en av sample-linjene ved å legge til en # på starten av linjen:

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

Legg merke til at den får maskinen til å hoppe over denne linjen, så vi ikke hører den. Dette kalles en kommentar. I Sonic Pi kan vi bruke kommentarer til å ta ut ting fra miksen, og legge dem til igjen.

Til slutt, la meg gi deg noe morsomt å leke med. Ta koden nedenfor, kopier den til et ledig hurtiglager. Du behøver ikke å forstå så mye av den, annet enn å se at det er to sløyfer - så to ting kjører samtidig. Nå, gjør det du gjør best - eksperimentér og lek. Her er noen forslag:

Husk å trykke Kjør og du vil høre endringen neste gang sløyfen går rundt. Ikke bekymre deg for om du gjør feil og det slutter å fungere, bare trykk ‘Stopp’, slett koden og lim inn en ny kopi - du er klar å jamme igjen. Det er ved å gjøre feil du lærer raskest…

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

Fortsett gjerne å spille og eksperimentere til nysgjerrigheten på hvordan dette egentlig fungerer tar overhånd. Når du begynne å lure på hva annet du kan gjøre med dette, er du klar til å ta fatt på resten av opplæringen.

Så, venter hva du på…