Eén dag, twee Claudes, negen jaar muziek
Negen jaar muziek terug naar huis, 13.651 tracks door de analyse, een Mac mini die blaast. Vooronderzoek voor een eigen AI-radio. Gewoon omdat we van deze muziek houden.

Figure 01.0 — Eén dag, twee Claudes, negen jaar muziek
Perfectmoods (ons eigen webradio station) draait sinds 2017. Al die jaren gehost door RadioKing een Frans bedrijf. Vrij 'ja' Handige dashboardsoftware, apps die we zelf konden publiceren, een stream die gewoon werkte, dagelijks playlist genereren..... Daar is niks mis mee. Maar ik wil meer, maar echt veel meer nu! Meer eigen, en meer gedreven door de muziek zelf en de stijl die we elke dag serveren. Nu weet de radio niet wat hij draait. Hij speelt playlists af, die we handmatig genereren. Welk nummer rustig is, welk nummer groove heeft, waar gezongen wordt: dat zit in ons hoofd, niet in het systeem. Dit is vooronderzoek. En dat begint bij de data. Onze data.
Die muziek komt ergens vandaan. Ik verzamel al jaren lounge, house en chill. Op vinyl, en vooral op cd. Honderden cd's heb ik in de loop van de jaren omgezet naar mp3. Daaruit is dit station opgebouwd. Een deel van de collectie staat op Discogs, onder perfectmoods.
Maar vooral in mijn jaren als ‘dj’ groeide mijn liefde voor lounge en chill, en dan met name voor de muziek uit de periode van 1998 tot 2010. Dat waren voor mij de gloriejaren van het genre: muziek die ontzettend goed en met gevoel werd geproduceerd. Monte La Rue, die nog steeds nieuwe muziek uitbrengt, de sound van Supperclub en het Ibiza-geluid uit die tijd: ik hou ervan.
RadioKing heeft geen exportknop. Wel een API, per track. Dus schreef Claude in de chat een opdracht, en bouwde Claude Code op de Mac mini een downloadscript om de 13.651 tracks gecatoriceerd binnen te halen. Rustig, met pauzes tussen de downloads en een backoff die verdubbelt bij fouten. Hervatbaar, zodat een verlopen token of een herstart niets kapotmaakt. Eerst een proef op een kleine set, daarna de volle run onder caffeinate, zodat de Mac niet in slaap valt. Om kwart voor twaalf ging hij lopen. Om half vier was zo'n 40% binnen. Map per playlist: Monday, Tuesday, Monday Morning, Friday.
Binnenhalen is stap één. Verrijken is stap twee. Een tweede Claude Code haalt elk nummer door Essentia, open-source audio-analyse, met Discogs-EffNet-modellen erbovenop. Per track komen er waarden uit voor stijl, dansbaarheid, zang of instrumentaal en stemming. Alles gaat een SQLite-database in. Per nummer, per playlist.
De eerste uitslag klopte niet. Het ML-model gaf bijna alle lounge een 0,9 tot 1,0 voor dansbaarheid. Jaffa net zo dansbaar als Atjazz. Dat hoor je gewoon niet zo. De klassieke Essentia-meting deed het wel goed: Jaffa rond 1,3, Atjazz rond 2,2. Die komt er nu naast als aparte groove-kolom. Handig voor het uptempo-blok tussen vier en zes.
Nu gaat de maandag (selectie tracks) erdoorheen. Bijna 2.000 nummers, een paar seconden per track. De Mac mini blaast. Je hoort hem in de kamer.
Van een eigen radio software en of AI station zijn we nog ver weg, tenminste dit is de eerste data opschoning en verrijking. Het plan staat: een eigen server met AzuraCast en een AI-curator die programmeert op moment van de dag.
Maar dat bouw je niet op playlists. Dat bouw je op data. Die halen we nu binnen en maken we rijker, nummer voor nummer. Chat denkt en controleert. Claude Code doet het werk. Mijn oor beslist.
Perfectmoods in cijfers
13.651 tracks, 1.083 uur muziek
Sinds januari 2022: ruim 2,7 miljoen uur geluisterd, verdeeld over 2,4 miljoen sessies
Gemiddeld zo'n 500 luisteraars per dag
Luisteraars uit ruim 200 landen. Nederland voorop (28%), dan Duitsland (12%) en de VS (8%)
's Middags wordt het meest geluisterd (32%), 's ochtends bijna evenveel (30%)
13% van de sessies duurt langer dan twee uur
Waarom eigenlijk??
Er zit geen verdienmodel achter. Geen reclame, geen abonnement, geen plan (nog) om er ooit iets aan te verdienen. Er is nooit iets aan verdiend en dat hoeft ook niet. Perfectmoods is er omdat we van deze muziek houden. Omdat een goed nummer op het juiste moment je dag beter maakt. En omdat het leuk is om te zien dat iemand in Duitsland, Japan of parijs op hetzelfde moment luistert naar een cd die ooit in onze kast stond, of lekker chill muziek die klopt.
Alles wat Claude en ik nu bouwen is daarvoor. Een radio die de muziek beter kent, zodat hij haar beter kan draaien.
Vanavond rond zeven uur is maandag klaar. Dan luisteren we verder. Echt vet wat ik wil maken, en denk dat dit het echte eerste AI gedreven radiostation word die 'onthe fly z'n stem, promo's en muziek op het weer lokaal kan afstemmen....
Word lagge, blijf me volgen want grootse plannen en veel tijd.
Buma: 2260114 | Sena: 80883623
ENDOOR — Peet (& Claude)


