6 Probability Drum Machine


Voor deze opdracht ga je een drum machine programmeren met kansberekeningen. Het ritme en tempo gaat bepaald worden door verschillende vormen van randomness in Max. A t/m C zijn verplicht, daarna kun je doorwerken aan D en E. Lees vooral ook de uitdaging door, zelfs als je die niet maakt kan het wel inspirerend zijn voor de eindopdracht die er aan gaat komen.

Deadline: 17 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. kick it!

Nodig: [makenote], [noteout], [button], [message]


b. kick, kick, kick, ∞

Tip: [number], [metro], [!/ 0.], [* 0.], [counter], [%], [select], [message], [loadmess]


c. some(times) snare

Tip: [random], [<] / [>] / [<=] / [>=], [sel], [slider], [dial], [loadmess], [message]

(cijfer: 6)


d. random hats

Tip: [%], [sel], [random], [<]/[<=]/[>]/[>=]

(cijfer: 7)


e. drunk drumming

voorbeeld: ingesteld BPM = 108, dan is het minimum 108 - 15 = 93 en het maximum 108 + 15 = 123

Tip: [drunk], [trigger b f], [number], [-], [+]

(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 uitdagingen om te onderzoeken en je patch mee uit te breiden:

Fills

Maak een algoritme dat in de laatste maat van een aantal (instelbare!) maten altijd een random fill speelt over de toms.

Snare ≠ Kick

Voeg een algoritme toe dat, wanneer de snare gespeeld wordt op de plek van een kick, de kick niet meer mag spelen, maar de kick de 16de daarna wordt gespeeld.

Meta sequencer

Er bestaat niet zoiets als true-random, en veelal wordt random gegenereerd op basis van een zogenaamde seed. Bekijk de help-file van [random] en hoe je zelf de seed kunt instellen. Maak een algoritme dat elke maat de seed van de random-number-generator reset, en daardoor een herhalend random patroon genereert. Zorg nu dat je verschillende random seeds in een lijst kunt plaatsen en elke maat de volgende seed uit de lijst pakt. Hierdoor kan je op een hoger niveau een random sequencer maker door de randomness aan te passen.

Probability lijsten

Voeg een manier toe om een lijst te kunnen maken voor elke stap in de sequencer van de kick, waarbij de plek op de lijst een aparte kans is. Zo kan je een lijst maken met een specifiek ritme, maar binnen het ritme kunnen variaties onstaan door de kans. Bijvoorbeeld een lijst van (100 0 0 100 0 0 50 20) speelt de kick op tel 0 en 3 en heeft 50% en 20% kans dat die gespeeld wordt op tel 6 en 7.