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.
Deadline: 18 maart
Belangrijke objecten in deze opdracht:
Lees altijd even de Uitdaging nadat je klaar bent. Mogelijk zit er iets interessants tussen dat je kunt gebruiken voor je eindopdracht!
Zorg ervoor dat je je patch goed kunt presenteren bij het aftekenen!
Dat betekent :
- Dat je patch netjes en overzichtelijk is
- Dat je in eigen woorden kunt uitleggen hoe het werkt, en waarom je bepaalde keuzes hebt gemaakt
- Dat er duidelijke comments (
c
) staan die uitleggen hoe onderdelen werken - Dat de patch automatisch met goede waarden opstart
- En dat je je best doet om hem muzikaal te laten klinken, het gaat niet alleen om de techniek!
a. Slice a Sample
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 [ezdac~]
. Combineer vervolgens een [button]
, [random]
, en de (start $1 $2 $3)
message om bij elke klik op de button een stukje af te spelen van 100
milliseconde, 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]
,[+ 0.]
,[pack]
,[message]
b. Rhythmic Slicing
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. Playback Speed
Maak een toevoeging aan je patch die ervoor zorgt dat bij elke herhaling de sample willekeurig 2x
zo langzaam of 2x
zo snel wordt afgespeeld.
Tip:
[pack]
,[*]
,[random]
,[zl.lookup]
,[zl.mth]
,[pow]
,[-]
,[t 2 f]
(cijfer: 7)
d. Probability with Reverse and Double-Time
Maak de volgende toevoegingen aan je patch:
-
5% van de tijd wordt de sample in reverse afgespeeld
- 30% van de tijd is het ritme in 16de slices in plaats van 8ste
(cijfer: 8)
UITDAGING (cijfer: 9, 10, 10+ met eeuwige waardering!)
-
Get off the grid! Voeg meer randomness toe aan de start/eindposities en de afspeellengte zodat het ritme minder duidelijk naar voren gaat komen.
-
Gebruik het
[waveform~]
object om de audio weer te geven en de stukjes daarin ook weer te geven als selectie tijdens het afspelen. -
Kijk eens naar het
[record~]
object en[ezadc~]
om zelf live input op te nemen dat je vervolgens kan slicen. - Gebruik de principes van de beatslicer om een meer granulaire synth te maken. De grains worden korter, spelen sneller achter elkaar, en de random positie voor de volgende grain ligt op een willekeurige afstand van de vorige. Tip: drunk, scale, slider.