SYSBAS1B/MAX Practicum
5 - Algorithmic Beat Slicer
Bij deze opdracht ga je een algoritmische beat slicer bouwen in Max. Je gebruikt een drumloop die standaard in Max zit. Deze ga je vervolgens "slicen" door er stukjes uit af te spelen in random volgorde, van random lengtes en in random ritmes.
Belangrijke objecten in deze opdracht:
Lees altijd even de Extra delen nadat je klaar bent. Mogelijk zit er iets interessants tussen dat je kunt gebruiken voor je eindopdracht!
a)
Maak de objecten [buffer~] en [play~]. Lees van allebei de objecten de helpfiles!
Geef de [buffer~] een naam en laad hierin de sample "jongly.aif". Sluit [play~] aan op een gain~ en dac~. Gebruik vervolgens een [button], [random], en de (start) message om bij elke klik op de button een stukje af te spelen van 100 milliseconden dat start op een willekeurige positie tussen 0 en 4000 milliseconden.
Zorg dat als het stukje klaar is er gelijk weer een nieuwe waarde wordt gegenereerd en afgespeeld (gebruik de 2de outlet van play~, hierdoor ontstaat er dus een loop).
Tip: play~, buffer~, random, +, pack, message
b)
Gebruik het [info~] object om de lengte van de drumloop te achterhalen. Gebruik deze waarde om de lengte van 1 8ste deel van de loop te bepalen. Zorg er nu voor dat elke herhaling de start positie een willekeurige veelvoud is van deze 8ste lengte.
Let op dat de afspeelsnelheid ook ingevuld moet worden als het verschil tussen de start en stoptijd, anders hoor je je sample op een andere pitch!
Tip: info~, /, random, *, +
cijfer: 6
c)
Maak een toevoeging aan je patch die ervoor zorgt dat elke herhaling de sample willekeurig twee keer zo langzaam of twee keer zo snel wordt afgespeeld.
Tips: pack, *, random, zl.lookup, zl.mth, pow, -, [t 2 f]
cijfer: 7
d)
Maak de volgende toevoegingen aan je patch:
cijfer: 8
EXTRA (9, 10, 10+ met eeuwige waardering)