/docs · VoiceLab · Practical
Verlorene Pakete in einer Aufnahme finden
Das Profil chain zählt die Lücken aus digitaler Stille, die ein verlorenes Paket mitten in der Sprache hinterlässt. Wie es entscheidet, die Testzahlen, was es nicht sieht und warum das Echo- und Slapback-Maß nicht angeboten wird.
Aktualisiert 13.10.2026
Wenn ein Anruf oder Stream Pakete verliert und der Player das nicht verbirgt, hat das Audio ein Loch: einige zehn Millisekunden digitale Stille mitten in einem Wort. Lautheit, Rauschen und Spektrum sind alle in Ordnung, und deshalb sieht nichts anderes in der Engine es. Das Profil chain von POST /v1/analyze/profile zählt diese Löcher. Es ist ein kostenpflichtiges Preset, wie jedes Profil außer 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"}'
Was zurückkommt
| Lens | Was es ist |
|---|---|
chain.dropoutCount | Die Zahl der abrupten Lücken aus digitaler Stille, 8 bis 500 ms, im Schall. |
chain.dropoutSec | Ihre Gesamtlänge in Sekunden. |
chain.dropoutMaxMs | Die längste in ms, null, wenn es keine gibt. Ein verlorenes Paket sind meist 20 ms; 60 ms oder mehr sind mehrere hintereinander. |
Alle drei sind validiert. Eine Aufnahme unter 2 s bekommt keinen Wert.
Wie es entscheidet
Eine Lücke zählt, wenn sie digitale Stille ist (jedes Sample unter einem halben 16-Bit-Schritt, was ein Raum oder ein Mikrofon nie liefert), 8 bis 500 ms dauert und den Schall durchschneidet: In den 5 ms davor und danach liegt der Pegel innerhalb von 20 dB des aktiven Pegels der Aufnahme. Eine natürliche Pause oder das Gate eines Rauschunterdrückers lässt den Schall erst ausklingen und zählt nicht. Eine Lücke ganz am Anfang oder Ende der Datei zählt ebenfalls nicht.
Wie weit man es glauben kann
Geprüft am 13. Oktober 2026 an Daten, auf denen das Maß nicht entwickelt wurde, mit vorab festgehaltenen Kriterien (PREREG-DROPOUT.md im Engine-Repository):
- An 160 konstruierten Aufnahmen vorgelesener Sprache mit 11.337 hineingeschnittenen Lücken, von denen 8.411 den Schall durchschnitten: Es fand davon 99,8 Prozent, und 99,9 Prozent der 8.406 gemeldeten Lücken waren echt (eine Lücke zählt, wenn Beginn und Länge innerhalb von 2 ms dessen liegen, was geschnitten wurde). Die Zahl lag bei allen 160 Aufnahmen innerhalb von 5 Prozent oder einer Lücke.
- Kein Fehlalarm in 1.615 Aufnahmen ohne Lücken: 40 saubere, 40 mit natürlichen Pausen aus digitaler Stille und 1.535 Aufnahmen synthetischer Stimmen in 32 Situationen (Rauschen, Nachhall, Telefonband, Clipping, schnelle Sprache).
- Bei simuliertem Paketverlust (Pakete von 20 ms auf null gesetzt, 47 Aufnahmen) fand es alle 1.539 Lücken, die den Schall durchschnitten, und jede gemeldete Lücke war echt.
Was es nicht sieht
- Es ist eine Untergrenze. Von den 2.554 im Paketverlusttest gemachten Lücken durchschnitten 1.539 den Schall. Der Rest fiel in Pausen oder leise Stellen, wo ein Verlust nicht von einer Pause zu unterscheiden ist, und zählt nicht.
- Ein Verlust, den der Player verbarg (wiederholt, interpoliert oder mit Komfortrauschen gefüllt), hinterlässt keine Lücke.
- Rauschen, das nach dem Verlust hinzugefügt wurde, füllt die Lücke.
- Die Stille, die ein Codec in Pausen setzt, ist kein Verlust: 48 Aufnahmen durch einen Telefoncodec mit niedriger Bitrate enthielten 1.936 Läufe exakter Nullen, keiner mit Schall auf beiden Seiten, und keiner wurde gezählt.
- Es wurde nicht an echten Anrufen mit bekanntem Verlust geprüft.
Das Echo- und Slapback-Maß wird nicht angeboten
Das Register hat auch chain.slapbackDelayMs, chain.slapbackLevelDb und chain.slapbackScore: die Verzögerung und den Pegel einer verzögerten Kopie des Schalls. Sie werden nicht über die API oder den MCP-Server angeboten, und die Antwort lässt sie weg.
Der Test sagt, warum. Das Maß fand jede konstruierte Kopie, auf der richtigen Verzögerung und dem richtigen Pegel (100 Prozent, die Verzögerung innerhalb von 0,03 ms). Aber es meldete auch eine Kopie in 27 Prozent der Aufnahmen ohne Kopie, fast alle synthetische Stimmen (53 Prozent bei einer Stimme, bis zu 100 Prozent bei dreien mit Akzent), gegenüber 0 von 40 Aufnahmen echter Sprache. Ein Maß, das meldet, was nicht da ist, ist schlechter als kein Maß, also bleibt es draußen, bis ein zweiter Test an neuen Daten die Kriterien erfüllt. Nach dem ersten wurde nichts angepasst.
Weiterlesen
More in VoiceLab docs
- Intro
Warum die Füllwortdichte wichtiger ist als die Füllwortanzahl
"Ähs" zu zählen ist die falsche Messgröße. Die Dichte verrät, ob sie ein Problem sind.
- Practical
Ein pragmatisches Loudness-Ziel für Podcasts
Das richtige Loudness-Ziel für Sprach-Podcasts ist nicht dasselbe wie für Musik. Hier sind die Zahlen und das Warum.
- Deep
Was der Hüllkurvenabfall nach Sprache wirklich misst
Wir haben aus dem Abfall nach jeder Phrase einen günstigen Hall-Schätzer gebaut und ihn gegen 24 gemessene Räume geprüft. Er misst keinen Hall. Hier sind die Zahlen und was wir geändert haben.
- Practical
Mit einem Klatschen messen, wie lange ein Raum nachhallt
Das Profil room liest die Nachhallzeit pro Oktavband aus einem Klatschen, einem Ballonknall, einer Impulsantwort oder einem Sweep. Wie man es aufnimmt, wie man die Antwort liest und wie weit die Zahlen geprüft sind.
- Practical
Tonhöhe und Stimmqualität: was das Profil liefert und was es zurückhält
Das Profil pitch liest, wo eine Stimme liegt, wie stark sie sich bewegt, wie stimmhaft die Aufnahme ist und wie sauber die Stimme ist. Die Testzahlen, die Grenzen und warum Jitter und Shimmer noch nicht angeboten werden.