Vibe code al je muziek instrumenten?

Het nieuws van Behringer waarin ze de Kick open source drum sampler aankondigen, en een dj systeem met hetzelfde idee, werd snel gevolgd door Akai met de aankondiging van de sample keys, en dat deze ook open source wordt. (Ongetwijfeld gaat dat ook gelden voor de sample). Het zette mij aan het denken.

We hebben natuurlijk ook al veel reversed engineering gehad op oude machines zoals de Akai S series samplers, tot aan niet zo oude machines van Elektron, allemaal voorzien van een nieuw OS of firmware.

Mooi toch, op het eerste gezicht is dit zo ongeveer de droom. Je bedenkt een functie of feature en je kan het toevoegen. Of je spot een bug en je kan deze eenvoudig verhelpen en delen met de wereld. Alles gaat straks zo veel sneller.

Het (Open source) bouwen van je eigen ideeën.

Maar was dit niet allemaal al mogelijk? Niemand die je tegenhield om je eigen instrument te bouwen, of dat nu een hardware sampler is of het maken van je eigen instrument in PureData, Supercollider of Max MSP en deze aansturen met een controller en het zo bouwen van een geheel eigen systeem.

Het was alleen altijd al best moeilijk om zoiets te doen, niet iedereen heeft de tijd en energie, of kennis om zo’n project aan te gaan. Het andere probleem is dat het bouwen van je eigen ideeën, leidt niet altijd tot het beste instrument voor jou. Je kan immers maar zoveel bedenken als dat je kader toelaat.

Zelfs al ben je een (software) engineer in je dagelijks leven dan nog heb je wellicht helemaal geen zin in het ontwikkelen van je eigen OS voor al je apparaten, laat staan firmware. Ook al is het sneller met behulp van vibe coding of model driven development.

Je wil. misschien gewoon een instrument oppakken en muziek maken, en de eigenaardigheden van dat instrument omarmen. Het werken met een machine bedacht door andere mensen geeft je wellicht heel andere ideeën dan wanneer je alleen met instrumenten werkt die je zelf gebouwd hebt.

Het is altijd al mogelijk geweest om dit te doen, maar niet zo heel veel mensen hebben de overvloed aan energie om ervoor te gaan.

Het ontwerp is belangrijk, en moet integraal zijn

Veel instrumenten beginnen met een bepaalde ontwerp esthetiek, een werkwijze die erachter zit of een ander centraal uitgangspunt. Met hardware gaat het niet alleen om het bouwen van een mooie doos met knopjes, het nadenken over hoe dit alles gaat samenwerken met de software is erg belangrijk in het succes van het idee. Het zijn geen 2 gescheiden werelden.

Als de layout goed ontworpen is, toch is de combinatie met de software wat een machine goed laat zijn, en dat gaat verder dan alleen het bouwen van functies. Je moet vooruit denken bij het ontwerp van de hardware, en het moet passen in de filosofie achter de machine. Anders heb je eigenlijk een controller met een lege computer er in en moet je maar zien.

Dus waar deze ontwikkelingen erg leuk en goed lijken zo op het eerste gezicht, kan dit zomaar uitmonden in een berg doosjes met een halfbakken OS waar ook in de toekomst geen ontwikkeling in zit vanuit een uitgangspunt of filosofie. En is de hoop dan dat de gebruikersgemeenschap dit gat zelf gaat invullen. Een nogal grote gok.

Hoeveel mensen willen niet gewoon muziek maken in hin vrije tijd zonder zich te bemoeien met deze “vrijheid van open source”, ook al kan je het hele gebeuren vibe coden?

Ondermijnd dit niet het hele concept van het bouwen van goed doordachte instrumenten gericht op muziekanten die gewoon een instrument willen leren gebruiken en muziek gaan maken. Willen we deze vermeende vrijheid wel? Limieten zijn een mooi onderdeel van het creatieve proces, en brengen ideeën vaak net zo goed vooruit als oneindig veel mogelijkheden.

Waarom dan wel?

We kennen allemaal het gevoel van het kopen van een instrument en dan vastlopen in bugs, functies die niet af zijn en als geheel niet af aanvoelen. En dan hopen dat met de tijd deze zaken verholpen worden door nieuwe en verbeterde software. Sommige bedrijven zijn hier goed in en ander minder. Dit kan natuurlijk erg frustrerend zijn en zeker als je bezitter bent van producten die niet af zijn en uiteindelijk niet meer worden gemaakt. Je zou kunnen beargumenteren dat open source dit kan oplossen.

Aan de andere kant, bedrijven kunnen hun eigen processen al verbeteren door datzelfde AI toe te passen en de software beter op te leveren en sneller op te lossen. Dus waarom de moeite doen dit via open source op te lossen.

Minder is meer

Terug naar de voordelen, meer functies. Waarom laten we niet iedereen werken aan eigen ideeën en functies, zo kunnen we er allemaal van profiteren. Het behouden van een graad van integriteit aan het originele idee, doel en ontwerp van een instrument betekent ook dat je sommige functies juist niet wil toevoegen. Sommige van deze verzoeken zitten de werkwijze en het idee van het ontwerp dan gewoon veel te veel in de weg. Minder is dan gewoon meer. We hebben allemaal software zoals Ableton waar we slechts een deel van gebruiken.

Er is een reden dat niet iedereen vol gaat voor open ended systems als Max MSP, Supercollider of PureData. Het is teveel, te veel opties, teveel ideeën die in een systeem gepropt kunnen worden als je niet oplet. Ontwerp is ook beheersing. Iets ontwerpen met limieten zodat mensen juist daarmee creatief kunnen zijn.

Als je iets wil ontwerpen dat vol zit met functies speciaal voor jou, dan kan dat, dat kon al en kan wellicht nu nog beter in de tijd van AI. Dus waarom zouden fabrikanten ineens alles met als uitgangspunt open source, moeten gaan bouwen.

Bouw het zelf! Vanaf nul

Ik ben zelf een groot voorstander van open source, en het bouwen van je eigen gereedschap, en het ontwerpen van mooie dingen. Zeker nu is dat meer toegankelijk dan ooit. Met de voordelen van AI, workshops, printing en het kunnen doen van kleine productie runs. Maar het blijft moeilijk, je moet aan je vaardigheden werken, het bouwen van een ontwerp filosofie en het zetten van limieten op een gegeven moment. Als je dat wil doen, dan kan dat.

Maar voor het pure plezier van het maken van muziek, is het voorhanden hebben van een paar goed gebouwde en ontworpen instrumenten de weg om te gaan. Dus hebben we bedrijven nodig die een eigen ontwerp filosofie hebben, en het harde werk doen van het ontwikkelen, onderhouden en verder brengen van deze ideeën. Anders zitten we straks allemaal vast in ons eigen hoofd en ik denk dat er dan wel eens een heel stuk minder toffe instrumenten uitkomen als we alles in een vroeg stadium laten gaan en niet meer bereid zijn het harde werk te doen.

Leren programmeren, nog steeds relevant?

Mijn reis in computerland begon met programmeren, wat toch wel essentieel was voeger als je wilde dat je computer iets deed. Zeker als geld een belemmering was en je wilde iets wat niet direct voorhanden was. Software was duur. Het was de start van een fascinatie voor technologie, techniek en wetenschap. Het maken van dingen is vaak toch een soort magie. Althans voor mij. Zeker het maken van dingen uit het (schijnbare) niets. Heden ten dage, is er heel veel goede software ook gratis voorhanden. Of tegen acceptabele prijzen. 

Veel mensen gebruiken gewoon software zonder zich af te vragen hoe je dit zou moeten bouwen of hoe zoiets tot stand komt. En zo komen ze nooit in aanraking met een enkele regel code. In dit nieuwe AI tijdperk kan je code schrijven zonder er ook maar iets vanaf te weten. Of het nu code is of andere technische achtergrond. Het lijkt niet meer nodig te zijn. De vraag is waarom zou je je code schrijven (of andere technische vaardigheden) jezelf nog aanleren en eigen maken? Is het leren van deze vakgebieden nog relevant?

Is er nog een noodzaak om te leren programmeren?

Met alle nieuwe technologie is er altijd een groep mensen die waarschuwen voor een achteruitgang van kennis in het vakgebied waarin de nieuwe technologie zijn intrede doet. Ooit in tijden toen de hogere level programmeertalen in opkomst waren was men bang dat software bouwers niet meer zouden weten hoe computers op een lager niveau werken. Dit zou leiden tot inefficiënte code die traag zou zijn en veel te groot. Maar achteraf had dit meer te maken met More’s law. Al de nieuwe kracht die ieder jaar uitkwam gaf ruimte aan wat luier gedrag op het gebied van efficiënte code. Maar de tijd ging vooruit en deze thema’s kwamen vanzelf weer terug. 

Ditzelfde is waar voor het schrijven van code als vak, als vaardigheid. Als je iets wil bouwen is domein kennis erg belangrijk, ook nu al. Dus nu kan iemand met domein kennis, zonder enige programmervaardigheden op zijn minst een goed prototype bouwen. Of zelfs een prima eerste productversie. Maar daarna, heb je toch al snel software ontwikkelaars nodig om het product verder te brengen, en als je als ontwikkelaar ook nog domein kennis hebt is dat helemaal mooi. JE loopt toch als snel aan tegen zaken als schaalbaarheid, implementatie van nieuwe ideeën en het onderhouden van het product, hier zijn specialisten nog altijd nodig. Een basiskennis programmeren brengt je maar zo ver. Diepe kennis van programmeren of welke technisch beroep dan ook is nog steeds erg belangrijk. Wellicht wel belangrijker dan ooit in dit nieuwe tijdperk.

Hoe belangrijk is kennis van het schrijven van code?

AI kan heel veel, zeker logische en procesmatige dingen zoals het schrijven van code en allerlei taken daar omheen. Dus waarom zou je de moeite nog nemen om dit te leren. Het antwoord is eenvoudig. Het is belangrijk om een diep begrip en gevoel te hebben bij taal om goed te communiceren. En echt te kunnen overbrengen wat je wil bereiken. De enige manier om dat te kunnen is een goed taalgevoel te hebben, en kennis van hoe de taal in elkaar steekt. Maar de belangrijkste factor is de lol die je uit het schrijven van code kan halen. Het plezier van het schrijven van iets dat werkt, het opsporen van de bug die er al tijden in zit en het ervaren van de “flow state” tijdens het schrijven. De beloningen zijn er. Dit kan allemaal alleen bereikt worden als je zelf de code schrijft. Het is ook een hele mooie uitdaging. Het leert je om op een bepaalde manier te denken en het vergroot je oplossend vermogen, het werken aan oplossingen en het plezier van het bouwen van dingen. Kan AI al deze dingen ook en ook nog eens sneller. Jazeker, maar het kan je niet de vreugde geven van het leren van iets nieuws, of de blijvende uitdaging bieden van het leren van moeilijke dingen. Het traint je brein en maakt groei mogelijk. Wat dan ook leren is erg belangrijk en leren programmeren is een uitstekende keuze. Ga er gewoon voor.