MIDI Generative en Tranformation tools in Ableton Live – Altijd inspiratie
Gepubliceerd op vrijdag 6 december 2024
We kennen allemaal wel eens die struggle: geen inspiratie! Of misschien nog erger: wel inspiratie, maar geen idee hoe we tot een goed resultaat kunnen komen. Sinds versie 12 kent Ableton Live een fantastische set hulpmiddelen die ons hierbij kunnen helpen. In Ableton Live heten ze MIDI Generative tools en MIDI Transformation tools.
Waar zitten ze?
In afbeelding 1 en 2 zie je waar je deze hulpmiddelen vindt in het Clip-venster. De naam zegt het al: dit zijn hulpmiddelen om MIDI-noten in je piano roll editor te bewerken. De MIDI Generative tools maken nieuwe noten aan en de MIDI Transformation tools wijzigen bestaande noten. Helemaal zuiver is deze tweedeling echter niet, want er bestaan ook MIDI Transformation Tools die extra noten genereren. In afbeelding 2 zie je bijvoorbeeld de Chop transformation tool, die een bestaande noot verdeelt in meerdere afzonderlijke noten.
Afbeelding 1: MIDI Generative tools (Rhythm)
Het is interessant om te weten dat deze hulpmiddelen voor alle soorten MIDI-noten werken, dus zowel drums als monofone instrumenten als polyfone instrumenten. Ook is het belangrijk te weten dat je deze hulpmiddelen op elk punt in het productieproces kunt gebruiken. Als je bijvoorbeeld een variatie zoekt op een ritmische clip die je al hebt gemaakt, kun je er nog een percussiesequentie bij genereren met een MIDI Generative tool zoals Rhythm. Of je kunt bijvoorbeeld een bestaand patroon van snare drums verbouwen tot een opmaat met een MIDI Transformation tool zoals Chop of Ornament.
Afbeelding 2: MIDI Transformation tools (Chop)
Achter de schermen werken al deze tools als Max-for-Live devices, wat betekent dat er een groeiende markt van third party MIDI Generative tools en MIDI Transformation tools bestaat. Niet alleen dat, je kunt ook zelf aan de slag gaan en je eigen creatieve tools bouwen! We zullen in dit artikel naar beide mogelijkheden kijken.
MIDI Generative tools
Bij Ableton Live worden de volgende MIDI Generative tools geleverd: Rhythm, Seed, Shape, Stacks en Euclidean. We zullen ze niet allemaal bespreken in dit artikel. Daar is de handleiding van Ableton Live voor. Om een beetje feel te krijgen voor wat er met de MIDI Generative tools kan, zullen we samen kijken naar Rhythm. Dat is mijns inziens een van de nuttigste tools die standaard bij Ableton Live 12 en hoger worden geleverd.
Afbeelding 3: Een lege MIDI-clip
Ons avontuur begint met een MIDI-clip van een drum rack. Dus laad je favoriete drum rack in een MIDI-track en dubbelklik op een clip slot. Ik gebruik in dit voorbeeld een drum rack met de naam CapInHisGlass. In afbeelding 3 zie je hoe het er bij mij uitziet. Klik op de vijfde tab onder Clip, want daar zitten de MIDI Generative tools. Als de Rhythm tool niet is geselecteerd, kun je deze in het uitklapmenu kiezen (zie afbeelding 4).
Afbeelding 4: Beschikbare MIDI Generative tools
De Rhythm tool laat ons per druminstrument experimenteren met verschillende patronen. Het is handig om de Auto-functie steeds aan te hebben staan, want dan hoor je gelijk wat je doet. Kies bovenin de Rhythm tool met welk drum instrument je wilt experimenteren. Zodra je dan aan een van de controls draait, genereert Rhythm een patroon in je piano roll. In afbeelding 5 zie je waar de Auto-knop zit. Ook zie je dat ik het druminstrument HH AndAhh4 heb gekozen. Voor hihats en veel andere percussie-instrumenten zul je Step Duration vaak op 1/16 zetten. Maar niks hoeft en alles mag! Nu is een goed moment de clip te laten afspelen en te experimenteren met de verschillende settings van Rhythm. Vergeet ook niet de Velocity linksonder aan te passen. Dit geeft veel menselijkheid en variatie aan de Patterns die deze tool genereert.
Afbeelding 5: Auto-modus ingeschakeld
Je zult zien dat je tijdens het experimenteren ook nog verschillende druminstrumenten kunt kiezen. Rhythm genereert dan op een ander spoor in je clip een pattern. Maar wat nou als je je clip wilt uitbreiden met steeds meer geluiden? Zodra je tevreden bent met een pattern, kun je ergens op een leeg punt in de piano roll klikken. Het patroon is dan onderdeel geworden van je clip. Ook is het aardig om te weten dat je zelf noten kunt toevoegen in een clip. Om wat orde te houden in mijn experiment, heb ik een kick drum en clap aan mijn clip toegevoegd. Dat is het groen gekleurde blok in afbeelding 6. De twee hihat-patronen daarentegen zijn gegenereerd door de Rhythm tool. Hieronder kun je horen hoe dat klinkt. Let ook op de velocity-variaties die Rhythm heeft gegenereerd. Dit is niet iets wat ik zelf precies zo zou kunnen hebben bedenken.
Afbeelding 6: Twee patronen van Rhythm en twee zelf getekende patronen
Het aardige van de MIDI Generative tools is dat ze kunnen dienen als startpunt voor je nieuwe track of voor een onderdeel daarvan. Zodra je iets hebt gegenereerd met behulp van deze tools, kun je het resultaat daarvan geheel naar je hand zetten. Zo was ik het four-on-the-floor gevoel van mijn experiment al gauw zat, en bouwde het om naar een wat meer electro feel. Er was ook nog ruimte voor een conga, die ik erbij heb gegenereerd met wederom Rhythm. Na afloop klinkt mijn grotendeels door een computer verzonnen ritme als volgt:
Afbeelding 7: Nog een conga gemaakt met Rhythm. In het groen mijn eigen patroontje
MIDI Transformation tools
De tweede groep MIDI-tools veranderen bestaande MIDI-noten. Dit zijn de MIDI Transformation tools. Nu is het wel zo dat sommige van deze tools bestaande noten in stukjes kunnen ophakken en in die zin dus weer nieuwe noten genereren. Wat je aanbiedt aan een MIDI Tranformation tool zijn in ieder geval één of meerdere noten. Dat kunnen ook noten van een akkoord zijn. Laten we samen eens naar een voorbeeld kijken. We gaan daarbij uit van het ritme dat ik hiervoor al had gemaakt. Laten we zeggen dat we een soort ratelende opmaat willen maken aan het einde van vier maten. Uiteraard kunnen we de MIDI-nootjes allemaal zelf tekenen, maar hoe mooi zou het zijn als we op eenvoudige wijze een vloeiende ratel kunnen maken die heel snel begint en dan langzaam weer in het ritme terechtkomt.
Als eerste maken we handmatig één lange noot aan. Ik gebruik een snare drum die op de 7 en een half begint, maar gebruik gerust je fantasie en zet ergens in je clip een lange noot die minstens een hele tel (een kwart noot) duurt. In afbeelding 8 zie je hoe het er bij mij uitziet.
Afbeelding 8: Eén lange snare drum, met de hand getekend
Om deze te laten ratelen, moeten we die ene noot ophakken in een heleboel losse noten. Hiertoe navigeren we naar de MIDI Transformation tools tab en kiezen Chop in het uitklapmenu. In afbeelding 9 zie je hoe dat eruitziet. Zodra je aan de knop Parts draait, zie je dat je enkele noot in de piano roll opgedeeld wordt in mootjes. Het doet er voor dit voorbeeld niet zoveel toe in hoeveel mootjes je de noot verdeelt, maar 15 of 16 is een prima aantal.
Afbeelding 9: De Chop MIDI Transformation tool
In afbeelding 10 zie je hoe het er nu ongeveer uit moet zien. Onze ene losse snare drum is nu een lineaire ratel van losse noten. Nog niet heel spannend, nee.
Afbeelding 10: Chop heeft één losse snare drum verdeeld in een heleboel losse noten
Maar we zijn er nog niet! Zoals beloofd begint de ratel van snare drums heel snel, om dan langzaam te vertragen tot de laatste snare drum weer op een zestiende noot van ons oorspronkelijke ritme valt. We blijven nog even bij de MIDI Transformation tools en kiezen nu Time Warp. Quantize zetten we op Off, Range op Fit en Note End op Include. Verder activeren we het tweede punt op de curve onderin Time Warp. In afbeelding 11 zie je hoe het eruitziet.
Nu kunnen we dat tweede punt op de Time Warp-curve omhoog en omlaag bewegen, en wel zo dat de laatste zestiende van onze ratel weer op het grid valt. In afbeelding 12 zie je wat ik bedoel. Als dat je te nerderig is, kun je de clip natuurlijk ook gewoon afspelen en de instellingen van Time Warp op het gehoor aanpassen tot het goed klinkt.
Afbeelding 12: Het eindresultaat van onze exercities
Time Warp is een heel handig hulpmiddel voor genres als IDM en EDM. Om het geheel nog compleet te maken heb ik er een Auto Filter overheen gezet (afbeelding 13).
Afbeelding 13: Auto Filter LPF frequentie curve
Het eindresultaat klinkt dan zo:
Third party tools
Het is goed om te weten dat allerlei ontwikkelaars nieuwe MIDI Generative en Tranformation tools aan het bouwen zijn. Een aanrader is het gratis te downloaden MIDI Tools pack van Philip Meyer. Je vindt het op de Packs-pagina van Ableton Live of via deze link:
Afbeelding 14: MIDI Tools van Philip Meyer in Ableton-website
Door dit pack te installeren krijg je er drie MIDI Generative tools bij:
- Polyrhythm
- Phase pattern
- Stages
…en ook nog twee MIDI Tranformation tools:
- Retrigger
- Slice Shuffler
Mijn persoonlijke favoriet uit dit rijtje is op dit moment Phase pattern. Hiermee kunnen eenvoudig glitchy patronen gegenereerd worden die onmenselijk complex zijn. Kijk maar eens naar wat er in afbeelding 15 gebeurt. Heel mooi aan Phase pattern is dat je ook de velocity kunt instellen over de curves die ontstaan.
Afbeelding 15: Onmenselijk gave patronen bouwen met Philip Meyer’s Phase pattern
Als je er geen genoeg van kunt krijgen, heeft Philip trouwens ook nog een paar extra zeer geavanceerde generators en transformers te koop via zijn eigen website.
En we zouden niet compleet zijn als we niet nog één andere geweldige MIDI Generative tool bespreken: M2TM Progressions. Hiermee kun je eindeloos akkoordenschema’s uitproberen en aanpassen. Je hoort onmiddellijk wat je doet, dus op die manier kun je een eventueel moment van creatieve impasse gemakkelijker overwinnen. Ook deze tool is niet gratis, maar voor twee tientjes wel zeker de moeite waard.
Afbeelding 16: M2TM Progressions bouwt akkoordenschema’s in je piano roll
Je eigen transformation tool bouwen!
Achter de schermen gebruiken alle bovengenoemde tools, zoals we eerder al zeiden, de programmeertaal Max. In deze paragraaf zullen we samen een echt bruikbare MIDI Transformation tool bouwen. Maar dit is wel een beetje een technisch verhaal en geen essentiële kennis om plezier te beleven aan deze nieuwe mogelijkheden binnen Ableton Live. Met wat we hierboven hebben besproken kun je al op fascinerende wijze muziek gaan maken en bewerken in Ableton Live. Maar mocht je het zelf knutselen niet uit de weg gaan, stroop dan nu even de mouwen op. We gaan er hierbij vanuit dat je enigszins de weg weet binnen Max.
Eerst even het idee. Als we harmonieën in onze piano roll invoeren, bestaan deze uit meerdere noten boven elkaar. Simpele akkoorden (triads) bestaan uit drie noten, maar we kunnen ook complexere akkoorden gebruiken, zoals een dominant septiem of een add 9. In veel gevallen is het interessant variaties op deze akkoorden uit te proberen, waarbij één of meerdere noten een octaaf hoger of lager gespeeld worden. In afbeelding 17 zie je wat we hier mee bedoelen: A#3 wordt A#4. Feitelijk nog steeds hetzelfde akkoord, maar het klinkt wel een stuk spannender dan wanneer we hetzelfde akkoord twee keer zouden spelen. Dit nu is iets wat we kunnen verwezenlijken in een MIDI Transformation tool.
Afbeelding 17: Eén akkoordnoot een octaaf lager spelen geeft al een gevoel van beweging
We gaan dus een eigen MIDI Transformation tool bouwen. Onder de Transformation tools-tab kiezen we voor Max MIDI Transformation en klikken op het kleine rondje linksonder. Dit opent Max met een blanco MIDI Transformation tool die nog niks doet. In afbeelding 18 zie je hoe we starten.
Afbeelding 18: Een blanco MIDI Transformation tool starten
Als het goed is start Max nu op en opent de blanco MIDI Transformation tool. Deze doet helemaal niks, door wat binnenkomt in een [live.miditool.in] direct weer door te sturen naar een [live.miditool.out]. Voor ons begrip is het interessant om te kijken wat er binnenkomt uit de eerste en tweede output van [live.miditool.in]. Dit zijn ‘dictionaries’. We kunnen twee [dict.view] objecten aanmaken en met de [live.miditool.in] verbinden. Dan kunnen we zien wat er op elk moment binnenkomt. Een ‘bang’ op de ingang van [live.miditool.in] is hetzelfde als wanneer we in Ableton Live op Transform zouden klikken, dus voor het bouwen van onze tool wel handig. In afbeelding 19 zie je hoe het er voor nu uitziet.
Afbeelding 19: Wat komt er binnen in onze MIDI Transformation tool?
De eerste dictionary krijgt een overzicht van alle geselecteerde noten, met voor elke noot informatie zoals pitch, duur en starttijd. De tweede dictionary is een meer globaal overzicht van de clip zelf. Hierin vinden we bijvoorbeeld informatie over het gekozen grid, de scale van de clip etcetara. Om onze tool te bouwen en dit artikel niet te ingewikkeld te maken, zijn we alleen geïnteresseerd in de pitch van elke noot. Deze willen we met enige willekeur af en toe 12 semitones lager of hoger maken. Dat betekent dus dat we de noten die binnenkomen langslopen en in iets gewijzigde vorm weer teruggeven aan Ableton Live.
De manier om dit voor elkaar te krijgen is via een [dict.unpack notes:]. Vergeet niet de dubbele punt achter notes.
Zoals je in afbeelding 20 ziet krijgen we van [dict.unpack notes:] een array terug met al onze noten. De grootte van de array hangt dus af van wat we op elk moment aan onze MIDI Tranformation tool als input geven. Dat kan één akkoord of een hele progressie zijn, die enkele maten duurt. Ik heb een message box achter [dict.unpack notes:] gehangen, zodat je kunt zien dat er een array als output uit volgt. Deze array kunnen we met een [array.map] object itereren. Dit kun je vergelijken met een ‘for-loop’ in heel veel andere programmeertalen. De middelste output van [array.map] geeft ons een element uit de array dat we naar hartenlust mogen wijzigen. Onze wijziging sturen we weer terug aan de rechter input van [array.map]. Daarna pas gaat het resultaat verder in de route door onze Max patch. Voor nu hangen we er even een [zl.reg] tussen die in feite niks doet. In afbeelding 20 zie je hoe het er voor nu uitziet,
Afbeelding 20: Onze MIDI Transformation tool doet nog steeds niks
Nu is het ook wel een goed idee om je Max patch op te slaan. Ik noem hem ‘Bax inverter’. Fysiek wordt het bestand als .amxd-bestand opgeslagen in:
~/Music/Ableton/User Library/MIDI Tools/Max Tranformations
…tenzij jij een andere locatie gebruikt voor je User Library natuurlijk.
In plaats van [zl.reg] gaan we nu een klein trucje uithalen. Uit de middelste output van [array.map] krijgen we in dit geval onze noot-informatie één voor één als dictionary-objecten aangereikt. Maar we zijn alleen geïnteresseerd in de pitch van elke noot. Die informatie krijgen we eenvoudig tot onze beschikking met een [dict.unpack pitch:], maar we moeten alle andere informatie weer teruggeven aan [dict.pack pitch:] daaronder. Als we dit niet zouden doen, zou allerlei cruciale informatie over de noten verloren gaan. Handig genoeg is de rechter output van [dict.unpack] een doorgeefluik voor alle dictionary entries die we willen negeren. De rechter input van [dict.pack] vangt deze ongebruikte entries weer voor ons op. In afbeelding 21 zie je deze verbinding duidelijk aangegeven. We printen de noten die we binnenkrijgen voor nu nog even met een [print] object naar de Max console om te zien of alles werkt.
Afbeelding 21: Onze MIDI Transformation tool doet nog steeds niks, maar we kunnen al wel zien dat de juiste noten binnenkomen
NB: Als je je afvraagt waarom we geen verbinding tussen de rechter output van [dict.unpack notes:] en de rechter input van [dict.pack notes:] hebben… goede vraag! Het antwoord is dat de dictionary die we krijgen uitsluitend uit notes-objecten bestaat. Met andere woorden, we negeren geen enkele entry van de dictonary die we aangereikt krijgen.
We werpen nu tot slot een dobbelsteen. De kans dat we niks doen met de noot is 1/3e, de kans dat de noot 12 semitones naar beneden gaat is ook 1/3e en de kans dat de noot 12 semitones omhoog gaat is ook 1/3e. Dat is misschien een beetje veel van het goede, maar voor nu een bruikbaar concept. In afbeelding 21 zie je onze werkende MIDI Tranformation tool. We tellen 0, -12 of 12 op bij elke noot die binnenkomt. Probeer het maar eens uit in Ableton Live. Vergeet niet eerst je Max patch te saven. Je kunt verschillende keren op Tranform klikken, en elke keer ontstaat er een ander notenschema in onze piano roll. Als er niks gebeurt, heb je waarschijnlijk geen noten geselecteerd.
Afbeelding 21: Onze MIDI Transformation wijzigt nu akkoordnoten!
Als je even met onze vers gebouwde tool werkt, merk je dat de situatie nog niet ideaal is. Er zijn twee problemen:
- Bestaande noten worden soms overschreven.
- We zouden het bereik van onze actie wat willen kunnen beperken in toonhoogte.
Het eerste probleem kunnen we ondervangen door te checken of we niet een noot gaan maken die al bestaat. Dan moeten we dus van tevoren een verzameling aanleggen van alle noten en controleren of we geen noot gaan overschrijven.
Het tweede probleem kunnen we ondervangen door een onder- en bovengrens aan te geven voor onze output. In afbeelding 23 zie je een enigszins bottebijl-methode om beide problemen aan te pakken met een heel groot ‘if … else’-statement. Je kunt de onder- en bovengrens als MIDI-noot-interfaces aanbieden aan de Ableton Live-gebruiker. Op zich werkt deze implementatie prima en kun je al best aardig experimenteren met willekeurige akkoordinversies. Maar als je de smaak te pakken hebt gekregen, kun je deze tool natuurlijk nog veel subtieler maken.
Dus
Nu weet je wat de nieuwe MIDI Generative en Transformation tools in Ableton Live kunnen. Dit zijn serieuze uitbreidingen van je muzikale mogelijkheden, die je ook niet snel zult terugvinden in andere DAW’s. Je hebt gezien dat je ook zelf dergelijke tools kunt maken met de programmeertaal Max. Maar ook zonder dat kun je nu op een heel nieuwe wijze melodieën, akkoorden en ritmes maken en bewerken. Heel veel plezier!
Hens Zimmerman (1967) groeide op in Afrika, waar hij al vroeg werd blootgesteld aan complexe ritmes. Na een jeugd vol bandrecorders en cassetterecorders is Hens tegenwoordig freelance post-productie-mixer voor heel veel televisieprogramma’s, podcasts en bedrijfsfilms. Zijn eigen podcast Zimmerman en Space kan rekenen op een vaste schare fans. Ook is hij beta-tester van Pro Tools en McDSP, reviewer bij Bax Music en liefhebber van Eurorack-modules.
Nog geen reacties...