Sonic Pi voor de onderbouw

Programmeren met muziek 2

Programmeren met muziek 2

The Westminster Quarters

Intro

 

 

In deze video zie je een live optreden met Sonic Pi.

Sonic Pi is een applicatie om muziek te maken. In Sonic Pi is je computer het instrument en de speler je programma.

Maar voordat je met Sonic Pi kan optreden moet je eerst een aantal dingen leren.
 
Aan het einde van deze les ben je in staat je eigen versie van The Westminster Quarters in Sonic Pi te spelen.

Dat doe je door in Sonic Pi de noten en het  ritme van het liedje te veranderen of door een eigen melodie toe te voegen.

Volg de hoofdstukken links in het menu.
 

1. Noten

Muziek wordt gemaakt met noten
Je speelt noten in Sonic Pi op 2 manieren:

1 Met getallen

Je schrijft: play spatie 64

 

Sonic Pi begrijpt: speel noot 64

 

Ga nu naar Sonic Pi en schrijf ander getal tussen 0 en 127. Zodra je op 'run' klikt, zal Sonic Pi je noot spelen.

2 Met letters

Je schrijft: play spatie dubbele punt E

 

play E

Sonic Pi verstaat: speel noot E

 

In deze lessen zullen we letters gebruiken.

2. Kort en lang

Om een melodie te componeren moet je noten achter elkaar laten klinken.

Maar als je in Sonic Pi noten achter elkaar schrijft, klinken ze allemaal tegelijk.

Sonic Pi begrijpt: Speel tegelijkertijd de noten G, E, C.

Om noten achter elkaar te spelen moet Sonic Pi tussen noten wachten.
De wachttijd geef je aan met het woord 'sleep' (van het Engels 'sleep', uitgesproken als sliep ).

Je schrijft sleep spatie en dan een getal. Decimale getallen schrijf je met een punt!

 

Sonic Pi begrijpt: speel G, wacht één tel, speel E, wacht een halve tel, speel C

 


Met verschillende waarden voor sleep kun je langere en kortere noten maken, en zo ritmes opbouwen.

Een liedje in een 4/4 maat schrijf je dan met 4 noten met sleep 1, of met 8x noten met sleep 0.5, of 16x noten met sleep 0.25 en zo voort, of met een combinatie van noten die op 4 somt.

Als je muzieknotatie kan lezen, helpt dit overzicht:

 


Ga nu naar Sonic Pi en probeer dit stukje met verschillende waarden voor de laatste sleep.

Welke waarde voor 'sleep' zou je gebruiken in plaats van de vraagtekens? Schrijf het in Sonic Pi.

Laat je docent je code zien voordat je verder gaat.

 

3. Hoog en laag

In Sonic Pi kan je deze 7 letters gebruiken om noten te spelen: C, D, E, F, G, A, B

Je kan nog 5 noten extra gebruiken als je een btje toevoegt.
   Db, Eb, Gb, Ab, Bb

In de standaard muzieknotatie noemen we het ‘btje’ een mol

Op deze manier krijg je de 12 verschillende noten van een piano:

Op deze afbeelding zie je dat de noten 2 keer voorkomen. 2x C, 2x D, 2x E, enz.
De eerste klinkt lager dan de tweede.
Op een piano worden noten hoger naarmate je naar rechts beweegt en lager als je naar links gaat.
Met een nummer geef je aan welke noot je precies bedoelt. Je begint te tellen bij de noot C.

C4 zal hoger dan C3 klinken, en C5 nog hoger.

Probeer deze vier A's in Sonic Pi

 

4. Je versie van The Westminster Quarters

In deze opdracht schrijf je een eigen melodie voor een klok. Je gaat een versie maken van de beroemde Westminsters Quarters. Een melodie die door veel klokken in de wereld wordt gespeeld.


1. Klik op de link om de Sonic Pi versie van  'The Westminsters Quarters' te openen:

Hij wordt geopend in een nieuw venster.

Kopieer de code (control + a, control + c).


2. Ga naar Sonic Pi

  1. Open Sonic Pi en plak het liedje daarin (control  + v)
  2. Luister eerst naar de melodie.
  3. Begin je eigen versie van The Westminster Quarters

3. Bekijk eerst de code goed:

4. Zo maak je een eigen versie van The Westminster Quarters:

  • Noten:

    • gebruik deze noten: C5, D5, E5, G4

    • de eerste en de laatste noot van je quarters moet een C5 zijn

    • ga maat voor maat langs en herschrijf de noten

  • Je mag maten van de echte Westminster Quarters hergebruiken.
  • Je mag meer dan 5 maten schrijven, maar schrijf niet meer dan 8 maten.


4. Aftekenen

Laat je versie van The Westminster Quarters aan je docent horen om deze opdracht af te sluiten.

 


5. Bewaar je code in een bestand

  • Hier zie je hoe je je code als bestand kan bewaren.
  • Zo kan je het volgende keer weer gebruiken en kan je het bovendien aan iemand laten zien.
  • Lever dit bestand in via Classroom.

6. Neem je code op

  • Hier zie je hoe je je code kan opnemen.
  • Lever dit bestand in via Classroom.

Verdieping 1

In deze opdracht ga je een ritmische variatie van je Westminsters Quarters schrijven. Daarvoor ga je met de waarden van sleep spelen.

Denk erom: alle maten van de The Westminster Quarters duren 5 tellen. (de klokkenslagen tellen niet mee)
 
Als je de waarden van sleep bij elkaar telt krijg je 5:
sleep 1 + sleep 1+ sleep 1+ sleep 2 = 5
 
In deze opdracht ga je noten verdubbelen, of verviervoudigen of ... Alles kan, als je maar op 5 tellen komt.
Deze twee maten bijvoorbeeld kunnen onderling worden verwisseld:
 

 

Ze zijn even lang omdat ze beide op 5 tellen uitkomen.

 

1. Gebruik de versie van de Westminsters Quarters die je voor paragraaf 4 maakte

Je kan ook de originele versie van  'The Westminsters Quarters' gebruiken.

Hij wordt geopend in een nieuw venster.

Kopieer de code (control + a, control + c).


2. Ga naar Sonic Pi

  1. Open Sonic Pi en plak het liedje daarin (control  + v)
  2. Luister eerst naar de melodie.
  3. Begin je eigen versie van The Westminster Quarters

3. Zo maak je een ritme variatie van The Westminster Quarters:

  • gebruik in een paar maten het oorspronkelijke ritme:  sleep 1, sleep 1, sleep 1, sleep 2
  • gebruik af en toe een ander ritme, maar let op alle maten moeten 5 tel hebben
  • vervang een noot voor 2 noten die de helft van zijn duur hebben, of door 4 noten die een kwart van de tijd nemen of 8...
  • Schrijf minimaal 5 maten en maximaal 10.


4. Aftekenen

Laat je versie van The Westminster Quarters met ritme variaties aan je docent horen om deze opdracht af te sluiten.
Je variatie is geslaagd als:
  • alle maten net zo lang zijn
  • je ritme variaties hebt gebruikt maar je nog steeds de originele melodie kan herkennen
  • je het mooi vindt klinken

 


5. Bewaar je code in een bestand

  • Hier zie je hoe je je code als bestand kan bewaren.
  • Zo kan je het volgende keer weer gebruiken en kan je het bovendien aan iemand laten zien.
  • Lever dit bestand in via Classroom.

6. Neem je code op

  • Hier zie je hoe je je code kan opnemen.
  • Lever dit bestand in via Classroom.

Een griezelig kinderliedje

Intro


sonic pi logo

Aan het einde van de les ben je in staat van een bekend kinderliedje een griezelig liedje te maken.

Dat doe je door in Sonic Pi de klank en de snelheid van het liedje te veranderen en ook door effecten toe te voegen.
 
Volg de hoofdstukken links in het menu.
 

Weet je het nog?

Deze noten klinken tegelijk:

Deze noten klinken achter elkaar:

C4 klinkt lager dan C5 en C6:

 

1. Snel en langzaam

Als je sleep 1  schrijft, wacht Sonic Pi 1 tel.
Maar soms wil je iets sneller spelen of juist langzamer.

Probeer dit kinderliedje in Sonic Pi.

Waarschijnlijk heb je dit melodietje herkend: Op een grote paddestoel. Vind je dat Sonic Pi het liedje snel of langzaam speelt?

Je kan de snelheid van een liedje aanpassen met use_bpm, bpm staat voor beats per minutes, of het aantal tellen dat in een minuut past.

Als je dit getal kleiner maakt, wordt de muziek langzamer. Als je een groter getal kiest, wordt de muziek sneller gespeeld.

Je schrijft vóór het stukje dat je wil spelen: use_bpm spatie getal

 

Sonic Pi begrijpt dat er nu 100 tellen in een minuut passen.

 

Als je niets verandert zal Sonic Pi op een snelheid van 60 tellen per minuut spelen.

Probeer het stukje van Op een grote paddestoel in Sonic Pi weer met verschillende snelheden, bijvoorbeeld met 90, 120 of 200 beats per minuut.

2. Klank

Standaard klinkt Sonic Pi als een xylofoon.

Deze klank heet in Sonic Pi :beep

Maar je kan andere klanken kiezen. Bijvoorbeeld, een piano: use_synth :piano

Je schrijft: use_synth spatie dubbele punt piano

 

Sonic Pi begrijpt: vanaf nu moet ik als een piano klinken

Het leukste aan Sonic Pi zijn de gekke klanken waarmee je kan spelen.
Om een griezelige sfeer te creëren zou je bijvoorbeeld één van deze kunnen gebruiken:  

  • use_synth :blade
  • use_synth :chipnoise
  • use_synth :growl
  • use_synth :dark_ambience

Ga nu naar Sonic Pi en probeer Op een grote paddenstoel met één van deze klanken.

Er zijn veel meer waarden voor use_synth, je kan ze zelf in Sonic Pi opzoeken:

Welke klank zou bij een griezelig liedje passen?

3. Effecten

Je kan ook de kwaliteit van de klank veranderen door with_fx te gebruiken.

Je schrijft: spatie, dubbele punt, de naam van het effect en do
Daarna schrijf je alle noten die je wil spelen. Alles tussen do en end wordt ingesprongen.
Je sluit het af met end.

 

Sonic Pi begrijpt: gebruik effect 'bitcrusher' vanaf nu totdat je 'end' tegenkomt.

 


Probeer andere effecten die een griezelige sfeer kunnen geven, bijvoorbeeld:

  • echo
  • krush
  • reverb
  • slicer
  • vowel

Je kan ze zelf in Sonic Pi opzoeken:

En je kan meerdere effecten gebruiken:

Je schrijft per effect:
  • één with_fx
  • één do
  • één end

 

meerdere with_fx

Sonic Pi zal zelf de code inspringen.

 


Probeer deze puzzel op te lossen

Zet zelf de elementen van dit stukje code in de juiste volgorde. Om regels in te springen sleep je ze naar rechts. door de elementen naar rechts te slepen D en druk op Feedback om het resultaat te zien. Let op: je moet alles tussen do en end inspringen.

Laat je docent je opgelost puzzel zien en vraag om hulp als het niet lukt!

4. Je eigen griezelige kinderliedje

1. Kies een van deze kinderliedjes:

Klik op het liedje. Hij wordt geopend in een nieuwe tab.

Kopieer het liedje (control + a, control + c)


2. Ga naar Sonic Pi

  1. Open Sonic Pi en plak het liedje daarin (control  + v)
  2. Begin je eigen griezelige versie van het liedje

3. Zo maak je een griezelige versie van je liedje

  • Verander het  tempo (snelheid van het liedje) met use_bpm 
  • Verander de klank met use_synth
  • Verander de kwaliteit van de noten met with_fx. Probeer meerdere keren "with_fx" te gebruiken.

  • Verander de echte noten van het liedje, kijk voor ideeën hiervoor in de tekst van het liedje zelf.


Tip! Laat af en toe verschillende noten tegelijk klinken, zonder 'sleep' te gebruiken. Als de noten heel dicht bij elkaar zijn, krijg je een dissonantie dat klinkt ook griezelig. Bijvoorbeeld G en Gb samen of A, Ab en G samen.

 

disonantie


4. Aftekenen

Laat je griezelige liedje aan je docent horen om deze opdracht af te sluiten.

5. Bewaar je code in een bestand

  • Hier zie je hoe je je code als bestand kan bewaren. Zo kan je het volgende keer weer gebruiken en kan je het bovendien aan iemand laten zien en horen.

6. Neem je code op

  • Hier zie je hoe je je code kan opnemen.

Verdieping 2: een tweede stem toevoegen

Tot nu toe heb je slechts met één stem gewerkt.

Als extra opdracht voeg je nu een tweede stem toe aan het liedje Lang zal ze leven.

Je weet al dat:

  • alle noten vóór sleep tegelijk klinken
  • je nummers in plaats van letters  kan gebruiken

De code in deze twee afbeeldingen klinkt precies hetzelfde, noot D4 en F4 tegelijk.

Vaak voeg je een stem aan een melodie toe door 2 noten lager te zingen. Zoals in dit voorbeeld de D4.

Omdat noten ook nummers zijn, kan je dat laten berekenen:

Je schrijft :F4 min teken 3

 

Sonic Pi speelt F4, en tegelijk 65-3

 

In deze afbeelding zijn alle noten aangegeven met hun nummers.

Zo voeg je een nieuwe stem aan Lang zal ze leven:

1. Open het tekstbestand met het liedje:


2. Voeg een tweede stem toe door elke noot vóór de sleep te dupliceren en -3 te gebruiken.


3. Vind je dat het mooi klinkt?

  • Vind je dat het te vol klinkt? Maak dan niet elke noot dubbel maar slechts de lange noten.
  • Vind je dat het te licht klinkt? Voeg dan af en toe een derde noot met -6
  • Zijn er stukjes waar het niet mooi klinkt, probeer dan andere doubele noot met -4 bijvoorbeeld.

Tip! Gebruik sustain: om de noten langer te laten klinken.

 

Je schrijft de noot, comma sustain: en de waarde

 

 

Sonic Pi begrijpt dat de noot moet 1 seconde lang klinken, in dit geval net zo lang als de wachttijd van sleep.

4. Aftekenen

Laat je nieuwe versie van Lang zal ze leven aan je docent horen om deze opdracht af te sluiten.

5. Bewaar je code in een bestand

  • Hier zie je hoe je je code als bestand kan bewaren. Zo kan je het volgende keer weer gebruiken en kan je het bovendien aan iemand laten zien.

6. Neem je code op

  • Hier zie je hoe je je code kan opnemen. Wil je iemand feliciteren, stuur dan de opname van je eigen verjaardagsliedje!

Mamma Mia

Intro

 

Aan het einde van deze les:

  • kan je je eigen versie van Mamma Mia opbouwen in Sonic Pi
  • kan je in Sonic Pi herhaling van code voorkomen

Weet je het nog?

In de vorige lessen heb je de basis elementen van Sonic Pi geleerd:

Een ook hoe je effecten kan maken met with_fx:

1. Herhaling in Mamma Mia

In deze les gebruiken we de muziek van Mamma Mia. Laten we met het refrein beginnen. Na een klein intro van de piano, begint de zangeres:

De zangeres zingt eerst:

I've been cheated by you and I think you know when

Het lijkt dan alsof de instrumenten antwoord geven.

Daarna zingt ze verder met precies dezelfde melodie:

So I made up my mind, it must come to an end

Hieronder zie je hoe de twee regels precies dezelfde noten gebruiken:

dit geldt ook voor de tweede zin:

vergelijking intro 2

Ook het antwoord van de instrumenten is een herhaling.

Herhaling wordt continu in muziek gebruikt. Je herhaalt het couplet, het refrein en kleine stukjes melodie zoals in dit stukje van Mamma Mia.

Op bladmuziek geef je een herhaling aan met een maatstreep met een dubbele punt:

In Sonic Pi kan dat ook:

Je schrijft: 2 punt times do
Daarna schrijf je alle noten die je wil spelen. Alles tussen do en end wordt ingesprongen.
Je sluit het af met end

 

Sonic Pi begrijpt: speelt dit stukje 2 keer

.times kan je ook met andere getallen gebruiken. Wil je 20 keer dezelfde G5 laten spelen bijvoorbeeld, schrij je dan:

2. Check of je het hebt begrepen

3. Probeer het nu zelf

In deze opdracht gaan je de code besproeken in de eerste paragraaf korter maken.

Ga nu naar Sonic Pi om zelf het fragment van het begin te herschrijven:

  1. het originele fragment vind je hier
  2. kopieer alles en plak het in Sonic Pi (control+a, control+c, control+v)
  3. voorkom nu herhaling met behulp van 2.times do end.

Als je dit goed hebt gedaan, heb je ongeveer 50 procent minder regels en kan je dat meezingen:

I've been cheated by you,
and I think you know when.
So I made up my mind,
it must come to and end.
Laat je docent je code zien voordat je verder gaat.

4. Je eigen versie van Mamma Mia

Om deze les af te ronden, schrijf je je eigen versie van Mama Mia in Sonic Pi.

1. Inspiratie

Je kan je inspireren in het oorspronkelijke nummer van Abba geschreven door Benny Andersson, Björn Ulvaeus en Stig Anderson. Maar probeer iets aparts van te maken en niet het oorspronkelijke liedje te volgen.


2. Hieronder zie je een lijst fragmenten op van het nummer Mamma Mia

Open de bestanden en kopieër de stukjes code die je wil gebruiken. (control+c)


3. In Sonic Pi

  • Plak de stukjes code in de volgorde die je leuk vindt klinken.
  • Voordat je een nieuwe stukje kiest, bekijk en luister de code die je net heb geplakt: zie je herhalingen? Gebruik dan .times, anders wordt je code te lang!
  • Wil je een stukje vaker horen? Gebruik dan .times, anders wordt je code te lang!

4. Een eigen versie van Mamma Mia opbouwen

  1. Maak gebruik van use_synth en use_bmp om verschillende effecten te creëren
  2. Je kan ze meerdere maal gebruiken om de fragmenten anders te laten klinken.

5. Aftekenen

Laat je docent naar je versie van Mamma Mia luisteren om deze les af te tekenen.

6. Neem je code op

  • Hier zie je hoe je je code kan opnemen. Zo kan je je compositie aan anderen laten horen.

7. Bewaar je code in een bestand

  • Hier zie je hoe je je code kan bewaren. Dit bestand kan je later gebruiken om nieuwe effecten toe te voegen.

 

Verdieping 3: Herhaling in Yellow submarine

In deze opdracht ga je verder met herhaling werken.

Je weet nu dat je herhaling kan voorkomen door .times te gebruiken.

In dit voorbeeld zie je hoe je de herhaling van deze maat met 2.times. wordt behandeld. De code is daardoor korter en overzichtelijker. Maar de code zou nog compacter kunnen worden als je voor de herhaling van D4 ook 3.times  gebruikt:

Je schrijft per .times:
  • één do
  • één end

 

Sonic Pi zal zelf de code inspringen als je op enter drukt.

Als extra opdracht maak je je eigen versie van Yellow Submarine in Sonic Pi.

1. Inspiratie

Je kan je inspireren in het oorspronkelijke nummer van de Beatles, geschreven door John Lennon en Paul McCartney. Maar probeer iets aparts van te maken en niet het oorspronkelijke liedje te volgen.

yellos submarine


2. Open het bestand met de code voor Yellow Submarine

Kopieer de code (control+a, control+c)


3. In Sonic Pi

  • Plak de tekst in Sonic Pi (control+v)

4. Een eigen versie van Yellow submarine

  1. Maak gebruik van use_synth om verschillende effecten te creëren
  2. Kies een tempo dat je leuk vindt klinken met use_bpm

5. Voorkom herhaling met .times

  • Als je de code goed bekijkt, zie je dat
  • het couplet 3 keer wordt herhaald met 3.times
  • het refrein 2 keer wordt herhaald met 2.times
  • Maar binnen het refrein zijn er ook veel stukjes die herhaald worden. Kijk goed naar de code en probeer .times minimaal 2 keer meer te gebruiken

6. Aftekenen

Laat je docent naar je versie van Yellow submarine luisteren om deze opdracht af te tekenen.

7. Neem je code op

  • Hier zie je hoe je je code kan opnemen. Zo kan je je compositie aan anderen laten horen.

8. Bewaar je code in een bestand

  • Hier zie je hoe je je code kan bewaren. Dit bestand kan je later gebruiken om nieuwe effecten toe te voegen.

 

Extra materiaal

Een toonladder berekenen

Een toonladder berekenen

Je weet al dat in Sonic Pi je nummers in plaats van letters kan gebruiken.
Je kan ook noten optellen en aftrekken. In deze afbeelding zie je drie manieren om C4 en C5 te schrijven.


We tellen 12 op omdat er 12 noten tussen C4 en C5 zijn:


Een toonladder is een rijtje noten dat achter elkaar wordt gespeeld. In deze opdracht gaat je de toonladder van de toon C coderen.

Een oplopende toonladder van C is als volgt:

Je begint bij C4 en je speelt één voor één elke noot tot en met C5

C4 D4 E4 F4 G4 A4 B4 C5

 

Een aflopende toonladder van C is als volgt:

Je begint bij C5 en je speelt één voor één elke noot tot en met C4.

C5 B4 A4 G4 F4 E4 D4 C4

Zo bereken je je toonladders:

1. Open dit bestand

Kopieer de code (control + a, control + c).


2. Ga naar Sonic Pi

  1. Open Sonic Pi en plak de opdracht daarin (control  + v).

3. Verander elke regel in een sommetje:

Om het getal te raden, kijk je op de toetsenbord, en tel je hoeveel noten er tussen C4 en de volgende noot staan.

Bijvoorbeeld: tussen C4 en C5 zijn er 12 noten, want je telt ook de witte en de zwarte toetsen en C5.

Als je C4 en 12 bij elkaar optelt krijg je C5:


4. Aftekenen

Laat je docent je toonladders horen om deze opdracht af te sluiten.

5. Bewaar je code in een bestand

  • Hier zie je hoe je je code als bestand kan bewaren. Zo kan je het volgende keer weer gebruiken en kan je het bovendien aan iemand laten zien.

6. Neem je code op

  • Hier zie je hoe je je code kan opnemen.

Hulp

Een melodie uitproberen

Wil je een eigen melodie gebruiken? Op dit online toetsenbord kan je een melodie uitproberen

 

Waarden van use_synth

Je kan in Sonic Pi een lijst van waarden voor use_syth vinden:

Klik eerst in het menu rechts boven op help [1]

En kies dan Synth in het menu links onder [2]

 

Waarden van with_fx

Je kan in Sonic Pi een lijst van waarden voor with_fx vinden:

Klik eerst in het menu rechts boven op help [1]

with_fx hulp

En kies dan FX het menu links onder [2]

 

Een tekstbestand openen in Sonic Pi

1. Klik op Laden onder Code in het menu links boven

2. Kies de map waar je het bestand heb bewaard en klik op Openen

3. Selecteer het bestand dat je wilt openen en klik op Openen

Code als tekstbestand bewaren

1. Klik op opslaan onder Code in het menu links boven

Bestand bewaren 1

2. Kies de map waar je het bestand wil bewaren en klik op Openen

bestand bewaren 2

3. Schrijf de naam van het bestand

4. Kies Opslaan als Tekstbestanden

5. Klik op knopje opslaan

Mijn compositie met Sonic Pi opnemen

1. Klik op rec

opnemen 1

Sonic Pi begint met opnemen en rec verandert van kleur.

opnemen 2

2. Klik op run

Je nummer wordt nu gespeeld en opgenomen.

3. Als het nummer klaar is of je er mee wil stoppen, klik weer op rec

4. Kies een map voor je opname

opnemen 3

5. Kies een naam voor je opname

6. Klik op Opslaan

opnemen 5 6

 

 

 

Een eigen opname in Sonic Pi gebruiken

Voorlopig out of scope

Voor de docent

Lesplannen

Westminster Quarters

Een griezelig kinderliedje

Mamma Mia

Github repository

Tekstbestanden gebruikt voor dit Educatief Ontwerp:

Programmeren met muziek

Andere Materiaal voor Sonic Pi

Over Sonic Pi

Sonic Pi Community

Creative Workshop with Sonic Pi

Cursussen

Music Programming Basics

Getting started with Sonic Pi and Raspberrypi