Menu overslaan
MuziAI

Waarom AI-covers rasperig klinken, en hoe we dat maten

Waarom kraakt een AI-cover? Echte metingen uit de stempipeline van MuziAI: misleidende meetlatten, ruwe samples die doorwerken, en 12 tegen 24 seconden.

Door het MuziAI-team. De cijfers komen uit metingen die we zelf hebben gedaan tijdens het bouwen van MuziAI; de conceptteksten zijn met hulp van AI geschreven en elk cijfer is gecontroleerd aan de hand van onze meetlogboeken. Bijgewerkt op 13 oktober 2026.

Als je een nummer omzet naar je eigen stem (een AI-cover), klinkt het resultaat soms rasperig, krakerig, in kleine stukjes gehakt. We hebben dit in veel testrondes uitgezocht en zagen onderweg minstens negen van onze eigen meetlatten sneuvelen. Het korte antwoord: het gekraak dat elke fix overleeft, zit in de stemsample die je uploadt. De converter kopieert de ruwheid ervan, filteren kan die niet verwijderen, en een betere sample is de enige remedie.

Close-up van een studiomonitor in zacht licht
Close-up van een studiomonitor in zacht licht

De eerste meting zei “vals”, en die klopte niet

De pipeline heeft drie stappen: een zangscheider haalt de zang uit de mix, een stemconverter zet de klankkleur van je sample erin, en de nieuwe zang gaat terug over de originele begeleiding. De meeste metingen hieronder zijn gedaan met de eerdere zero-shot-converter, die geen training nodig had; voor “mijn eigen stem” traint de site nu voor elke taak een klein, tijdelijk stemmodel en verwijdert dat binnen 24 uur.

Onze eerste controle was de correlatie van de toonhoogte tussen de originele zang en de nieuwe: 0,722, wat leest als “de machine zingt verkeerde noten”. Bij nader inzien was de mediane afwijking 0,00 halve tonen, de MAD 0,10, en waren 33 van de 1.197 frames (2,8%) precies één octaaf versprongen, een klassieke fout van de toonhoogtevolger en geen zangfout. Laat je die frames weg, dan is de correlatie 0,994. Sindsdien rapporteren we toonhoogte als mediane afwijking, MAD en het aandeel frames binnen ±1 halve toon (92,6% bij het eerste testnummer).

Les twee: de converter is willekeurig. Draai je dezelfde instellingen vijf keer, dan schommelen de resultaten over een bereik van 0,064, groter dan het verschil van 0,046 tussen de vijf kandidaatstemmen die we vergeleken. Elke vergelijking waar we conclusies uit trekken, draait daarom nu minstens vijf keer per variant. De “σ”-cijfers hieronder zijn verschillen in standaardafwijkingen.

Hoe “rasperig” eruitziet als je het meet

Je kon het hakkelen horen, maar drie eerdere maatstaven zeiden allemaal “niets aan de hand”: 0,0% van de frames verloor de stem, amplitudediepte 3,17 dB (een menselijke zanger: 3,13), geen sprongen in toonhoogte. Het geluid was luid genoeg en zuiver, maar de harmonischen waren uiteengevallen in ruis. Periodiciteit vangt dat:

Frames die periodiciteit verliezenSpectrale vlakheid
Originele zang35,0%0,0047
Na stemconversie47,7%0,0148 (3,1× hoger)

Een deel ervan is ruis: de golfvormgenerator voegt 5 tot 7 dB toe boven 8 kHz. Bij een bron die bij 16 kHz is afgekapt, zat de band van 16 tot 20 kHz in de uitvoer op −23,2 dB, tegenover −38,7 voor een echte menselijke stem: 100% verzonnen, en te verwijderen.

Het gekraak bleef echter. De fonetiek meet een ruwe, korrelige stem met jitter (hoeveel opeenvolgende trillingen van de stembanden in lengte verschillen) en shimmer (hoeveel ze in amplitude verschillen). De drempel voor een normale stem in de analysetool die we gebruiken, is 1,04% jitter. Geen van onze eerdere maatstaven kon het zien.

Werkt een rasperige sample door in de cover?

Eerst zeiden we ja, daarna namen we het terug. Een telefoonopname van de bouwer van de site zelf had 2,8 keer zoveel envelopschommeling als een schone gezongen sample, maar met hetzelfde nummer en alleen een andere sample liet de envelopmeting zien dat de uitvoer maar 10% slechter was. Die meting volgt schommelingen in luidheid, niet de variatie van trilling tot trilling.

Gemeten met jitter draaide het beeld om: de schone sample gaf een uitvoer van 0,92%, de telefoonsample 1,67% (+81%, 18,3σ). De telefoonsample zelf had 2,27% jitter en 11,0% shimmer, ingebakken in de opname (half gesproken voordracht, korrelige zinseinden, een telefoonmicrofoon). Compressie was niet de schuldige: codering op 30 kbps bracht een schone sample maar van 1,03% naar 1,10%. Scheiding ook niet (+4% schommeling, 1,3σ), en galm evenmin (+5%, 2,3σ). De converter kopieert de stemkwaliteit van de sample.

Op dezelfde dag gingen twee andere conclusies op dezelfde manier mis. Een guidance-instelling ging voor elke sample naar 0 omdat die bij een schone sample de ruis met 43% verminderde, maar de jitter steeg erdoor met 15% (6,5σ). Een patch voor gaten in de toonhoogte werd afgewezen omdat de meting voor wegvallers het ruis noemde, terwijl jitter liet zien dat de patch met 3,7σ won. De regel: een maatstaf die voor probleem A is gebouwd, heeft niet het recht een fix voor probleem B te beoordelen.

InstellingenJitter, schone sample (%)Jitter, telefoonsample (%)
Guidance 0, geen patch1,0341,718
Guidance 0, patch voor toonhoogtegaten0,9591,617
Guidance 0,3, patch voor toonhoogtegatenniet gemeten1,439
Guidance 0,7, patch voor toonhoogtegaten0,866 (twee keer zoveel ruis)1,398

Wat er live ging: een sample van 24 seconden samenstellen uit de minst rasperige stukjes van één seconde (uitvoer 1,718 → 1,580%, 3,6σ), gaten in de toonhoogte dichten, en guidance 0,7 gebruiken voor samples van gebruikers. Een volledige run met de telefoonsample ging van 1,50% naar 1,26% jitter, shimmer van 7,89 naar 5,29, HNR van 17,8 naar 19,4 dB, ten koste van een conversiestap die ongeveer 50% trager is.

En hier ligt het plafond. Die sample had maar 29 seconden zang en de pipeline heeft er 24 nodig, dus de selectie kon alleen de 5 slechtste stukjes laten vallen (2,14 → 1,96%). Het beste stukje mat nog steeds 1,37%, ruwer dan de mediane schone zangstem (0,94%). De machine kan geen helderheid verzinnen die de sample nooit had. Daarom meet de site nu bij het uploaden de ruwheid van de sample en waarschuwt vanaf 1,5%: de telefoonsample meldde na ongeveer 11 seconden 2,13%, terwijl een schone gezongen sample van 24 seconden 0,96% meldde en geen waarschuwing gaf.

12 of 24 seconden sample?

De site knipte samples oorspronkelijk tot 12 seconden omdat langere samples trager zijn: bij hetzelfde nummer van 247 seconden kostte de conversie met een sample van 20 seconden 253 seconden, met een ingekorte van 12 seconden 162 seconden (−36%). De bewering dat “een langere sample niet meer op je lijkt” was afgeleid uit de architectuur en nooit gemeten. Dus maten we het, vijf runs per variant, en beoordeelden we de gelijkenis op een stuk van de stem van de zanger dat in geen enkele sample zat (0,750 betekent niet omgezet, 0,866 is dezelfde persoon in een andere passage):

Lengte · startpuntGelijkenisSpectrale vlakheid
6 s · seconde 00,7470,0287
12 s · seconde 00,7620,0298
12 s · seconde 120,7950,0114
18 s · seconde 00,7660,0373
24 s · seconde 00,8040,0188
24 s · seconde 200,8310,0148
28 s · seconde 00,8100,0235

Elk venster van 24 seconden won op gelijkenis van elk venster van 12 seconden, en het startpunt telt net zo zwaar als de lengte. Bij de telefoonsample bracht de stap van 12 naar 24 seconden de gelijkenis van 0,684 naar 0,747 (6,8σ), terwijl het gekraak bleef. Een langere sample lost “klinkt het als mij” op, niet het gekraak. Een heuristiek voor het beoordelen van samples die we hadden gebouwd, rangschikte de vensters van 24 seconden in omgekeerde volgorde van de echte resultaten, dus die hebben we weggegooid.

Grenzen en open vragen

  • Vietnamees komt er ongeveer drie keer slechter uit dan Engels: 2,9% van de frames verliest stem tegenover 1,0% (ruisbereik 0,7 procentpunt). Medeklinkers worden verwisseld: «Gà gáy vang trời» werd «cáo kẽ vang trời», «hỏi» werd «khỏi». Nog niet opgelost.
  • Achteraf filteren helpt niet: de uitvoer ontruisen maakte de vlakheid slechter, en karaokescheiding plus galmverwijdering verlaagde de gelijkenis met 0,028. De ruwheid zit in de harmonischen die de machine genereert, niet erbovenop.
  • Het bronnummer telt ook mee: de uitvoer is 2 tot 3,6 keer vuiler dan de bron. Een bron met vlakheid 0,0047 komt uit rond 0,011; een rip die bij 16 kHz is afgekapt (0,0070) komt uit rond 0,025.
  • De waarschuwingsdrempel van 1,5% rust op drie datapunten (2,14%, 0,94 tot 1,03%, 0,79%). De recorder in de browser zet echo-onderdrukking, ruisonderdrukking en automatische versterking uit, wat standaardpraktijk is maar niet getest met een echte microfoon.
  • Fine-tuning per stem van die converter verhoogde een gelijkenisscore in één test van 0,64 naar 0,73, maar die score kwam van de eigen stemencoder van de converter, die zijn eigen uitvoer te gunstig beoordeelt. Een latere controle met een onafhankelijk stemvergelijkingsmodel liet geen winst zien (0,647 voor beide). De site is sindsdien overgestapt op een andere aanpak per stem, dus de zero-shot-cijfers in dit artikel beschrijven de eerdere pipeline.

Hoe je dit gebruikt als je een cover maakt

  1. Zing, praat niet. Half gesproken regels en korrelige zinseinden worden rechtstreeks naar de uitvoer gekopieerd.
  2. Neem 20 tot 40 seconden echte zang op op een stille plek. De site gebruikt 24 seconden zang; onder 15 seconden krijg je een waarschuwing.
  3. Let op het waarschuwingsvak een paar seconden na het uploaden. Bij 1,5% of hoger neem je de sample opnieuw op.
  4. Gebruik een nummerbestand van hoge kwaliteit. Een rip die bij 16 kHz is afgekapt, geeft je ook een begeleiding die daar is afgekapt; de site vertelt het je als de bron onder 17 kHz blijft.
  5. Kies een sample dicht bij het bereik van het nummer. Een octaaf zakken (vrouwennummer, mannelijke sample) gaf in één enkele run 1,28% jitter tegenover 0,75% bij het behouden van de toonsoort, maar de gelijkenis met de sample was 0,74 tegenover 0,52.
  6. Bij nummers in het Vietnamees luister je na op verwisselde medeklinkers zoals h/kh en g/c.

Probeer het nu op MuziAI

Gratis, geen registratie nodig. Geef een idee op, AI schrijft de tekst en zingt het tot een compleet nummer.

Maak liedje