Muziek maken met

advertisement
Muziek maken met
LIVE CODING!
www.toekomstklas.nl
Wat is Sonic Pi?
Sonic Pi is een programma waarmee je ‘live’ muziek kunt maken door codes te
gebruiken. Sonic Pi maakt eigenlijk van een computer een instrument!
Hoe werkt Sonic Pi?
Sonic Pi werkt met ‘live loops’. Dat zijn geluiden die zichzelf herhalen. Dit ken je vast
wel! Denk maar eens aan een ‘beat’ van een dj. Dat is eigenlijk het geluid van een
bass drum die steeds wordt herhaald. Door ‘live loops’ samen te voegen, te
veranderen en naar jouw smaak aan te passen, maak je muziek!
Starten met Sonic Pi.
Sonic Pi is compleet in het Engels. Hierdoor kan het voorkomen dat je sommige
dingen niet direct begrijpt. Dat is niet erg, vraag het gewoon! Sonic Pi is opgedeeld
in 4 schermgedeeltes:
-
Het linkerbovenscherm is het ‘codescherm’. Hier vul je alle codes in. Hier kan
je gewoon in typen.
-
Het rechterbovenscherm is het ‘afspeelscherm’. Hierin kan je zien wat er wordt
afgespeeld op het moment.
-
Het scherm linksonder is een ‘voorbeeldscherm’. Hier staat de uitleg over het
programma. Ook kan je hier voorbeeldcodes vinden. Ben je goed in Engels?
Probeer het maar eens door te bladeren!
-
Het scherm rechtsonder is het ‘informatiescherm’. Hier komt alle informatie in
te staan. Bijvoorbeeld wanneer je een fout in de code hebt gemaakt.
www.toekomstklas.nl
En nu?!
We gaan beginnen met het programmeren van een ‘live loop’. Typ de volgende
code in en druk op ‘run’ (afspelen).
live_loop :beat do
sample :bd_haus
sleep 0.5
end
Nu ben je bijna een echte dj! Maar wat heb je nou precies ingevoerd? Laten we
daar eens naar kijken….
Wat zegt de code???
live_loop :beats do
Deze regel zorgt ervoor dat een loop wordt gestart.
Live_loop betekent ‘herhaal’, je zegt tegen de computer dat de code die je nu
gaat typen moet worden herhaald.
:beats is de naam van mijn loop. Je kunt hier van maken wat je wilt. Ik noem het
‘beats’ want deze loop is mijn beat.
Do betekent ‘doen’. Je vertelt de computer dat hij na deze regel iets moet gaan
doen.
sample :bd_haus
Sample betekent ‘patroon’. De computer begrijpt dat je een ‘patroon’ wilt afspelen.
Een geluid is een ‘patroon’.
: bd_haus is het geluid dat je gaat afspelen. Alle geluiden met bd zijn bijvoorbeeld
bassdrums.
sleep 0.5
Een erg belangrijke coderegel! Je wilt natuurlijk dat er een (korte) pauze zit tussen de
geluidjes. Hiervoor gebruik je de regel ‘sleep’. Hoe groter het getal achter sleep, hoe
langer de rust duurt. Zonder sleep werkt de loop niet!
end
Door dit woord vertel je de computer dat de loop is afgelopen. Als de computer alle
regels van de code heeft uitgevoerd en bij ‘end’ komt, start hij de loop weer
opnieuw.
www.toekomstklas.nl
Tijd voor wat geluiden!
Typ de volgende code eens in onder de code die er al staat (de beat):
live_loop :achtergrondkoor do
sample :ambi_choir, rate: 0.4
sleep 1
end
Druk nu op run.
Nu heb je ook een achtergrondkoor! Hoe gaaf!
Wat zegt de code???
live_loop :achtergrondkoor do
Ook hier vul je eerst live_loop in. Je start met een nieuwe loop.
Ik noem de loop ‘achtergrondkoor’. Om dat te doen toets ik :achtergrondkoor in. Ik
had hem ook ‘frietkar’ kunnen noemen, dat heeft alleen niets met het koortje te
maken .
Ik typ ‘do’ zodat de loop ook start.
sample :ambi_choir, rate: 0.4
Ik start weer een nieuw geluid (patroon). Hiervoor typ ik ‘sample’ aan het begin.
:ambi_choir is de naam van het geluid.
, rate: 0.4 is nieuw! Het getal na rate geeft de toonhoogte aan van het geluid aan.
Je kunt deze dus veranderen in 0.6, 0.33, 1.6 of zelfs -1. Probeer maar eens uit!
sleep 1
Zo lang duurt de pauze. Dit kan je dus ook zelf bepalen! Maar vergeet niet, elk
geluid heeft een pauze nodig!
End
Het einde van de loop.
www.toekomstklas.nl
Effecten toevoegen
Je kunt nu dus beats starten en geluiden toevoegen. Maar ‘standaard’ geluiden zijn
natuurlijk ook maar standaard…..
Om alle geluiden wat spannender te maken gebruiken we ‘effecten’. Wis alle vorige
codes en typ deze code maar eens in:
live_loop :beats do
sample :bd_tek
with_fx :echo, phase: 0.125, mix: 0.4 do
sample :drum_cymbal_soft, sustain: 0, release: 0.1
sleep 0.5
end
end
Druk nu op ‘run’. Hoor je de effecten?
Wat zegt de code???
live_loop :beats do
De computer start een nieuwe loop.
sample :bd_tek
Ik gebruik het geluid (patroon) ‘bd_tek’. PRO TIP: vind je het niet ‘vet’ genoeg? Typ
dan na deze code , amp: 1 (of een ander getal tussen 0 en 1). Nu is het pas een
zware bassdrum!
with_fx :echo, phase: 0.125, mix: 0.4 do
with_fx betekent ‘met effect’. Het effect dat ik gebruik heet ‘echo’ (daarom typ ik
:echo).
Phase: 0.125 zorgt voor een groter echo-effect. Je kunt die getallen ook veranderen
voor andere waardes.
Mix: 0.4 dit zorgt voor de ‘zwaarte’ van het effect. Hoeveel effect geef je aan het
geluid.
sample :drum_cymbal_soft, sustain: 0, release: 0.1
Hiermee voeg ik een ander geluid (patroon) toe. Namelijk een zacht klinkend
bekken van een drum (drum_cymbal_soft).
Sustain: 0 regelt hoe lang het geluid op dezelfde geluidssterkte doorklinkt.
Release: 0.1 regelt hoe lang het duurt voordat het geluid afsterft.
sleep 0.5
end
Ik voeg een korte pauze in. En laat de computer weten dat dit het eind is van de
loop.
www.toekomstklas.nl
Losse noten en melodietjes
Natuurlijk kan je ook losse noten of melodietjes inprogrammeren. Dat doe je met het
commando ‘play’ (speel). Maak het codeveld leeg en typ de volgende code in:
live_loop :melodie do
play 52
sleep 0.25
play 55
sleep 0.5
play 59
sleep 0.25
play 62
sleep 0.5
play 66
sleep 0.25
play 69
sleep 0.5
play 73
sleep 0.25
end
Druk op ‘run’! Wat een feest!
Wat zegt de code???
live_loop :melodie do
Ik begin de loop. Ik noem hem ‘melodie’.
play 52
Speel een noot met de toonhoogte ‘52’. Hoe hoger het cijfer, des te hoger de noot!
sleep 0.25
Een korte pauze voordat de andere noot wordt gespeeld.
En zo verder. Elke ‘play’ geeft een andere toon.
Je kunt nu voorafgaand aan de ‘play’ commando’s ook de code ‘use_synth’
gebruiken. Als je na ‘use_synth’ een spatie en daarna ‘:’ typt, kan je een synthesizer
geluid kiezen.
www.toekomstklas.nl
En nu?!
Zoals met al het programmeren en coderen.
Proberen, proberen, proberen………
En nog een keer proberen!
Wees trots op je werk. Geef niet snel op en vraag anderen om hulp wanneer je het
even niet meer weet!
Wel heb ik nog een aantal leuke ‘toevoegingen’. Probeer ze maar eens aan je code
vast te plakken. Wie weet gebeurt er wel iets heel leuks!
, amp: 1
, attack: 1
, viberato_rate: 6
, pan: -1
Hiermee regel je de geluidssterkte. Kies zelf een getal tussen 0-1.
Hiermee regel je de lengte van een geluid. 0.1 is kort, 1 is lang.
De trilling van het geluid kan je hiermee regelen.
Hiermee verander je het geluid van links (-1) naar rechts (1)
with_fx
with_fx
with_fx
with_fx
Voeg een echo toe aan een geluid
Een flanger is een soort ‘woosh’ effect
Verpletter het geluid!
Hiermee lijk je net alsof je in een grote ruimte staat!
:echo
:flanger
:krush
:reverb
En dan nog iets…
sample :loop_(en hier een naam)
Hiermee kan je drumloops en/of synthesizerloops inladen die door iemand anders
gemaakt zijn. Dat kan een goed begin zijn van een liedje!
Heel veel plezier!
www.toekomstklas.nl
Download