Ohjelmoinnissa lause on komento tai ohje, jonka ohjelmoija antaa tietokoneelle. Ohjelma rakentuu lauseista, joilla ohjelmoija antaa tietokoneelle käskyjä, joita tietokone sitten toteuttaa. Tietokoneohjelma koostuu siis joukosta lauseita.
Kommentteja käytetään selventämään ohjelmakoodia niin, että ihmiset ymmärtäisivät ohjelmaa paremmin. Yhden rivin kommentti aloitetaan # -merkillä. Useamman rivin kommentti aloitetaan ''' -merkinnällä ja lopetetaan ''' -merkinnällä aivan, kuten Python-kielessä. Sonic Pi:n pohjana on kuitenkin käytetty Ruby-ohjelmointikieltä.
Yhden rivin kommentti näyttää tältä Sonic Pi:ssa (kommentit ovat ihmistä varten, tietokone jättää ne huomioimatta):
Usean rivin kommentti näyttää tältä Sonic Pi:ssa:
Käskyllä play 60 saa Sonic Pi:n soittamaan yhden nuotin. Ohjelma ajetaan joko painamalla "run" tai näppäinkomennolla (Alt + R Windows- ja Linux -koneissa, Maceissä Cmd + R).
Äskeinen nuotti on pianon 4. oktaavin C-nuotti, josta käytetään myös nimeä yksiviivainen C tai keski-C. Saman nuotin voi soittaa Sonic Pi:lla myös käskyllä play :C4.
Alennettu nuotti kirjoitetaan siis b:llä esim. :Db4. Vastaavasti ylennetty nuotti kirjoitetaan s:llä esim. :Ds4.
Jos kirjoittaa usean käskyn allekkain, soittaa Sonic Pi ne yhtä aikaa. Jotta nuotit soitetaan peräkkäin, pitää käskyjen väliin laittaa komento sleep ja sen kesto sekunteina esim. sleep 0.5 tarkoittaa puolen sekunnin odotusta. Sleep-komennon pituudella pystyy vaikuttamaan nuotin keston pituuteen. Tässä Ukko Nooan alku ensin samaan aikaan ja sitten peräkkäin.
Jaakko kullan (Frère Jacques) melodia voidaan jakaa neljään fraasiin, joita sitten käytämme kaanonin luomiseen Sonic Pi:lla. Alla melodian neljä fraasia Sonic Pi:ssa C-duuriin transponoituna. Nuottien kestot on luotu sleep-komennoilla.
Melodiassa jokainen fraasi toistetaan kahteen kertaan. 1. ääni aloittaa soittamalla fraasin kaksi kertaa.
Seuraavaksi 1. ääni jatkaa 2. fraasiin ja samalla 2. ääni aloittaa 1. fraasista, jolloin saadaan kaksiääninen lopputulos tässä vaiheessa. Jotta 1. äänen melodiassa saadaan pidempi ääni aikaiseksi käytetään release-komentoa ja siihen lisättyä numeroa, joka kertoo äänen pituuden. Release saadaan fade out -efekti aikaiseksi eli ääni häipyy hiljalleen loppua kohti. Vastakkainen efekti saadaan aikaiseksi attack-komennolla. Tässä tapauksessa käytämme nuotin kanssa komentoa play :g4, release: 1. Olen esimerkeissä käyttänyt nuotin nimissä sekä isoja että pieniä kirjaimia, kirjaimen suuruus ei vaikuta lopputulokseen.
Ensimmäinen ääni siirtyy 3. fraasiin, toinen ääni siirtyy 2. fraasiin ja 3. ääni aloittaa 1. fraasista.
Ensimmäinen ääni siirtyy 4. eli viimeiseen fraasiin, toinen ääni 3. fraasiin, 3. ääni 2. fraasiin ja 4. ääni aloittaa ensimmäisestä fraasista. Alla 4. fraasi ilman kertausta.
Seuraavaksi 1. ääni lopettaa, koska pääsi melodian loppuun. Näin käy vuorotellen jokaisen äänen kohdalla, kunnes viimeiseksi jää 4. ääni soittamaan melodian loppuun.
Soiton nopeutta voi muuttaa komennolla use_bpm 60 (default on 60, joka kertoo siis pulssin minuutissa)
Käytettävän syntetisaattorin äänen saa muutettua komennolla: use_synth :beep (default on beep)
Äänen voimakkuutta voi muuttaa amp: 1 (1 on default-numero, sitä suurentamalla ääni kovenee ja pienentämällä vastaavasti hiljenee)
Käytä tähän asti oppimiasi keinoja ja luo musiikkia Sonic Pi:lla.