opus

8.3 tonaliteit extra

3

tonaliteit extra

notenschrift extra

Hiernaast is een notenschrift 'Iubilate deo universa terra' (een psalmvers) uit de 9de eeuw afgebeeld.

Hieronder zijn de eerste noten van het muziekstuk 'Für Elise' uit 1810 van Ludwig van Beethoven (1770 - 1827) afgebeeld.

In de tijd van Beethoven werd het huidige huidige notenschrift gebruikt, waarbij noten als bolletjes of vijf lijnen genoteerd worden.

digitale muziek extra

Bij digitale muziek worden in plaats van notenbalken getallen of letters gebruikt. De klank 'do' wordt C4 genoemd of 60.

toonladders extra

A
Bb
B
C
C#
D
Eb
E
F
F#
G
Ab

pianotoetsen extra

De witte toetsen op een piano worden 'do', 're', 'mi', 'fa', 'sol', 'la', 'si', 'do' genoemd. Tegenwoordig wordt echte vaker aangegeven met 'C', 'D', 'E', 'F', 'G', 'A', 'B', 'C'.

kruizen en mollen extra

Tussen de witte toetsen van de piano bevinden zich soms wél en soms géén zwarte toetsen. De zwarte toetsen worden of aangegeven met een '#' (kruis) 'b' (mol) aangegeven. Tussen C3 3n C4 bevinden zich de opeenvolgend de volgende pianotoetsen: 'C', 'C#', 'D', 'Eb', 'E', 'F', 'F#', 'G', 'Ab', 'A', 'Bb', 'B', 'C'.

natuurkundige principes extra

De toetsten op de piano representeren noten. Noten zijn gebaseerd op natuurkundige principes.

intervallen extra

Tonen hebben een bepaalde afstand tot elkaar. Bij noten wordt dit een interval genoemd. De noot 'A4' ligt een octaaf hoger dan de noot 'A3'.
Tussen de noten 'A' en 'B' ligt 'Ab'. De afstand tussen 'A' en 'B' wordt een grote secunde genoemd Tussen de noten 'E' en 'F' ligt echter geen noot. en de afstand tussen 'E' en 'F' wordt een kleine secunde genoemd.
De afstand tussen 'A' en 'C' wordt een kleine terts genoemd en de afstand tussen 'C' en 'E' wordt een grote terts genoemd omdat tussen 'C' en 'E' meer noten liggen dan tussen 'A' en 'C'.

samenklank extra

Bij de samenklank van sommige tonen wordt de toonafstand als minder prettig ervaren. Dit is bijvoorbeeld het geval bij tonen die dicht bij elkaar liggen (denk hierbij aan grote en kleine secunden). Dit soort tonen worden dissonanten genoemd. Toonafstanden die als prettig ervaren worden worden consonanten genoemd.

kruizen en mollen in sonic pi™ extra

In Sonic Pi™ worden kruizen en mollen als volgt weergegeven: C#4 = play :Cs4 & Eb4 = play :Eb4

dissonanten extra

1 Plak de code hiernaast in Sonic Pi™.

  • Waarom is de toonafstand tussen 'E' en 'F' kleiner dan de afstand tussen 'A' en 'B'?
  • Welke toonafstanden zijn grote en welke toonafstanden zijn kleine secundes?
  • Ervaren je oren de toonafstanden tussen kleine of tussen grote secundes als meest dissonant?

consonanten extra

2 Plak de code hiernaast in Sonic Pi™.

  • Waarom ervaren onze oren deze toonafstanden als consonatant?

3 Schrijf zelf een code waarin het verschil tussen een kleine en een grote terts hoorbaar is.

4 Hoeveel verschillende kleine tertsen kun je samenstellen binnen één octaaf?

In muziekstukken worden consonanten doorgaans meer gebruikt dan dissonanten. Dissonanten worden meestal subtiel gebruikt om de spanning in muziek op te voeren en worden veelal afgewisseld met een consonanten. Muziek met veel dissonanten wordt atonale muziek genoemd. Muziek met weinig of geen dissonanten wordt tonale muziek genoemd. Tonale muziek ligt doorgaans veel beter in het gehoor dan atonale muziek.

toonladder extra

De meest bekende toonladder is de toonladder in C-majeur. Een C-majeur toonladder zijn de witte toetsen op een piano.

C-majeur extra

De toonafstanden in een C-majeur toonladder zijn als volgt:

←1→  D ←1→  E ←½→  F ←1→  G ←1→  A ←1→  B ←½→  C

majeur-toonladder extra

In traditionele westerse muziek wordt de toonafstand (1↔1↔½↔1↔1↔1↔½) van een majeur toonladder als vrolijk ervaren.

D-majeur extra

Als een toonladder in D-majeur gespeeld wordt zijn de toonafstanden ook 1↔1↔½↔1↔1↔1↔½:

←1→  E ←1→  F# ←½→  G ←1→  A ←1→  B ←1→  C# ←½→  D

Eb-majeur

Als een toonladder in Eb-majeur gespeeld wordt zijn de toonafstanden ook 1↔1↔½↔1↔1↔1↔½:

Eb ←1→  F ←1→  G ←½→  Ab ←1→  Bb ←1→  C ←1→  D ←½→  Eb

mineur toonladder extra

Een mineur toonladder wordt in de westerse cultuur ervaren als een melodramatische of droevige toonlader. De toonafstanden van een mineur toonladder zijn als volgt: 1↔½↔1↔1↔½↔1↔1↔:

←1→  D ←½→  Eb ←1→  F ←1→  G ←½→  Ab ←1→  Bb ←1→  C

grondtoon extra

De noten van een Eb-majeur en een C-mineur zijn dezelfde noten. De grondtoon van beide toonladders is echter verschillend. De grondtoon van een Eb-majeur toonladder is Eb en de grondtoon van een C-mineur toonladder is C. Een grondtoon is de eerste noot van een toonladder.

akkoorden extra

Akkoorden zijn samenklanken van drie of meer tonen. Doorgaans bestaan akkoorden uit een tertsenstapeling vanuit de grondtoon. Zeer gangbare akkoorden met grondtoon C zijn het C-majeur akkoord ('C', 'E' en 'G') en het C-mineur akkoord ('C', 'Eb' en 'G').

C-majeur extra

5 Plak de code hiernaast in Sonic Pi™.

  • Leg uit waarom de akkoorden C-majeur ('C', 'E', 'G'), E-mineur ('E', 'G', 'B')en G-majeur ('G', 'B', 'D') zijn opgebouwd uit noten uit de C-majeur toonladder.
  • Welk akkoord heeft dezelfde grondtoon als de C-majeur toonladder?

toonladders en akkoorden extra

Hoewel de noten van een Eb-majeur toonladder en de C-mineur toonladder hetzelfde zijn, bestaat een Eb-majeur akkoord uit 'Eb', 'G' en 'Bb' en een C-mineur akkoord uit 'C', 'Eb' en 'G'.

6 Zoek met behulp van Google naar een akkoordenzoeker, waarbij je noten kunt invoeren zodat de akkoordenzoeker toonladers en akkoorden zoekt bij de ingevoerde noten (bijvoorbeeld: tablature.nl).

  • Stel met behulp van Sonic Pi™ en een online akkoordenzoeker enkele akkoorden samen die passen in een bepaalde toonsoort.
  • Gebruik  sound envelops ,  fx  en  sounds for looping  om het geheel meer cachet te geven.
  • > Maak een opname  rec  van je muziekstuk in Sonic Pi™ en sla het geconverteerde (.mp3-bestand) van deze opname op.
  • , Plaats het mp3-bestand op je Padlet en geef aan in welke toonladder en welke akkoorden zijn gebruikt.

logica, analyse & reeksen

Veel muziek zoals popmuziek en met name dance- en techo-varianten, bestaat uit gratie van herhaling. Akkoorden, ritmes en effecten worden op een al dan niet gecompliceerde manier veelvuldig herhaald. Omdat achter deze herhalingen doorgaans een bepaalde logica zit, is deze logica gemakkelijk om te zetten in code. Door de logica achter een nummer te analyseren kunnen herhalingen worden omgezet in reeksen. Deze reeksen kunnen met behulp van Sonic Pi™ herhaald worden.

analyse synthesizer partij 'shape of you' extra

Hieronder is de code van een synthesizer partij van 'Shape of You' twee keer afgebeeld. De bovenste code bestaat uit 55 regels en speelt het akkoordenpatroon slecht één keer. De onderste code bestaat uit 12 regels en speelt de begeleiding voor het hele nummer. Dit komt omdat bij de onderste versie variablen en rings gebruikt worden. Daarnaast zijn met behulp van een akkoordenzoeker (tablature.nl) de samenklanken omgezet in akkoorden.


ritme: De synthesizer partij is ritmisch opgebouwd uit vierde en kwarten:

  • 1/4  →  1/2  →  1/4  →  1/2  →  1/4  →  1/4.

.ring: Dit patroon wordt elke twee maten herhaald, waardoor een reeks ontstaat. Deze reeks kan in de de variabele var_sleep worden opgeslagen. Een reeks wordt als volgt opgeslagen in een variabele:

  • var_sleep = [0.25, 0.5, 0.25, 0.5, 0.25, 0.25].ring.

tick: Het aantal keer dat een loop doorlopen wordt, kan worden bijgehouden door de standaard variabele tick. De standaard variabele tick wordt elke keer als deze wordt aangeroepen één waarde hoger.

t = tick: Om te zorgen dat tick per loop slechts één waarde stijgt wordt tick steeds opnieuw opgeslagen in de variabele t. In 'Shape of You' krijgt de sleep elke loop de volgende waarde uit de variabele var_sleep.

  • sleep var_sleep[t].

ritme 'shape of you' extra

maat 1 2 3 4
tel 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
t 1 2 3 4 5 6 7 8 9 10 11 12
ritme 1/4 1/2 1/4 1/2 1/4 1/4 1/4 1/2 1/4 1/2 1/4 1/4
var_sleep 0.25 0.5 0.25 0.5 0.5 0.25 0.25 0.5 1/4 0.5 0.25 0.25
maat 5 6 7 8
tel 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
t 13 14 15 16 17 18 19 20 21 22 23 24
ritme 1/4 1/2 1/4 1/2 1/4 1/4 1/4 1/2 1/4 1/2 1/4 1/4
var_sleep 0.25 0.5 0.25 0.5 0.5 0.25 0.25 0.5 1/4 0.5 0.25 0.25

klankkleur: Gedurende de synthesizerpartij van 'Shape of You' veranderd de klankkleur. Dit komt omdat de klank van dof naar helder en weer terug naar dof gaat.

cutoff: Met cutoff kan de klankkleur verandert worden. Een lage cutoff (bijv. 40) levert een doffe klank en een hoge cutoff (bijv. 100) levert een heldere klank op.

patroon: Dit gebeurt in 'Shape of You' in 28 stappen die constant herhaald worden. De eerste 14 stappen neemt de helderheid elke twee stappen toe en de laatste 14 stappen neemt de helderheid elke twee stappen af. Dit patroon kan worden vastgelegd in de onderstaande variabele var_cutoff:

  • var_cutoff = [50, 50, 60, 60, 70, 70, 80, 80, 90, 90, 100, 100, 110, 110, 110, 110, 100, 100, 90, 90, 80, 80, 70, 70, 60, 60, 50, 50].ring

ct=(t/2).floor: Om niet elke waarde twee keer te hoeven noteren wordt ct = (t/2).floor gebruikt. Door dit stukje code wordt elke waarde van ct twee keer herhaald, en kunnen de dubbelingen uit de ring gehaald worden:

  • var_cutoff = [50, 60, 70, 80, 90, 100, 110, 110, 100, 90, 80, 70, 60, 50].ring

.ring.mirror: Omdat de waarden eerst toenemen en daarna afnemen kan .mirror gebruikt worden, waardoor de reeks in de ring gespiegeld aan de oorspronkelijke ring wordt toegevoegd:

  • var_cutoff = [50, 60, 70, 80, 90, 100, 110].ring.mirror

50.step(110,10) Omdat de ring.mirror een logische opbouw heeft (steeds 10 erbij), kan dit gegenereerd worden:

  • var_cutoff = 50.step(110,10).to_a.ring.mirror

In de bovenstaande code wordt de waarde 50 steeds 10 verhoogd, totdat de waarde 110 bereikt is. mirror zorgt ervoor dat als de waarde 110 is, deze steeds met 10 afneemt.

cutoff 'shape of you' extra

maat 1 2 3 4
tel 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
t 1 2 3 4 5 6 7 8 9 10 11 12
ct 1 2 3 4 5 6
var_cutoff 50 50 60 60 70 70 80 80 90 90 100 100
maat 5 6 7 8
tel 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
t 13 14 15 16 17 18 19 20 21 22 24 24
ct 7 8 9 10 11 12
var_cutoff 110 110 110 110 100 100 90 90 80 80 70 70
maat 9 10 11 12
tel 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
t 25 26 27 28 29 30 31 32 33 34 35 36
ct 13 14 15 16 17 18
var_cutoff 60 60 50 50 50 50 60 60 70 70 80 80
maat 13 14 15 16
tel 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
t 37 38 39 40 41 42 43 44 45 46 47 48
ct 19 20 21 22 23 24
var_cutoff 90 90 100 100 110 110 110 110 100 100 90 90

faseverschil: Het patroon binnen de cutoff loopt niet synchroon met het ritme van het nummer. Hierdoor treedt steeds een verschuiving of faseverschil op in welke noten een bepaalde cutoff krijgen. Deze techniek wordt veelvuldig toegepast in moderne elektronische muziek.

finetunen Uiteindelijk wordt de waarde van de cutoff gedeeld door 1.1 om het geheel te finetunen:

  • cutoff: (var_cutoff[ct] / 1.1)

chord: Met behulp van een akkoordenzoeker (tablature.nl) zijn de samenklanken in 'Shape of You' omgezet in akkoorden.
De synthesizer partij uit 'Shape of You' is opgebouwd uit vier verschillende akkoorden (C#4 mineur, F#4 mineur, E4 mineur, C#5 mineur), die elk zes keer herhaald worden.

notatie: In Sonic Pi worden deze akkoorden genoteerd als:

  • :Cs4, :minor, :Fs4, :minor, :Ab4, :minor & :Cs5, :minor

De reeks akkoorden kan als volgt in de variabele var_chord worden opgeslagen:

  • var_chord = [:Cs4, :Fs4, :Ab4, :Cs5].ring

tt=(t/6).floor: Met behulp van t = tick en tt = (t/6).floor, wordt de waarde van de tick gedeeld door 6 en naar beneden afgerond. Hierdoor wordt elk akkoord in 'Shape of You' zes keer herhaald.

minor: Omdat alle akkoorden in de synthesizer partij van 'Shape of You' mineur akkoorden zijn, kan de toevoeging :minor toegevoegd worden als de akkoorden in de variabele var_chord worden opgeroepen:

  • play chord(var_chord[tt], :minor)

akkoorden 'shape of you' extra

maat 1 2 3 4
tel 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
t 1 2 3 4 5 6 7 8 9 10 11 12
chord :Cs4, :minor :Fs4, :minor
play o o o o o o o o o o o o
maat 5 6 7 8
tel 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
t 13 14 15 16 17 18 19 20 21 22 23 24
chord :Ab4, :minor :Cs5, :minor
play o o o o o o o o o o o o

The Plan [_-_ trip hop _-_]

patronen extra

Hieronder wordt het nummer 'The Plan' in de toonsoort F-mineur (F, G, Ab, Bb, C, C#, Eb, F) in delen geleidelijk opgebouwd. In de code van dit nummer wordt op verschillende manieren omgegaan met reeksen en patronen.

f-mineur & ritme extra

De reeks (Ab, F, C, F, Bb, F, Bb, Bb) is opgebouwd uit noten uit de F-mineur toonladder. Het ritme waarin de reeks wordt gespeeld wordt is: 1/2 - 1/4 - 1/8 - 1/8. Binnen de reeks wordt dit ritme een keer herhaald.

reeks & ritme extra

reeks Ab F C F Bb F Bb Bb
ritme 1/2 1/4 1/8 1/8 1/2 1/4 1/8 1/8

play_pattern_timed: Met play_pattern_timed kunnen de noten en het ritme in één deel code worden vastgelegd :

  • play_pattern_timed [:Ab4, :F4, :C4, :F4, :Bb4, :F4, :Bb4],[1, 0.5, 0.25]

In het eerste deel van de code worden de noten, gescheiden door een komma's, tussen '[]' geplaatst. In het tweede deel van de code wordt het ritme, gescheiden door komma's,tussen '[]' geplaatst. Beide '[]' worden eveneens door een komma gescheiden.

variabele: Hoewel de bovenstaande code> zonder probleemloos in Sonic Pi™ geplakt kan worden, wordt de reeks en het ritme vastgelegd in de variabele var_play en var_sleep.

  • var_play = [:Ab4, :F4, :C4, :F4, :Bb4, :F4, :Bb4, :Bb4].ring
  • var_sleep = [0.5, 0.25, 0.125, 0.125].ring

Deze variabele worden in play_pattern_timed var_play,var_sleep aangeroepen, waardoor in grond van de zaak dezelfde code ontstaat als in de oorspronkelijke code.

  • lay_pattern_timed var_play,var_sleep

effecten: Er worden in 'The Plan' twee verschillende effecten gebruikt. De notenreeks is dus ook tussen twee with_fx, end (flanger & panslicer) geplaatst. Achter elk effect staan parameters (invert_flange, decay & probability, smooth).
Onder  fx  is te vinden welke parameters bij een bepaald effect gekozen kunnen worden.

define: Met behulp van define wordt vanuit een loop een functionaliteit (of functie) aangeroepen worden. In 'The Plan' wordt in de loop met mood verwezen naar de functie mood die in define gedefinieerd wordt.

  • mood
  • define :mood do

Als de de code wordt uitgevoerd, en in de code mood staat, wordt in plaats van mood de functie define :mood do uitgevoerd.

ring manipulatie extra

In de code van 'The Plan' wordt de notenreeks niet steeds op dezelfde manier afgespeeld. Dit wordt gedaan door rekenkundige functionaliteiten aan de notenreeks toe te voegen.

In de code van 'The Plan' wordt var_play = [:Ab4, :F4, :C4, :F4, :Bb4, :F4, :Bb4, :Bb4].ring achtereenvolgens op zes manieren gemanipuleerd. Op deze manier hoeft niet alle elke noot gedefineerd te worden in een reeks, maar kan kunnen de patronen in een reeks rekenkundig gemanipuleerd worden:

  • var_play = [:Ab4, :F4, :C4, :F4, :Bb4, :F4, :Bb4, :Bb4].ring.stretch(2),
    waardoor elke noot in de reeks een keer herhaald wordt.
  • var_play = [:Ab4, :F4, :C4, :F4, :Bb4, :F4, :Bb4, :Bb4].ring.take_last(4),
    waardoor alleen de laatste 4 noten van de reeks gespeeld worden.
  • var_play = [:Ab4, :F4, :C4, :F4, :Bb4, :F4, :Bb4, :Bb4].ring,
    waardoor de ring ongewijzigd wordt gespeeld.
  • var_play = [:Ab4, :F4, :C4, :F4, :Bb4, :F4, :Bb4, :Bb4].ring.take_last(4),
    waardoor alleen de laatste 4 noten van de reeks gespeeld worden.
  • var_play = [:Ab4, :F4, :C4, :F4, :Bb4, :F4, :Bb4, :Bb4].ring.reverse,
    waardoor de reeks achterstevoren gespeeld wordt.
  • var_play = [:Ab4, :F4, :C4, :F4, :Bb4, :F4, :Bb4, :Bb4].ring.take(4),
    waardoor alleen de eerste 4 noten van de reeks gespeeld worden.

patronen kiezen: Om steeds te wisselen van notenpatroon, wordt de variable t gebruikt. De waarde van t wordt door t = tick elke keer dat de loop gespeeld wordt met één verhoogd. Hierdoor wordt steeds een ander notenpatroon gekozen.

t 1 2 3
stretch(2) mirror --
4 5 6 7
take_last(4) reverse take(4) --

patronen vastleggen: De zes verschillende manipulatie van de oorspronkelijke reeks worden vastgelegd in de variabele var_ring.

  • var_ring = [
    var_play.stretch(2),
    var_play.mirror,
    var_play,
    var_play.take_last(4),
    var_play.reverse,
    var_play.take(4)].ring
    ,
    var_play

waarden doorgeven: De waarde van t wordt steeds in de loop bepaald. In de loop wordt verwezen naar de functie mood. Als de inhoud van de functie mood afgespeeld wordt, is de waarde van tniet bekent voor deze functie. De waarde t moet aan de functie mood doorgegeven worden.

  • mood t
  • define :mood do |t|

Door de variable t achter de mood te plaatsen, wordt de waarde van t doorgegeven aan de functie. In de functie define :mood do |t| wordt met |t| aangegeven dat de waarde van t wordt doorgegeven aan de functie.

  • play_pattern_timed var_ring[t],var_sleep

Hierdoor ontstaan de onderstaande reeks met 64 noten.

Ab Ab F F C C F F Bb Bb F F Bb Bb Bb Bb
Ab F C F Bb F Bb Bb Bb Bb F Bb F C F Ab
Ab F C F Bb F Bb Bb Bb F Bb Bb Bb Bb F Bb
F C F Ab Ab F C F Ab F C F Bb F Bb Bb

akkoorden extra

Uit de toonladder F-mineur (F, G, Ab, Bb, C, C#, Eb, F) zijn verschillende drieklanken of akkoorden samen te stellen. De afzonderlijke noten van een akkoord dat in de F-mineur toonladder past, bestaat uit noten uit de toonladder van F-mineur. De afzonderlijke noten van de akkoorden F-mineur (F, Ab, C) en Bb-mineur (Bb, C# , F) komen voor in de toonladder van F-mineur en zijn toepasbaar binnen 'The Plan'. Het F-mineur-akkoord bij het eerste deel (Ab, F, C, F) van de oorspronkelijke reeks en het Bb-mineur-akkoord past het tweede deel (Bb, F, Bb, Bb) van de oorspronkelijke reeks.

F-mineur F-mineur Bb-mineur Bb-mineur
Ab Ab F F C C F F Bb Bb F F Bb Bb Bb Bb
F-mineur Bb-mineur Bb-mineur F-mineur
Ab F C F Bb F Bb Bb Bb Bb F Bb F C F Ab
F-mineur Bb-mineur Bb-mineur Bb-mineur
Ab F C F Bb F Bb Bb Bb F Bb Bb Bb Bb F Bb
F-mineur F-mineur F-mineur Bb-mineur
F C F Ab Ab F C F Ab F C F Bb F Bb Bb

De 16 akkoorden die gedurende de 64 gegenereerde noten in de functie mood gepeeld worden, worden opgeslagen in de variabele var_chord. Het ritme, 1/2 - 1/4 - 1/4 - 1/4 -1/4 - 1/2, waarmee deze akkoorden gespeeld worden, wordt opgeslagen in de variabele var_sleep2.

  • var_chord = [:F2, :F2, :Bb2, :Bb2, :F2, :Bb2, :Bb2, :F2, :F2, :Bb2, :Bb2, :Bb2, :F2, :F2, :F2, :Bb2].ring
  • var_sleep = [0.5, 0.25, 0.125, 0.125].ring

notenreeksen oproepen: De notenreeksen die uit de akkoorden gegenereerd worden, worden in de loop loop_square opgeroepen met de functie square. In loop_square wordt de variabele tt met behulp van tick elke keer als de loop gespeeld wordt, één waarde verhoogd (tt = tick).

De waarde voor tt, die elke loop verhoogt, wordt met square tt doorgegeven aan de functie square.

  • square tt
  • define :square do |tt|

play_pattern_timed chord: In de functie square worden de afzonderlijke noten in de akkoorden afgespeeld met play_pattern_timed chord.

Het verschil tussen play_pattern_timed en play_pattern_timed chord is dat bij de laatste de afzonderlijke noten van een akkoord afgespeeld worden. In play_pattern_timed chord moet het akkoord en het ritme gegeven worden.

Als een F-mineur akkoord twee maal achter elkaar zou spelen met het ritme 1/2 - 1/2, levert dit play_pattern_timed (:F2, :minor),[0.5, 0.5] chord op.

In 'The Plan' staan de akkoorden in de variable var_chord en het ritme in var_sleep2. Het notenpatroon wordt in de functie square als volgt aangeroepen:

  • play_pattern_timed chord(var_chord[tt], :minor),var_sleep2

vibrerend en stereo effect extra

Op de notenreeks die uit de akkoorden worden gegenereerd wordt met behulp van het effect slicer vibrerend gespeeld. Door de parameter phase met een waarde van 0.125 wordt de vibratie in 1/8 tellen op de notenreeks toegepast. Om de notenreeks meer stereo te maken wordt panslicer gebruikt. Met panning wordt bedoelt dat het geluid op de twee stereokanalen apart beïnvloed kan worden. (pan: 1 = rechts en pan: -1 = links). Door waarden tussen de -1 en 1 te kiezen kan geluid over de stereokanalen verdeeld worden.

melodie extra

In 'The Plan' worden de volgende noten in een soort van melodielijn gespeeld: Ab, F, G, Bb, Bb, Ab, F, G, Bb, Bb, Ab, F, Ab, F. Dit is onder te verdelen in 2x Ab, F, G, Bb, Bb met daarna 2x Ab, F, woordoor een patroon van 14 noten ontstaat dat in het ritme 1/2 - 1/2 - 1 - 1/4 - 1/4 - 1/2 - 1/2 - 1 - 1/4 - 1/4 - 1/2 - 1/2 - 1/2 - 1/2 gespeeld wordt.

Ab F G Bb Bb Ab F
G Bb Bb Ab F Ab F

patronen: Met behulp van x.times do kan een stuk code x keer herhaald worden. x.times do wordt afgesloten met end. Door de combinatie van x.times do en play_pattern_timed.

  • 2x play_pattern_timed [:Ab4, :F4, :G4, :Bb4, :Bb4],[0.5, 0.5, 1, 0.25, 0.25]
  • 2x play_pattern_timed [:Ab4, :F4],[0.5, 0.5]

uit fase: De reeks noten duurt alles bij elkaar 7 maten en 28 tellen. Aangezien de ander notenpatronen uit 'The plan' tot nu toe altijd veelvouden van 4 of 8 maten waren, speelt de melodie-achtige partij uit fase. Dit wil zeggen dat elke keer als de partij herhaald wordt deze tegenover ander akkoorden en noten te liggen komt.

1 - 8 19 - 16 17 - 24 25 - 32 33 - 40 41 - 48 48 - 56
1 - 7 8 - 14 15 - 21 22 - 28 29 - 35 36 - 42 43 - 49 50 - 56

Door dit faseverschil klinken op sommige stukken in 'The Plan' de note Ab en Bb soms samen en de noten F en G soms samen. De aftand tussen beide noten is een grote secunde, waardoor een bepaalde dissonantie ontstaat. Deze dissonantie zorgt voor 'sfeer' in het nummer.

dynamiek extra

Met dynamiek in muziek wordt bedoeld hoe hard of zacht iets gespeeld wordt. In de code van 'The Plan' speelt elke functie eindeloos in dezelfde dynamiek. In het uiteindelijke nummer verandert de dynamiek van de verschillende loops voortdurend.

crescendo & decrescendo: Omdat de loops in 'The Plan' geleidelijk harder (itl: crescendo) en zachter (itl: decrescendo) worden, kunnen deze geautomatiseerd worden. Met behulp van de x.step(y, z).to_a kan de waarde 'x' oplopen (of aflopen) tot aan de 'y' met intervallen 'z'.

Op deze code te kunnen gebruiken om achtereenvolgens een crescendo en decrescendo te krijgen, kan x.step(y, z).to_a.ring.mirror gebruikt worden. 'x' is het beginvolume, 'y' het maximale volume en 'z' geeft aan hoeveel elke waarde moet toenemen. Zo 0.step(10, 2).to_a.ring.mirror levert bijvoorbeeld 0, 2, 4, 6, 8, 10, 10, 8, 6, 4, 2, 0 op. In 'The Plan' wordt 0.step(0.6, 0.03125).to_a.ring.mirror gebruikt om de amplitude van de verschillende loops te reguleren.

  • var_vol = 0.step(0.6, 0.03125).to_a.ring.mirror

wisselende dynamiek: Omdat de omlooptijd van elke loop in 'The Plan' anders is lopen de crescendo's en decrescendo's in de verschillende loops niet synchroon. Hierdoor ontstaat binnen het nummer een steeds wisselende dynamiek. De crescendo's en decrescendo's in de verschillende loops worden als volgt opgeroepen:

  • amp: 0.6 - var_vol[t], wat een decrescendo en crescendo oplevert.
  • amp: var_vol[tt], wat een crescendo en decrescendo oplevert.
  • amp: var_vol[ttt]*3, wat de waarde van het crescendo en decrescendo met drie vermenigvuldigt.

panning: x.step(y, z).to_a.ring.mirror wordt in 'The Plan' eveneens gebruikt voor panning. De waarde van pan verloop in stappen van 0.0125 van - 1 naar 1, het geluid geleidelijk van het linkerkanaal overgaat naar het rechterkanaal.

  • var_pan = -1.step(1, 0.125).to_a.ring.mirror
  • pan: var_pan[ttt]

if statement & stop extra

Met behulp van stop kan een live_loop gestopt worden. Met het statement if en else kan een limiet aan het aantal loops gesteld worden. In de functie mood wordt de loop gestopt als de waarde van t niet meer kleiner dan 85. Een if statement heeft doorgaans een 'als dit dan '--' , anders '--'' vorm

  • if t < 85 : als t kleiner is dan 85 voer dan ... uit.
  • else : als dit niet zo is stop.
  • end     NB: variabele moeten gedefinieerd (bijv t = 0) worden

samples: Hoewel het muzikale gedeelte van 'The Plan' met de voorgaande code> af is, klinkt het stuk nog niet als onderstaande nummer:

external samples extra

Dit komt omdat bepaalde geluidssamples nog niet aan het nummer zijn toegevoegd. Deze samples maken geen deel uit van de standaard samples in Sonic Pi™, en moeten apart aangeroepen worden.

In het volgende deel van deze module ga je leren hoe je zogenaamde external samples moet maken, opslaan en moet aanroepen binnen Sonic Pi™

eigen compositie

7 Maak naar aanleiding van het bovenstaande zelf een compositie met Sonic Pi.

  • Kies een toonsoort (bijv C-mineur of Ab-majeur) en zoek noten en akkoorden die bij deze toonsoort passen.
    • Gebruik nl.wikipedia.org om uit te zoeken welke noten tot welke toonsoort behoren.
    • Gebruik

      7 target="_blank" href="http://www.tablature.nl/akkoorden-zoeker.php">tablature.nl om akkoorden bij een bepaalde toonsoort te zoeken.

  • Gebruik om de compositie zo tonaal mogelijk te houden weinig of geen dissonanten.
  • Gebruik play, play_pattern_timed, play chord, play_pattern_timed chord
  • Plaats reeksen noten in variabele.
  • Gebruik ring, mirror, reverse e.d.
  • Zorg ervoor dat bepaalde muzikale of dynamische patronen, subtiel, uit fase lopen.
  • Werk met live_loops, tick, variabelen en functies (define).
  • Geef variable via een live_loop door aan een functie (define).
  • Voeg  fx  effecten toe aan de synthesizer geluiden.
  • Gebruik x.step(y, z).to_a.ring.mirror of dynamiek, panning, en cufoff te generenen.
  • Gebruik if, else en end of loops te stoppen.
  • > Maak een opname  rec  van je compositie in Sonic Pi™ en sla het geconverteerde (.mp3-bestand) van deze opname op.
  • , Plaats het mp3-bestand op je Padlet en geef feedback op andere posts.