8 Algo Arp


Opdracht 8 van 9

Voor deze opdracht maak je een arpeggiator met een algoritme dat afspeelvolgordes van de noten veranderd. Vervolgens voeg je een velocity sequencer toe of gebruik je midi-keyboard input om noten te kunnen selecteren voor de arp.

Deadline: 12 December

Belangrijke objecten in deze opdracht:



Belangrijk:

Gebruik de help-files (alt-click). Bekijk ook de Max Keyboard Shortcuts en Max CheatSheet.

Plaats comments om duidelijk te maken dat je snapt hoe iets werkt.

Maak je patch netjes en overzichtelijk voordat je hem laat beoordelen!




a. Note sequencing

Handige objecten: [toggle], [metro], [counter], [%], [message], [zl.lookup]


b. Shuffle & sort

Voeg een algoritme toe dat elke maat de lijst transformeert. Het algoritme kiest willekeurig tussen een van hoog-naar-laag, van laag-naar-hoog of shuffle transformatie.

Handige objecten: [select], [zl.sort], [zl.scramble], [random], [gate]/[switch]


c. More sequencing (velocity)

Handige objecten: [multislider], [%], [zl.lookup], [message], [+], [trigger]

(voldoende)


d. Perform it!

  1. Maak een [kslider] en een [notein] aan. Stel de [kslider] in op polyphonic mode in de inspector. Sluit de [notein] aan op de kslider en open de KeyMidi (onder Extras) of gebruik een extern midi-keyboard via USB om je gespeelde noten zichtbaar te maken in de patch. Speel de pitch van de [kslider] af via makenote en noteout.

  2. Gebruik nu het [thresh] object om binnen 100 milliseconden een lijst te maken van de note-on pitches die gespeeld worden (filter dus de note-off berichten met [stripnote]). Geef je output van [thresh] weer in een [message].

  3. Vervang de lijst die je zelf hebt ingevuld voor de output van het [thresh] object. Maak een aanpassing zodat het afspelen van de noten ook werkt met een lijst van meer of minder dan 5 items.

Tip: [kslider], [notein], [makenote], [noteout], [thresh], [message], [stripnote], [zl.len], [%]

(goed)



Uitdaging

(zeer goed, minimaal 2 maken)

Ben je klaar met alle bovenstaande opdrachten? Kijk eens naar een of meer van deze uitdagingen om te onderzoeken en je patch mee uit te breiden:

  1. Laat de arpeggiator alleen spelen wanneer je noten ingedrukt houdt. Als je noten los laat gaat die weer uit. Tip: Gebruik de velocity note-off message of kijk eens naar [borax].

  2. Zorg dat je noten 1-voor-1 kunt toevoegen of verwijderen terwijl je al andere noten ingedrukt houdt. Tip: Kijk naar de objecten [bag], [zl.group] en [borax]

  3. Voeg een algoritme toe om de velocity lijst om de x-maten te kunnen veranderen. Tip: bekijk de verschillende zl. objecten of kijk naar drunk/urn/random, uzi en zl.group.

  4. Maak het mogelijk om een toonladder in te stellen en zorg dat alle noten die niet passen binnen de toonladder gemapped worden naar de dichstbijzijnde noot die wel past. Bijvoorbeeld: in C-mineur wordt een E gespeeld, deze wordt dan een Eb of F. Tip: Kijk naar [coll], [umenu], [zl.lookup].