# 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 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å 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 små `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 ut en av `sampel`-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 å overse det, så vi ikke hører det. Dette kalles en kommentar. I Sonic Pi kan vi bruke kommentarer til å legge til og ta ut ting fra miksen.

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 klippet 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å…