7 Broken Chords
Voor deze opdracht ga je gebroken akkoorden genereren bij het drukken van 1 noot op de kslider/keyboard (een akkoord waarvan de noten los achter elkaar gespeeld worden i.p.v. tegelijkertijd). Je maakt gebruik van logica/algoritmes zodat jouw akkoorden gegenereerd kunnen worden voor alle noten van het keyboard. Met delays ga je de noten gebroken spelen.
Deadline: 24 November
Belangrijke objecten in deze opdracht:
Gebruik alt-click op het object om de help-file te openen. Bekijk ook de Max Keyboard Shortcuts en Max CheatSheet.
Plaats comments (sneltoets c
) om voor jezelf en ons duidelijk te maken dat je snapt hoe iets werkt.
Maak je patch netjes en overzichtelijk voordat je hem laat aftekenen!
a. Solo note
- Maak een
[kslider]
-object en zorg dat het klikken op de kslider een midinoot afspeelt via[makenote]
en[noteout]
. - Koppel de noot los van het octaaf, en gebruik een
[number]
om zelf het octaaf in te stellen van de gespeelde noot (bv. elkec
klinkt nu hetzelfde).
Tip: [%]
, [*]
, [+]
, [number]
, [kslider]
b. Major Chord Generator
- Zorg er nu voor dat iedere keer dat de gebruiker een witte toets speelt je patch een majeur drieklank genereert
- Bij de zwarte toetsen hoor je geen akkoord maar alleen de losse noot.
Tip: [select]
, [trigger]
, [+]
, [message]
, [int]
c. Delay it!
- Zorg er nu voor dat de terts in het akkoord met 250 ms vertraagt wordt en de kwint 500 ms.
- Maak een
[slider]
of[dial]
object waarmee je de "spread" van het gebroken akkoord kunt beΓ―nvloeden. - Bedenk zelf je mapping (welke range aan tijden je wilt kunnen gebruiken), maar zorg ervoor dat de eerste delay altijd de helft in tijd van de tweede delay is!
Tip: [pipe]
, [delay]
, [dial]
, [slider]
, [*]
, [scale]
(cijfer: 6)
d. Chords in key
- Maak het trappensysteem (scale degree) correct van de C-majeur toonladder, zorg er hierbij voor dat op iedere witte toets de juist drieklank klinkt van die trap in de C-majeur toonladder. Dus: C > Cmaj (C E G), D > Dmin (D F A), E > Emin (E G B), etc.
- De zwarte toetsen genereren geen akkoord maar zijn wel nog steeds hoorbaar.
- Mocht je het trappensysteem van de westerse harmonieleer nog niet kennen, zoek dit dan eerst op op internet, of vraag uitleg bij je medestudenten.
Tip: [select]
, [+]
, [int]
, [trigger]
, [message]
(cijfer: 7)
e. Include the octave
- Verwijder de octave
[number]
-box die je bija
hebt gemaakt. - Zorg dat je algoritme werkt voor elke noot op de
[kslider]
en vervolgens ook de drieklank in dat octaaf laat terughoren als de oorspronkelijk gedrukte noot.
Tip: [%]
, [/]
, [*]
, [+]
(cijfer: 8)
Uitdaging (cijfer: 9, 10, 10+ met eeuwige waardering!)
Ben je klaar met alle bovenstaande opdrachten? Kijk eens naar een of meer van deze opdrachten om je patch mee uit te breiden:
Random Chord Progressions
Maak een sequencer die met 1 druk op een button een willekeurige akkoordprogressie genereert door enkele noten in een lijst op te slaan en deze vervolgens af te spelen en via jouw algoritme omzet in akkoorden. Voeg ook ritmische patronen toe aan de sequencer. Gebruik hiervoor: [uzi]
, [urn]
/[random]
/[drunk]
, [zl.group]
, [zl.lookup]
Meer toonladders
Maak een optie voor andere toonladders die gebruikt kunnen worden om akkoorden mee te genereren (bijvoorbeeld: mineur, dorisch, hexatonisch, of ga eens op zoek naar niet-westerse toonladders) en hun bijbehorende trappensysteem of breidt uit met septiem akkoorden. Probeer eens [bendout]
te gebruiken zodat je kan afstappen van de 12-tone equal temperament stemming. Kijk eens naar objecten als: [zl.lookup]
, [expr]
, [vexpr]
, [coll]
.
Interpolated Chords
Verzin een systeem dat, zodra jij een volgend akkoord aanslaat, eerst een akkoord speelt dat halverwege het nieuwe akkoord en het vorige akkoord ligt. Hiervoor zul je moeten interpoleren. Je kunt beginnen met het gemiddelde nemen, maar je zou ook een systeem kunnen verzinnen dat meer stappen maakt om naar een ander akkoord toe te bewegen. Je kunt ook nog akkoorden laten genereren met verschillende liggingen en daar tussen interpoleren. Objecten als: [iter]
, [expr]
, [zl.group]
, [vexpr]
kunnen van pas komen.