Er zaten toch echt wel mooie progressies in, verscholen achter dat spervuur aan beats. Had je daar mazzel mee, qua algoritmes? Of valt 'ie altijd wel op z'n plek?
Ik heb daar een hele reeks modules voor geschreven waardoor ik een hoop dingen gelijk kan laten lopen.
De drum sequencer produceert naast de gates/velocity van de verschillende drums (gate-hoogte is velocity) ook inversed counters en phases tussen de gates. Dus daarmee kan ik bijvoorbeeld de phase van een golfvorm aansturen, waardoor de modulatie van een ander geluid precies mee loopt met het ritme van een of meerdere tracks van de drums (voornamelijk merkbaar aan de bass). Zo ook kan ik er bijvoorbeeld voor kiezen om bijvoorbeeld de phase tussen de harde aanslagen tussen de kick&snare ritmes te gebruiken, zodat een geluid altijd gelijk loopt met de accenten (nogmaals.. de bass
).
De sequencer wordt dan ook niet alleen aangestuurd door een gated clock-signaal, maar krijgt ook de bijbehorende phase van de clock generator. Deze twee combineer ik tussendoor ook even om een phase van 4 beats te creëeren die ik met een randomiseerbare soort van waveshaper kan hervormen voor een clock swing en terug kan converteren naar losse clock en phase die precies met deze swing mee lopen. De pre&post fills worden ook gecreëerd op basis van deze phase, zodat ook die precies mee lopen in de swing. De vorm van de swing wordt weer door 3 verschillende parameters bestuurd, die ook gerandomiseerd kunnen worden voor verschillende types swings of om de 4/4 maat om te zetten in een combinatie van 3/3 en 2/2 (dus in totaal alsnog 4 clocks per maat, zodat alle functionaliteit in de 16-staps sequencer gewoon blijft kloppen terwijl het op een 3/3 maat lijkt). Denk niet dat het in deze versie ook aan stond, maar hij kon er ook 5/5, 6/6 en 7/7 bij gooien, al werd het dan een beetje onnavolgbaar (maar het klopte wel! haha)
Deze uiteindelijke clock/phase/swing waarden stuur ik ook in 14 bit midi door naar de andere boards zodat ze deze precies en in sync na kunnen maken voor de modulatie van hun eigen geluiden/effecten.
Daarnaast lopen er nog twee "measure" generatoren die een opeenvolging creëren van meerdere maten van verschillende lengte (een set van toegestane lengtes) die samen altijd op een bepaalde lengte uit komen. Deze bepaalt dus een beetje de breakbeat en stuurt ook gerandomiseerde presets aan(presets die bij elke aanslag een kans hebben dat een of meerdere parameter(s) in een bepaalde mate verandert) en ook de lengte dat een key of akoorden worden aangehouden.
Voor de key-progressie gebruikte ik hier volgens mij een tonnetz-diagram-gebaseerde key-progression generator, al weet ik even niet meer welke versie het was (heb er meerdere gemaakt).
Hierna komt dan een dedicated chord-progressie generator die weer uit de akkoorden binnen deze key kiest (rekening houdende met tonic/dominant/etc en altijd uitkomende op de root-chord dankzij de inversed counters, die ervoor zorgen dat "stap 0" altijd aan het einde van een progressie zit). De progressie wordt in zekere zin per nieuw stuk achterste voren gegenereerd. Dus wetende dat een stuk op C majeur (m.a.w. de tonic) moet eindigen, mag die daar komen via Bdim of G7, welke weer bereikt mogen worden vanuit andere akkoorden, etc. Zo kan die van tevoren een lange akkoorden progressie genereren waaruit de counter op elke plek mag beginnen, "wetende" dat die aan het einde van de counter altijd op het juiste akkoord komt, vanwaaruit die eigenlijk weer bijna overal heen mag. Zodra er een key-change aan komt, zorgt die dat die even langs de dominant gaat (als het goed is, heb nog redelijk wat aanpassingen gemaakt ná deze track).
De "gitaar" gaat daarna aan de haal met de geselecteerde akkoorden door uit te gaan van de opbouw van noten op de gitaarhals. Dus je bepaalt een fret en van daaruit selecteert die daarboven voor elke "snaar" de dichtst bij zijnde toegestane noot binnen het akkoord, dat redelijk logischer wijs precies de akkoorden zijn die je normaal gesproken op je gitaar pakt. Gooi er daarna een ritmische "gate-strum" tegen aan die mee luistert naar de drum triggers en je hebt je lead guitar.
Door in de "plucked fft" van de audio generator ook nog een speciale spectral dampening te maken, kan die ook nog artificial harmonics (al was dat in deze versie nog niet helemaal goed uitgewerkt helaas).
De bass volgt, wat modulatie ritme betreft, het ritme van de kick en snare en, wat noot betreft, de tonic, third en fifth van het geselecteerde akkoord, waarbij die op de juiste momenten de tonic speelt (begin/einde van de maat).
Er zijn volgens mij nog een hoop andere dingen die ik erbij heb weten te proppen om dingen bij elkaar te brengen, maar het is alweer een tijdje geleden dat ik hiermee bezig was. Maar dit is wel een beetje de hoofd-moot dat het "zooitje" aanstuurt.
Om dan eindelijk terug te komen op je vraag... ik heb er van alles ingebouwd in een poging om alles, hoewel gerandomiseerd, toch op zijn plek te kunnen laten vallen. Dit komt redelijk vaak goed uit (gezien nagenoeg alles gerandomiseerd wordt), al heb ik ook aardig wat opnames die net wat "over the top" gingen (nog meer dan deze track), waar niet bepaald voor de hand liggende breaks voorbij kwamen (een retrigger van 30 seconden... "right...gaan we nog verder...of... ... ... .. ? AH! ok.. opnieuw!") of waar de progressie en melodie niet bepaald klopten met het geluid (al klinkt "funky happy metal met zoet sappige geluiden onder een grunt" best grappig...ik lag in ieder geval in een scheur tijdens het maken.. "I'm in love with my synthesizer as it makes me laugh. Moehahaha!" (quote by sirsicksik, alone, somewhere in a small cold room in a winter corona lockdown).