Naar inhoud
Inloggen

/docs · VoiceLab · Practical

Verloren pakketten in een opname vinden

Het profiel chain telt de gaten van digitale stilte die een verloren pakket midden in spraak achterlaat. Hoe het beslist, de testcijfers, wat het niet ziet en waarom de echo- en slapbackmaat niet wordt aangeboden.

Bijgewerkt 13 okt 2026


Als een gesprek of stream pakketten verliest en de speler dat niet verbergt, zit er een gat in het geluid: enkele tientallen milliseconden digitale stilte midden in een woord. Luidheid, ruis en spectrum zijn allemaal in orde, en daarom ziet niets anders in de engine het. Het profiel chain van POST /v1/analyze/profile telt die gaten. Het is een betaald preset, zoals elk profiel behalve basic.

curl https://audiolab.tools/v1/analyze/profile \
  -H "Authorization: Bearer $AUDIOLAB_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/call.wav", "profile": "chain"}'

Wat er terugkomt

LensWat het is
chain.dropoutCountHet aantal abrupte gaten van digitale stilte, 8 tot 500 ms, in geluid.
chain.dropoutSecHun totale lengte in seconden.
chain.dropoutMaxMsHet langste in ms, null als er geen is. Eén verloren pakket is meestal 20 ms; 60 ms of meer zijn er meerdere achter elkaar.

Alle drie zijn gevalideerd. Een opname korter dan 2 s krijgt geen waarde.

Hoe het beslist

Een gat telt als het digitale stilte is (elke sample onder een halve 16-bitstap, wat een kamer of een microfoon nooit geeft), 8 tot 500 ms duurt en het geluid doorsnijdt: in de 5 ms ervoor en erna ligt het niveau binnen 20 dB van het actieve niveau van de opname. Een natuurlijke pauze, of de poort van een ruisonderdrukker, laat het geluid eerst wegsterven en telt niet mee. Een gat helemaal aan het begin of eind van het bestand telt ook niet.

Hoe ver je het kunt vertrouwen

Getoetst op 13 oktober 2026 op data waarop de maat niet was ontwikkeld, met de criteria vooraf opgeschreven (PREREG-DROPOUT.md in de engine-repository):

  • Op 160 gebouwde opnames van voorgelezen spraak met 11.337 gaten erin geknipt, waarvan er 8.411 het geluid doorsneden: hij vond daarvan 99,8 procent, en 99,9 procent van de 8.406 gaten die hij meldde was echt (een gat telt als begin en lengte binnen 2 ms liggen van wat er geknipt is). Het aantal lag bij alle 160 opnames binnen 5 procent, of één gat.
  • Geen vals alarm in 1.615 opnames zonder gaten: 40 schone, 40 met natuurlijke pauzes van digitale stilte en 1.535 opnames van synthetische stemmen in 32 situaties (ruis, galm, telefoonband, clipping, snelle spraak).
  • Bij gesimuleerd pakketverlies (pakketten van 20 ms op nul gezet, 47 opnames) vond hij alle 1.539 gaten die het geluid doorsneden, en elk gat dat hij meldde was echt.

Wat het niet ziet

  • Het is een ondergrens. Van de 2.554 gaten die in de pakketverliestoets zijn gemaakt, sneden er 1.539 het geluid door. De rest viel in pauzes of stille stukken, waar een verlies niet van een pauze te onderscheiden is, en telt niet mee.
  • Een verlies dat de speler verborg (herhaald, geïnterpoleerd of opgevuld met comfortruis) laat geen gat achter.
  • Ruis die ná het verlies is toegevoegd vult het gat.
  • De stilte die een codec in pauzes zet is geen verlies: 48 opnames door een telefooncodec met lage bitrate bevatten 1.936 runs van exacte nullen, geen enkele met geluid aan beide kanten, en geen enkele werd geteld.
  • Het is niet getoetst op echte gesprekken met een bekende hoeveelheid verlies.

De echo- en slapbackmaat wordt niet aangeboden

Het register heeft ook chain.slapbackDelayMs, chain.slapbackLevelDb en chain.slapbackScore: de vertraging en het niveau van een vertraagde kopie van het geluid. Ze worden niet aangeboden via de API of de MCP-server, en het antwoord laat ze weg.

De toets zegt waarom. De maat vond elke gebouwde kopie, op de juiste vertraging en het juiste niveau (100 procent, de vertraging binnen 0,03 ms). Maar hij meldde ook een kopie in 27 procent van de opnames zonder kopie, bijna allemaal synthetische stemmen (53 procent bij één stem, tot 100 procent bij drie stemmen met een accent), tegen 0 van 40 opnames van echte spraak. Een maat die meldt wat er niet is, is erger dan geen maat, dus hij blijft eruit tot een tweede toets op nieuwe data de criteria haalt. Na de eerste is niets bijgesteld.

Verder lezen

More in VoiceLab docs