Alle projecten
Een kleine studio, twee producers aan één laptop met een pad-controller en een arrangementvel.
Experiment

Hiphopbeats maken in de browser

Met Google Lyria RealTime als oneindige platenkast: het model maakt de plaat, jij samplet.

Product
GROOVE
Route
Ontdekken wat AI kan
Onderwerp
Generatieve mediaAIGereedschap voor makers
Platform
Web
Jaar
2026

Sampling begint bij spitten: uren platen doorspoelen tot je twee maten hoort die niemand als hook had bedoeld. Sinds er modellen zijn die muziek stréámen in plaats van afleveren, kan die plaat ook ter plekke ontstaan. GROOVE zet het model op de plek van de plaat: drums en bas rendert hij lokaal en deterministisch, en het enige dat een model maakt is het materiaal waar je in gaat knippen.

Gebouwd met
  • Web Audio API
  • Lyria RealTime
  • TypeScript
  • Vite
  • WAV 16-bit PCM
  • MIDI
  • Playwright
Cijfers

In het kort

platen in de kast
402
digging grounds, zeven schappen
34
tests op een verse browser
71
per gegenereerde plaat
35 s
toonsoorten geraden
0
De opgave

Wat er lag

Sampling begint bij spitten: uren platen doorspoelen tot je twee maten hoort die niemand als hook had bedoeld. Er zijn nu modellen die muziek stréámen in plaats van afleveren, dus die plaat kan ook ter plekke ontstaan. De opgave: het model op de plek van de plaat zetten en al het andere bij de mens laten. Drums en bas lokaal en deterministisch, en alleen het bronmateriaal uit Lyria RealTime.

Hoogtepunten

Drie details die het verschil maken

Schermen

Het product in drie schermen

  • De sampler van GROOVE: de rijen Kick, Bass en Hi-hat met hun stappen in rood, paars en geel, daaronder het lied als rij van acht plaatsen, en onderaan de afspeelknop met het tempo.
    De sampler: elke stem een rij, elke stap een blokje in zijn eigen kleur, en het lied altijd in beeld.
  • De kast van GROOVE: links de crates met All samples, een nieuwe crate en de digging grounds per schap, met per plaat de naam en het aantal samples.
    De kast: de digging grounds per schap, en elke plaat die het model heeft gemaakt als sample die je kunt knippen.
  • Vier stemmen onder elkaar in GROOVE, met de bas opengeklapt: zeven bewegingschips en vier knoppen voor volume, diepte, growl en dichtheid.
    De bas opengeklapt: zeven bewegingen en vier knoppen. Je kiest een beweging, geen noten.
Het verhaal

Hoe het is gemaakt

De crate is niet meer eindig

De SP-1200 en de MPC hebben een generatie iets geleerd wat je nergens anders leert: een plaat is grondstof. Sampling is geen kopiëren maar hóren: twee maten uit een intro die niemand als hook had bedoeld, en dan het geduld om ze te vinden.

Wat er veranderde: er zijn nu modellen die op vraag muziek stréámen. Lyria RealTime levert geen liedje van drie minuten met een intro en een refrein af, maar blijft muziek maken zolang je de verbinding openhoudt. Het is geen jukebox maar een kraan.

De vraag van dit experiment is dus niet of AI een beat kan maken. Dat kan hij, en het resultaat is meestal niemands beat. De vraag is wat er gebeurt als je het model op de plek van de plaat zet, en al het andere bij de mens laat.

Het model maakt alleen de plaat

We begonnen andersom, want dat leek logischer: laat een model een hele beat maken en trek hem daarna uit elkaar. Dat werkte niet, en het faalde op een leerzame manier: je krijgt iets dat klinkt als een beat, maar je hebt er geen enkele greep op. Verander één ding en alles verschuift mee.

Dus draaiden we het om. In GROOVE worden drums en bas lokaal gerenderd: jouw patroon, jouw kit, deterministisch, elke keer hetzelfde. Het enige dat een model maakt is de gesamplede plaat.

Die beperking is de reden dat het werkt. Je houdt de controle over het ding dat je aan het maken bent, en het model doet het ene dat een mens niet in dertig seconden kan: een plaat laten bestaan die nog nooit bestond.

Het model is niet de producer. Het is de plaat.

Vraag om een plaat, niet om een genre

Vraag een model om “boom bap” en je krijgt iets: een stijve loop, het gemiddelde van alles wat ooit zo genoemd is. Vraag om de textuur (warm bandgeruis, een kamer die je hoort, mono, opgenomen alsof het 1972 is) en je krijgt materiaal waar je iets mee kunt.

Toen deden we de meting die het pijnlijkst was, want de fout lag bij ons: we hebben onze eigen recepten geteld. Eenentwintig van de eenentwintig beschrijven textuur. Vijftien vragen expliciet om géén akkoorden en géén melodie. Nul vragen om iets zingbaars.

En de woordenlijst waarmee we het model aanstuurden had een blinde vlek die je pas ziet als je telt: acht van de tien genoemde platen waren Angelsaksisch. De woorden wezen dus naar dezelfde bak waar iedereen al in graait. Daar staan nu vierendertig digging grounds tegenover, over zeven schappen: India en Pakistan, Anatolië en Perzië, Zuidoost- en Oost-Azië, Afrika, Latijns-Amerika, Europa, en de rare planken.

Elk digging ground draagt zijn eigen materiaalbeschrijving mee, want een genrenaam is een sterke instructie voor een model dat hem kent en niets voor een model dat hem niet kent. Dus reist de beschrijving mee met de naam.

Alles moet stapelen, op één grid

Hier zit het echte werk, en het is het werk dat een sampler altijd al deed, alleen nu op materiaal dat vijf seconden oud is. Een plaat komt terug als een mix, in een tempo dat het model heeft gekozen, en die moet op jouw grid komen te liggen.

Eén val kostte ons een middag en is het onthouden waard: een loop kan zichzelf niet crossfaden. Voor een onhoorbare naad heb je de audio ná het venster nodig; vouw je het venster op zichzelf, dan versterk je juist de klik die je wilde wegwerken.

Tempo, fase en downbeat liggen daarom vast op het moment dat een plaat de kast in gaat. Daarom stapelt later alles: drums, bas, break en sample staan op hetzelfde grid, en niets daarvan berust op hoop.

De liedbalk van GROOVE: acht plaatsen naast elkaar, elk vier maten, met per plaats een cijfer dat aangeeft welke loop daar staat.
Het lied is een rij plaatsen van elk vier maten. Een helder cijfer betekent dat die loop daar geplaatst is, een zacht cijfer dat de plaats de vorige doordraagt. Zo lees je de vorm van je nummer zonder één label te lezen.

Eén scherm, en het lied staat er altijd

Alles hierboven zou niets waard zijn als het gereedschap niet als gereedschap voelt. Dus: één scherm. Boven de stemmen (kick, bas, hi-hat, de plaat die je net hebt laten maken), onder het lied, altijd zichtbaar.

De onderste rij van je toetsenbord is een pad per drumstem, op fysieke toetspositie, zodat een Belgisch toetsenbord dezelfde pads speelt. Een reeks aanslagen landt als één stap in het patroon.

En er is een uitgang, want dit is geen gesloten doosje: de mix als WAV, elke stem apart als stems in één zip, en de patronen als MIDI. GROOVE maakt de loop; FL Studio of Logic maakt de track af.

Dezelfde app op een telefoon: de vier stemmen onder elkaar, de rijen gebroken naar twee regels en het lied als lade onderin.
Dezelfde app op een telefoon: de vier stemmen onder elkaar, de rijen gebroken naar twee regels en het lied als lade onderin. Eén scherm, ook daar.
Geleerd

Wat we eruit hebben geleerd

  1. 01

    Een leeg veld is ook een resultaat. We wilden de toonsoort van elke gegenereerde plaat weten, zodat een baslijn er vanzelf onder past. De detector die we bouwden haalde het niet, en dus staat het toonsoortveld leeg op alle 402 platen in de kast. Een getal dat je niet kunt vertrouwen is erger dan geen getal, want er komt gegarandeerd een baslijn overheen.

  2. 02

    Bouwen met een model erin verleidt tot zelfbedrog, want er komt altijd géluid uit. De enige remedie die wij hebben gevonden is meten, en het meetgereedschap net zo serieus nemen als het product: eenenzeventig tests die op een verse browser klikken, slepen en typen, en die het resultaat op de bytes controleren.

  3. 03

    Controleer ook je meetopstelling zelf. Onze tempo-meting scoorde zes van de zes op zelfgemaakte toontjes en zeventien procent op echte platen. Sindsdien geldt: een synthetische test bewijst niets over de werkelijkheid.

  4. 04

    En de sleutel. Een generatief model draait op een sleutel, en een browser-app heeft geen geheime plek: wat je in een build-variabele zet, staat in het bestand dat iedereen downloadt. De build faalt daarom zelf zodra er iets sleutelvormigs in de uitvoermap staat.

Ontwerp

Letters en kleuren

Letters
Interface
InterRegular en medium voor alle tekst; de app is donker, dus de letter mag licht zijn.
Waarden en labels
JetBrains MonoVoor het tempo, de maten en alles wat een getal is, zoals in elke sampler.
Kleuren
  • Paneel
    #0a0a0d
    de achtergrond: een studio is donker
  • Kick
    #ff453a
    de rij van de kick
  • Snare
    #ff9f0a
    de rij van de snare
  • Hi-hat
    #ffd60a
    de rij van de hi-hat
  • Bas
    #bf5af2
    de rij van de bas
  • Inkt
    #ffffff
    tekst, op 95 procent
  • Elke stem heeft één kleur en houdt die overal: in de rij, in de chips en in het lied. Zo lees je de vorm van een nummer zonder één label.
  • De vier kleuren zijn de systeemkleuren van iOS in de nachtstand, zodat de app op een telefoon in de studio niet vloekt met het systeem.
  • De waarden komen uit de CSS van de app, 7 september 2026.
Techniek

Waar het van gemaakt is

  • Geluid
    • Web Audio API
    • Deterministische drums en bas
    • Eén grid

    Tempo, fase en downbeat liggen vast zodra een plaat de kast in gaat; daarom stapelt later alles.

  • Model
    • Lyria RealTime
    • 402 platen
    • 34 digging grounds

    Het model maakt alleen de plaat; het knippen, de drums en de bas blijven bij de mens.

  • Bouw
    • TypeScript
    • Vite
    • Statische export

    Een browser-app heeft geen geheime plek, dus de build faalt zelf zodra er iets sleutelvormigs in de uitvoer staat.

  • Uitgang
    • WAV 16-bit PCM
    • Stems in één zip
    • MIDI

    GROOVE maakt de loop; FL Studio of Logic maakt de track af.

  • Kwaliteit
    • Playwright
    • 71 tests op een verse browser

    Klikken, slepen en typen, en het resultaat op de bytes controleren; een synthetische test bewijst niets over de werkelijkheid.

Verdieping

Voor wie verder wil lezen

Waar het nu ophoudt

Vijfendertig seconden is nog geen real-time.

Vijfendertig seconden is nog geen real-time. De stream is real-time; de plaat is dat pas als je hem hebt, en eenendertig van die seconden zijn simpelweg muziek die moet klínken voordat je hem kunt knippen.

One-shots komen niet uit dit model. Een losse hit knip je niet uit een mix, want alles in die mix zit in die hit. De kit blijft dus samengesteld uit echte, geselecteerde samples tot er een route is die niet honderden generaties per stem kost.

Wat we nog niet hebben geprobeerd en wat het spannendst is: het model laten luisteren naar wat er al ligt. De aanvraag draagt nu al de kamer mee: een dunne beat vraagt om iets dat de ruimte vult, een volle beat om iets dat wegblijft.

Het exportvenster van GROOVE: de keuze tussen de loop en de hele track, de formaten WAV, stems en MIDI, en de speakercheck met earbuds, autoradio, wekkerradio en stadion.
De brug naar een echte DAW. MP3 en FLAC staan er eerlijk grijs bij, zonder encoder, want dat is een beslissing die we nog niet genomen hebben, en geen vinkje dat we vergaten aan te zetten.

Maakt AI hier de beat?

Nee. Drums en bas worden lokaal en deterministisch gerenderd, jouw patroon en jouw kit. Het model maakt alleen de plaat waar je in knipt.

Hoe lang duurt een plaat?

Vijfendertig seconden, waarvan eenendertig gewoon muziek is die moet klinken voordat je hem kunt knippen. Real-time is de stream, niet de plaat.

Kan ik het in mijn DAW gebruiken?

Ja: de mix als WAV, elke stem apart als stems in één zip, en de patronen als MIDI. MP3 en FLAC staan er grijs bij, zonder encoder.

Waarom staat de toonsoort leeg?

De detector die we bouwden haalde het niet, en een getal dat je niet kunt vertrouwen is erger dan geen getal, want er komt gegarandeerd een baslijn overheen.

Kan ik het proberen?

Het is een experiment en het staat niet online. Wil je het zien, dan laten we het zien in een videocall.

Meer werk

Lees ook

De oprichter van een filmstudio voor de ledwand met een zonsondergang, een laptop onder zijn arm.

Een halfuur gratis sparren over jouw digitale idee?

Waar loop jij tegenaan in je bedrijf? Wat kan beter? Wat kan sneller? Wat gaat nog met de hand en moet nodig geautomatiseerd worden?

  • Een halfuur sparren over jouw idee, gratis
  • Je weet direct welke route je nodig hebt
  • Ruwe inschatting over de prijs en het aantal weken
Wat is jouw idee?

Een alarm op onze spreadsheet dat appt zodra een getal buiten de marge valt.

administratiekantoor, Sneek

Alexander Kaan, zwart-witfoto.

Vertel me je probleem, je geniale idee of stel gewoon wat vragen!

Alexander Kaan · Product Designer