Published using Google Docs
Sonic Pi - Handleiding
Updated automatically every 5 minutes

(Live) muziek programmeren met Sonic Pi

HANDLEIDING

(Live) muziek programmeren met Sonic Pi

human-964783_960_720.jpg

Gepubliceerd onder Creative Commons CC BY-SA-licentie.

Dit document bevat vertalingen en bewerkingen van bronnen van de Raspberry Pi Foundation, Mehackit Creative Programming en Sonic Pi.

88x31.png

Inhoud

Klik op de hoofdstuktitel om direct naar het hoofdstuk van je keuze te gaan.

Inhoud

1        Je eerste muziekstuk

2        Instrumenten

3        Herhalen

4        Live programmeren

5        Verder op je eigen manier

6        Vier, acht, zestien...

7        Randomisation

8        Overlap

9        Akkoorden

10        Attack, decay, sustain en release

11        Volume en stereo-effecten

12        Maatwerk met ‘beat stretching’

13        Live programmeren (2)

14        Geluiden vervormen met effecten

15        Randomisation (2)

16        Slim en netjes programmeren

17        Eigen samples gebruiken

18        Hulpprogramma’s

Over deze handleiding

Deze handleiding wordt regelmatig up to date gehouden. De laatste versie vind je altijd onder http://tinyurl.com/sonicpihandleiding.

Kom je een foutje tegen, heb je een suggestie: stuur een e-mail naar e.mijland@sintlucas.nl.


(Live) muziek programmeren met Sonic Pi

Sonic Pi is een gratis te downloaden programma waarmee je muziek kunt maken door programmeertaal te gebruiken. Beginnen met Sonic Pi is niet moeilijk: je maakt al heel snel je eerste muziekstuk. Daarna kun je nog heel veel leren en ontdekken. Met deze handleiding leer je snel:

De gekleurde tekst in dit document is programmeercode die je kunt kopiëren en plakken in het programmeerveld van Sonic Pi.

Als je Sonic Pi open hebt staan, zie je vier velden:

Bovenaan zie je nog een aantal knoppen. De belangrijkste staan links.

Buffers

Onderaan het programmeerveld zie je tien ‘tabbladen’ staan, de buffers 0 tot en met 9. Gebruik ze als werkblad of kladblokjes om in te experimenteren.

Sonic Pi?

‘Sonic’ staat voor ‘geluid’, ‘pi’ verwijst naar de Raspberry Pi, een klein computertje dat speciaal gemaakt is voor het leren programmeren. Sonic Pi is speciaal voor dit computertje gemaakt, maar je kunt het programma ondertussen ook installeren op je Windows- of Mac-computer.


1        Je eerste muziekstuk

Type in het programmeerveld:

 

play 60

Druk op Run.

Je hoort nu een toon. 60 is de hoogte van de toon. Verander het getal maar eens en luister wat er gebeurt. De waarde 60 geeft een C. Je kunt met een + of een - de toonhoogte veranderen, bijvoorbeeld:

play 72 +4

Een toon is nog geen muziekstuk. Je eerste muziekstuk maak je door een rijtje play-opdrachten te geven met verschillende tonen. Je zet ze onder elkaar. Tussen elke play-opdracht plaats je een sleep.

Sleep betekent wachten. De 1 staat voor het aantal tellen. Zonder sleep tussen de tonen speelt het programma ze allemaal tegelijk.

Sonic Pi staat standaard ingesteld op 60 ‘beats per minute’.

1 betekent dan 1 seconde. Probeer deze code eens:

play 72

sleep 1

play 75

sleep 1

play 79

Zet er nu deze code boven: use_bpm 120. Er zitten nu 120 beats in een minuut. Je zult horen dat de pauzes nu nog maar een halve seconde duren.

Voor de muzikanten: in plaats van cijfers kun je ook met letters voor muzieknoten werken. Plaats altijd een dubbele punt voor de letter.

:G        

:Fs        s = sharp = kruis

:Ab        b = flat = mol

:F3        3 = is 3 octaven hoger

Tip: gebruik http://virtualpiano.net/ om een melodietje te bedenken of te ontdekken welke noten je nodig hebt.

        

DOEN

Programmeer de eerste 8 noten van ‘Vader Jacob’.

2        Instrumenten

Je eerste muziekstuk klinkt wat saai. Je hoorde het standaard instrument. Het programma kent meer instrumenten in twee soorten.

Synths zijn geprogrammeerde klanken. Een synth kies je door eerst een code te plaatsen en het programma dan te laten weten welke toon gespeeld moet worden.

use_synth :tb303

play :Fs3

De gekozen synth blijft aan staan, totdat je de code voor een andere synth plaatst.

Samples zijn een opgenomen klanken. Je hoeft alleen maar de volgende code te gebruiken om ze af te spelen:

sample :ambi_drone

Je kunt een sample hoger laten klinken. Je verhoogt dan de afspeelsnelheid, ofwel rate. Dat betekent wel dat het geluid korter speelt.

sample :ambi_drone, rate: 2

Wil je hem lager laten klinken, dan verlaag je de afspeelsnelheid. Het geluid duurt dan langer.

sample :ambi_drone, rate: 0.5

Je kunt een sample ook achterstevoren afspelen. Gebruik dan een negatieve waarde voor de rate.

sample :ambi_drone, rate: -0.5

Let op: in het Nederlands gebruiken we komma’s om bijvoorbeeld een half te schrijven in cijfers. In het Engels (en in programmeertaal) is dat altijd een punt: 0.5 is een half.

        

DOEN

Ontdek meer instrumenten: zoek vijf synths en vijf samples in de Sonic Pi-handleiding, linksonder in het scherm. Zet ze onder elkaar met ertussenin steeds ‘sleep 1’.

3        Herhalen

In bijna alle muziek komt herhaling voor. Denk maar aan het refrein van een lied dat een paar keer terugkomt of aan een ritme, waarin de basdrum steeds om de tel gespeeld wordt.

Sonic Pi kent twee manieren om herhalingen te programmeren. Bij de eerste geef je aan hoe vaak een stukje herhaald moet worden. Voorbeeld:

2.times do
 play 60
 sleep 0.5
 play 62
 sleep 0.5
end

De muziek in het voorbeeld stopt na 2 keer. De eerste regel van je code eindigt met ‘do’ (betekent: vanaf hier); in de laatste regel staat ‘end’ (betekent: tot hier). ‘Do’ en ‘end’ gebruik je in Sonic Pi om een soort ‘nestje’ te maken. Dit heet een block. Zo’n block gebruik je ook om een stuk oneindig te laten herhalen met de ‘loop’-opdracht.

loop do

  play 60
 sleep 0.5
 play 62
 sleep 0.5

end

Je ziet dat de regels 2 t/m 5 inspringen. Dit is om zichtbaar te maken dat deze regels bij elkaar horen. Sonic Pi regelt dit inspringen automatisch.

        

DOEN

Maak met onderstaande samples van drumstelonderdelen een eenvoudig ritme en zet dit in een loop zodat het ritme steeds doorgaat.

Basdrum

sample :drum_heavy_kick

Snaartrom

sample :drum_snare_hard

Gesloten hi-hat

sample :drum_cymbal_closed

4        Live programmeren

Elk muzieknummer kent naast herhalingen variaties. Een voorbeeld is een melodie die halverwege het nummer door een ander instrument gespeeld wordt.

Sonic Pi maakt het mogelijk je programma te veranderen tijdens het spelen. Dat doe je met live loops. Een live loop is een blokje code dat start met ‘live loop’, een zelfgekozen naam met een dubbele punt ervoor en de opdracht ‘do’. Ook een live loop eindigt met ‘end’.

Als je onderstaande live loop speelt, kun je iets veranderen of toevoegen in de code. Zodra je op run drukt zal het aangepaste programma afgespeeld worden. Het ritme wordt niet onderbroken.

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

Om live een mooi muziekstuk te kunnen programmeren, moet je waarschijnlijk nog veel oefenen. Je moet snel zijn en weten wat je doet: je moet van tevoren kunnen bedenken wat er gaat gebeuren als je een code verandert. Twee tips voor live programmeren:

DOEN

Kopieer de gekleurde code hierboven en plak hem in het programmeerveld. Verander telkens iets in de code (bijvoorbeeld een rate) en druk dan op Run om te horen wat er verandert.


5        Verder op je eigen manier

Je hebt nu kennis gemaakt met de belangrijkste eigenschappen van Sonic Pi. Het programma heeft nog veel meer mogelijkheden. Die kun je op verschillende manieren ontdekken. Kies zelf hoe je verder wilt!

Handleiding

Je kunt verder gaan met hoofdstuk 6 van deze handleiding. Zo leer je stap voor stap meer codes en mogelijkheden kennen. Gebruik de zoekfunctie van je browser om te zoeken op trefwoord in deze handleiding.

Deze handleiding is nog niet af. Er komen hoofdstukken bij. Als je via internet de link naar de handleiding gebruikt, zie je altijd de laatste versie!

Tutorials

Op YouTube vind je veel uitlegfilmpjes (tutorials) over Sonic Pi. Meestal zie je in beeld het scherm van het programma en de codes die worden ingevoerd. De uitleg zelf is meestal in het Engels, maar er is ook een heel mooie reeks in het Nederlands op het kanaal Edutones.

Leren van voorbeelden

In Sonic Pi vind je veel voorbeelden (Examples) van complete muziekstukken. Ook op internet staan handleidingen en cursussen met voorbeelden. Je kunt leren van wat anderen hebben geprogrammeerd, je kunt stukjes code kopiëren, plakken, veranderen.

Leren van proberen

Je leert veel van doen. Verander codes, probeer nieuwe codes uit. Luister steeds weer naar je stukken: wat kan er mooier, beter, grappiger, slimmer. Nog sneller leren: probeer samen dingen uit!

Google

Vragen? Google ze, liefst in het Engels. Je krijgt bijna altijd antwoord.


6        Vier, acht, zestien...

Je hebt vast wel eens gehoord hoe kerkklokken luiden. Een grote, zware klok slaat bijvoorbeeld een keer per 1,7 seconden, een kleine, lichte klok een keer per 1,3 seconden. Ze beginnen misschien gelijk, maar daarna lopen ze al niet meer synchroon.

Als je verschillende loops hebt geprogrammeerd, wil je waarschijnlijk dat ze synchroon lopen. Je kunt daarvoor zorgen door de totale looptijd gelijk te maken.

In muziek wordt veel gewerkt met eenheden van 4. Bij veel liedjes kun je meetellen: 1, 2, 3, 4. Werk daarom bij voorkeur in eenheden van vier. Controleer door alle getallen achter de ‘sleeps’ bij elkaar op te tellen. Je komt dan uit op 4, 8, 16, 32 enzovoort.

DOEN

Zoek bij de Examples linksonder in je scherm naar het stuk ‘Reich Phase’. Dit stuk is vernoemd naar Steve Reich, een componist die zijn ‘loops’ express niet synchroon liet lopen. In het stuk zie je dan ook twee verschillende waarden achter ‘sleep’ staan.

Kopieer de code en plak hem in het programmeerveld. Beluister het stuk nadat je het verschil tussen de waarden achter ‘sleep’ groter én daarna kleiner hebt gemaakt.


7        Randomisation

Op een notenbalk kun je het niet aangeven, in Sonic Pi wel: een willekeurige noot spelen. In programmeertaal heet dat randomisation. De belangrijkste codes die je hiervoor nodig hebt zijn ‘rand’ en ‘choose’.

De volgende code geeft een willekeurige noot tussen waarde 60 en 80. De ‘i’ zorgt ervoor dat het resultaat een heel getal is. De ‘i’ staat voor ‘integer’.

play rrand_i(60, 80)

Je kunt ook de functie ‘choose’ gebruiken, als je wilt dat het programma een willekeurige noot kiest uit 2 of meer gegeven waarden (voorbeeld 1: 60, 65 of 72) of uit een akkoord (voorbeeld 2: het C-majeur akkoord).

play choose([60, 65, 72])

play (scale :c, :major).choose

Je kunt ook andere waarden willekeurig laten kiezen door het programma, bijvoorbeeld een pauze:

sleep [0.25, 0.25, 0.5, 1].choose

Of de sterkte waarmee een toon uitsterft (release):

play 50, release: rrand(0.1, 1)

Een mens drukt nooit met 100% precies dezelfde kracht op een pianotoets. Met de code hierboven geef je de code een menselijk karakter. Alsof de computer de pianotoets de ene keer wat sneller loslaat, de ander keer wat langzamer.

        

DOEN

Breng twee vormen van randomisation aan in je drumpartij uit hoofdstuk 3, zodat het wat meer als een menselijke drummer klinkt, in plaats van als een strakke ritmebox.


8        Overlap

Opmerking: dit hoofdstuk geldt niet voor live programmeren!

Stel, je begint je code met een loop, bijvoorbeeld een drumbeat. Zodra het programma bij ‘end’ aankomt, gaat het terug naar het begin. Dat is dan ook de bedoeling van een loop.

Maar je wilt eigenlijk dat het programma verder gaat met een volgend stukje code, terwijl je drumbeat verder gaat. Hiervoor gebruik je de code ‘in thread’. Ook nu gebruik je weer ‘do’ aan het begin en ‘end’ op het einde. Dat ziet er bijvoorbeeld zo uit:

in_thread do

  loop do

    sample :sn_zome

    sleep 1

  end

end

sleep 4

play 60

De drumbeat begint. Na 4 tellen (‘sleep 4’), speelt de toon met de waarde 60.

        

DOEN

Maak twee verschillende loops. Verpak ze in de ‘in_thread’ en ‘end’-codes om ze tegelijkertijd te laten klinken.


9        Akkoorden

Als je een akkoord speelt op de piano of gitaar, combineer je drie of meer toonhoogtes die samen mooi klinken.

Je kunt in Sonic Pi akkoorden laten horen. In hoofdstuk 1 heb je geleerd dat je in plaats van waarden ook de letters kunt gebruiken. Dat geldt ook voor akkoorden.

play chord(:C3, :major)

In het logveld rechtsboven in je scherm zie je tijdens het afspelen, uit welke waarden het akkoord is opgebouwd: 48, 52 en 55. Als je die waarden hebt gevonden, kun je hetzelfde akkoord ook zo laten horen:

play_chord [48, 52, 55]

        

DOEN

Een eenvoudig akkoordenschema is: G - C - D - G. Je hebt hiervoor de volgende drieklanken nodig:

  • G-akkoord: G, B en D
  • C-akkoord: G, C en E
  • D-akkoord: A, D en Fis

Maak het schema G - C - D - G voor de synth piano met telkens een ‘sleep 1’ tussen de akkoorden.

De waarden die je nodig hebt, zijn:

C

D

E

F

G

A

B

60

62

64

65

67

69

71

De Fis zit tussen de F en de G. Je gebruikt hiervoor dus de waarde 66.

Wil je meer weten over akkoorden, lees dan deze Wikipedia-pagina.


10        Attack, decay, sustain en release

De zon is niet ‘aan’ of ‘uit’. Hij komt ‘s morgens langzaam op en gaat ‘s avonds langzaam onder. Geluiden komen ook op en sterven weer uit.

Je kunt dit in Sonic Pi beïnvloeden. Het programma begrijpt hiervoor vier instructies.

Je kunt de instructies alleen in de bovenstaande volgorde gebruiken. Je mag wel instructies weglaten, Sonic Pi kiest dan een standaard waarde.

        

Luister eens naar het verschil tussen:

play 60

en

play 60, attack: 0.1, decay: 0.2, sustain: 1, release: 0.5

Je gebruikt attack, decay, sustain en release om een synth-toon langer of korter te maken. Het werkt ook voor samples, maar die kun je alleen korter maken (tenzij je de rate verandert; zie hoofdstuk 2).

        

DOEN

Kies een synth. Maak een melodie van vier noten, onderbroken door een sleep 1. Geef elke noot een eigen attack, decay, sustain en release.

11        Volume en stereo-effecten

Synths en samples hebben standaardwaarden voor het volume. Hoe luid dat is hoor je door ze te programmeren zonder toevoegingen. Je kunt het volume beïnvloeden door de code ‘amp’ te gebruiken, met een waarde tussen 0 en 1. Het is niet mogelijk een getal hoger dan 1 te kiezen voor extra volume. Luister eens naar onderstaand melodietje:

play 50, amp: 0.1

sleep 0.25

play 55, amp: 0.2

sleep 0.25

play 57, amp: 0.4

sleep 0.25

play 62, amp: 1

Sonic Pi werkt in stereo: je hebt een linkerkanaal en een rechterkanaal. Standaard stuurt het programma je muziek even luid naar links en naar rechts. Met de code ‘pan’, kun je dat beïnvloeden. Je gebruikt waarden tussen -1 (geluid helemaal naar links) en 1 (geluid helemaal naar rechts).

play 74, pan: -1

        

DOEN

Test of jouw computer stereo-geluid heeft met deze code, maar verander de code eerst, zodat de geluiden op de helft van het oorspronkelijke volume klinken:

loop do

  play 74, pan: -1

  sleep 0.50

  play 70, pan: 1

  sleep 0.50

end


12        Maatwerk met ‘beat stretching’

In hoofdstuk 2 heb je gelezen dat een sample een bepaalde lengte heeft en dat je die kunt beïnvloeden met de functie ‘rate’, ofwel: versnellen en vertragen.

Maak je een sample van 2,03 seconden twee keer zo lang dan krijg je een sample die lager klinkt en 4,06 seconden duurt. Voor een strakke beat kan het mooier zijn als je de sample precies op 4 seconden krijgt. De juiste waarde voor de functie ‘rate’ is dan lastig te berekenen.

Gelukkig is er de functie ‘beat_stretch’. In het voorbeeld zie je hoe deze code werkt. Plak hem in het programmeerveld, druk op Run. Haal dan de code ‘beat_stretch: 4’ weg en druk weer op Run.

use_bpm 145

live_loop :drumloop do

  sample :loop_amen, beat_stretch: 4

  sleep 4

end

        

DOEN

Maak zelf een strakke beat op basis van deze sample:

:loop_breakbeat

door te spelen met de bpm (beats per minute), beat_stretch en sleep.


13        Live programmeren (2)

In hoofdstuk 4 heb je geleerd dat je tijdens het afspelen je loops kunt veranderen. Zodra je op Run drukt, wordt het aangepaste programma gespeeld, zonder de huidige loop te onderbreken. Je blijft dus in het ritme. In dit hoofdstuk gaan we combineren wat we tot nu toe hebben gedaan.

Je krijgt een begin met een drum-loop en een stukje begeleiding van akkoorden met piano.

live_loop :drums do

  with_fx :echo do

    with_fx :flanger do

      sample :loop_breakbeat, beat_stretch: 4

      sleep 4

    end

  end

end

live_loop :begeleiding do

  use_synth :piano

  play [(chord :C, :major), (chord :G, :major), (chord :A, :minor), (chord :E, :minor)].ring.tick, release: 2

  sleep 1

end

In de begeleiding zie je een nieuwe code: ring.tick. Ring geeft aan dat de serie akkoorden steeds herhaald wordt, waarbij het ritme (tick) vastgehouden wordt.

        

DOEN

Voeg zelf twee live loops toe:

  • een melodie
  • een extra sample met een geluidseffect


14        Geluiden vervormen met effecten

Als je een elektrisch versterkt instrument bespeelt, kun je tussen het instrument en de versterker een effectapparaat plaatsen. Dit apparaat vervormt het geluid. Met een distortion tussen je gitaar en de versterker krijg je bijvoorbeeld een ‘scheurend’ geluid.

In Sonic Pi kun je allerlei effecten (‘Fx’) gebruiken om de standaard synths en samples te vervormen. Een paar voorbeelden:

Je voegt een effect toe met de code ‘with_fx’, gevolgd door het soort effect met een dubbele punt ervoor. De regel eindigt met ‘do’. Op de plek waar het effect uitgezet moet worden, plaats je een ‘end’.

Probeer onderstaande code. Haal de # weg om het effect aan te zetten.

use_synth :tb303

#with_fx :ixi_techno do

  play 60

  sleep 1

#end

DOEN

Effecten zijn erg geschikt voor live muziek programmeren. Zet in een live_loop een aantal effecten klaar voor je ritme, begeleiding of melodie. Zet bij alle effecten een #. Wissel tijdens het spelen van effect. De perfecte manier om nieuwe geluiden te ontdekken!


15        Randomisation (2)

In hoofdstuk 6 heb je kennis gemaakt met het begrip ‘randomisation’. We hadden je nog niet het hele verhaal verteld.

Elke programmeertaal kent een ‘als dit, dan dat’-code.

Met de code if one_in(2) laat je het programma willekeurig kop (1) of munt (2) kiezen. Als het kop is, doet het programma iets anders dan als het munt is. Probeer maar:

loop do

  if one_in(2)

    sample :ambi_glass_rub

    sleep 1

  else

    sample :ambi_glass_hum

    sleep 1

  end

end

Een andere vorm van randomisation is om het ritme wat minder computer-strak te maken. Een mens zal altijd wat ‘losser’ spelen: de ene keer een fractie voor, de andere keer een fractie na de tel. gebruik kleine getallen!

with_swing 0.02 do

    sample :drum_cymbal_closed

end

Plaats je ‘sleep’ na ‘end’ en niet tussen ‘do’ en ‘end’.


16        Slim en netjes programmeren

Een net programma bevat zo weinig mogelijk overbodige code en is logisch en consequent opgebouwd. Dat is vooral handig als je een keer iets wil aanpassen. In dit hoofdstuk een paar handige weetjes.

Functies

Een functie is een pakketje opdrachten met een eigen naam. Je maakt een functie aan met de code ‘define’, een zelfgekozen naam met een dubbele punt ervoor en ‘do’. De functie eindigt met ‘end’.

define :naam do

 play 60

 sleep 0.5

 play 58

 sleep 0.5

end

Plak je bovenstaande code in het programmeerveld en druk je op Run, dan gebeurt er niets. Je hebt de computer alleen de opdracht gegeven de functie in zijn geheugen op te slaan. Wil je de functie uitgevoerd hebben, dan schrijf je de code:

naam

Overal in je track kun je de functie nog een keer gebruiken, zonder opnieuw de hele code te hoeven schrijven.

Wil je de functie op een bepaalde plek met dubbele snelheid afspelen, noteer dan:

density 2 do

 naam

end

Het getal 2 kun je veranderen voor andere snelheden.

Variabelen

In elke programmeertaal kom je variabelen tegen. Een variabele is vergelijkbaar met een functie, alleen gaat het hier niet om een pakketje met code, maar om één waarde.

Als je in een stuk een bepaalde waarde vaak gebruikt, is het veel werk die overal aan te moeten passen. Zeker als je live aan het programmeren bent. Je kunt dit oplossen.

Stel, je wilt op veel plekken in je programma een drum_heavy_kick plaatsen, maar deze ook snel overal kunnen vervangen door een drum_bass_soft.

Schrijf dan in je code een zogenaamde variabele met een zelfgekozen naam:

basdrum = :drum_heavy_kick

Op de plekken waar deze moet klinken, schrijf je:

sample basdrum

Met zo’n variabele kun je gewoon rekenen. Als de :drum_heavy_kick op een bepaalde plek de helft korter moet klinken, schrijf je:

sample basdrum/2

Arrays

Een array is een rij met waarden. Arrays zijn handig om sneller te kunnen programmeren in minder regels. De code hieronder bestaat uit zes regels:

play :E3

sleep 1

play :F3

sleep 2

play :E3

sleep 1

Het hele blok kun je op één regel kwijt, als je de code ‘play_pattern_timed’ gebruikt. Achter de code noteer je eerst de noten en dan de pauzes.

play_pattern_timed [:E3, :F3, :E3], [1, 2, 1]

Een ander voorbeeld: je wilt vier keer :drum_tom_mid_hard laten klinken, maar in verschillende volumes. De array staat tussen haakjes. Je zet hier ‘ring’ voor en .tick achter. Daarmee geef je de opdracht om de waarden 4, 3, 2, 1 achtereenvolgend te kiezen en daarna opnieuw, weer beginnend bij 4. Een soort ‘loop’ dus.

live_loop :basdrum do

  4.times do

    sample :drum_tom_mid_hard, amp: ring(4,2,3,1).tick

    sleep 1

  end

end

Hekjes

Noteer zeker in het begin boven een stukje code wat het doet, voorafgegaan door een hekje: #. Het programma doet hier niets mee, maar het helpt je de plek te vinden waar je wilt sleutelen aan de code.


Er is een sneltoets om een hele selectie van hekjes te voorzien (en weer weg te halen). Dat is: ctrl (Windows) of cmd (Apple) + /


17        Eigen samples gebruiken

In Sonic Pi zitten al heel wat synths en samples. Maar daar houdt het niet mee op. Je kunt elk geluidsbestand in het .wav-formaat dat je hebt opgeslagen op je eigen computer gebruiken als sample. Je kunt ook werken met bestanden in het AIFF- en het FLAC-bestandsformaat.

Samples zijn bijvoorbeeld een drumritme van een paar seconden dat je in een loop kunt zetten, maar ook iemand die iets zegt, een grappig geluid of een melodietje dat je zelf hebt gespeeld op je gitaar.

Zo vindt Sonic Pi je geluid:

sample "/Users/jegebruikersnaam/Desktop/naamvanhetgeluid.wav"

Op een Windows-computer plaats je voor /Users nog de letter van het schijfstation, meestal is dat C:

Hoe kom ik aan geluiden?

Voor het bewerken van .wav-bestanden (o.a. bijsnijden) installeer je bijvoorbeeld Audacity (zie hoofdstuk Hulpprogramma’s).

Tot slot: als je een muziekstuk met een eigen sample op een andere PC wil gebruiken of het stuk delen met iemand anders, moet je de code én de sample meesturen. De code (hierboven in roze) moet dan nog aangepast worden, zodat Sonic Pi het bestand weer kan vinden.


18        Hulpprogramma’s

Audacity

Audacity is een gratis audiobewerkingsprogramma. Gebruik het om eigen samples te bewerken of de tracks na te bewerken die je in Sonic Pi hebt gemaakt. Klik hier voor meer informatie en downloaden.

Textevo

Sonic Pi kent geen zoek-en-vervang-functie. Wil je toch even snel wat zoeken en vervangen, gebruik dan het online programma Textevo. Kwestie van even tussen Sonic Pi en Textevo knippen en plakken.

HTML5 Drum Machine

Stel je eigen ritme samen op een virtuele ritmebox, gebaseerd op de klassieker Roland 808. Het ritme dat je hebt gemaakt kun je exporteren als .WAV-bestand.

Soundcloud

Maak een gratis account in Soundcloud. Je kunt hier je audiobestanden uploaden, waarna ze gemakkelijk met anderen te delen zijn via sociale media. Erno heeft hier ook een account. En met deze link vind je werk van andere Sonic Pi-muzikanten.

Musicbox

Er zijn steeds meer muziektools online beschikbaar. Erno verzamelt dit soort tools op Musicbox. Hier vind je alleen gratis, zonder account en met je browser te gebruiken tools. Je hoeft dus geen software te downloaden of installeren. Er is zelfs een webbased variant op Sonic Pi, waarmee je ook muziek kunt coderen.

Inhoud                                                      Tekst: Erno Mijland