/docs · General · Intro
Eine Antwort lesen: was jedes Feld bedeutet und wie weit du ihm trauen kannst
Eine echte Antwort der API, Feld für Feld: was sie sagt, ihr Status und ihre Marge und was du daraus schließen darfst und was nicht.
Aktualisiert 12.10.2026
Eine echte Antwort, kommentiert
Das ist eine echte Antwort von POST /v1/voicelab/qa mit "round": true und "measureStatus": true. Die Datei ist eine synthetische Stimme, die du selbst analysieren kannst: https://audiolab.tools/samples/voice/speech-male-plain.mp3.
{
"durationSec": 32.193,
"speechRatio": 0.644,
"longSilences": 2,
"averageSpeechRmsDb": -30.75,
"noiseFloorDb": -76.33,
"signalToNoiseDb": 45.58,
"clipping": { "count": 0, "severity": "None" },
"sceneBackground": "unsteady",
"activeKind": "music",
"roomEchoScore": 0.223,
"sibilanceRisk": "Low",
"measureStatus": {
"legend": "https://audiolab.tools/docs/start/read-a-response#the-five-statuses",
"measures": {
"roomEchoScore": {
"status": "withdrawn",
"method": "dsp",
"lens": "voice.roomEcho"
},
"signalToNoiseDb": {
"status": "validated",
"basis": "analytic",
"method": "dsp",
"lens": "voice.snr",
"margin": {
"plusMinus": 6,
"unit": "dB",
"note": "Holds for read speech with steady background noise at..."
}
},
"speechRatio": {
"status": "proxy",
"method": "dsp",
"lens": "voice.speechRatio"
}
}
}
} Eine gekürzte Antwort: 11 ihrer 50 Felder und 3 der Einträge in measureStatus. Die Anmerkung zur Marge ist hier gekürzt und steht unten vollständig.
-
speechRatio0.644 ProxyDer Anteil der Aufnahme, in dem die Stimme laut genug ist, um als Sprache zu zählen. Bei sauberer Sprache liest er sich etwa 12 Punkte zu niedrig: leise Wortanfänge und -enden zählen als Pause.
-
longSilences2 ProxyPausen, die länger als 1,5 s zwischen Sprechabschnitten dauern. Vergleiche Anbieter bei demselben Text.
-
averageSpeechRmsDb-30.75 ValidiertWie laut die Stimme ist, während sie spricht, in dBFS.
-
noiseFloorDb-76.33 ValidiertDer Pegel des leisesten Zehntels der Aufnahme: der Hintergrund.
-
signalToNoiseDb45.58 ValidiertEs hält innerhalb seiner Marge, wenn das tatsächliche Verhältnis 10 bis 30 dB bei gleichmäßigem Rauschen beträgt. Über etwa 50 dB sagt es nur, dass die Pausen sehr leise sind, oft digitale Stille. Dieses Beispiel liegt weit über dem Bereich, in dem die Marge gilt, lies es also als „sehr sauber“, nicht als genaue Zahl.
Marge ±6 dB. Gilt für gelesene Sprache mit gleichmäßigem Hintergrundrauschen bei einem tatsächlichen Verhältnis von 10 bis 30 dB (90 Prozent der Fälle). Unter 10 dB liest er zu hoch, um 3 dB oder mehr. Mit dem K2-Detektor gilt er ab 5 dB für einen Stadtplatz und für Straßenverkehr sowie gepoolt über Küche, Wohnzimmer, Flur und Kantine (90. Perzentil 4,4 dB bei 5 dB); bei 10 dB liegt der gepoolte Wert über diese vier bei 6,25 dB, und eine U-Bahn erreicht 7,3 dB; bei 0 dB liest er noch etwa 6 dB zu hoch.
-
clipping{ "count": 0, "severity": "None" } ValidiertKeine Samples wurden abgeflacht.
-
sceneBackground"unsteady" ProxyEin Wort für das, was die Pausen füllt. Nur an synthetischen Szenen getestet, nicht an echten Aufnahmen. Bei dieser sauberen synthetischen Stimme steht dort „unsteady“: Lies das nicht als Tatsache über den Raum.
-
activeKind"music" ProxyEine Vermutung zur Art des Klangs. Für diese Stimme steht dort „music“: ein weiterer Grund, Vermutungen als Vermutungen zu behandeln.
-
roomEchoScore0.223 ZurückgezogenKeine Nachhall-Messgröße: Der Score folgte gemessenen Nachhallzeiten mit einem Spearman von 0,06. Er bleibt in der Antwort, damit nichts bricht. Höchstens sagt er, wie viel Energie in den Pausen übrig bleibt.
-
sibilanceRisk"Low" ProxyLow, Medium oder High. Nur die Richtung ist getestet: Mehr Energie um 7 kHz schiebt den Wert nach oben.
So reproduzierst du sie:
curl -s https://audiolab.tools/v1/voicelab/qa \
-H "Authorization: Bearer $AUDIOLAB_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://audiolab.tools/samples/voice/speech-male-plain.mp3","round":true,"measureStatus":true}'
Ohne Schlüssel bekommst du einen Test mit 20 Aufrufen im Monat, 3 pro Minute.
Die fünf Status
Jede Messgröße trägt eines von fünf Wörtern. Es sind dieselben Wörter und Farben auf /lenses, im OpenAPI-Dokument, in den Labs und im measureStatus einer Antwort.
Gegen eine Norm oder gegen einen bekannten Wert getestet, und die Seite sagt, gegen welchen. Du darfst die Zahl nennen. Gibt es eine Marge, bleib innerhalb davon. Lies „Getestet gegen“ auf /lenses für die Bedingungen: Eine Messgröße, die an gebauten Signalen getestet wurde, ist exakt für das, was sie berechnet, aber nicht unbedingt aussagekräftig auf jeder echten Aufnahme.
Eine Annäherung. Nur die Richtung ist getestet, oder die Grenzen wurden von Hand gewählt, oder sie stützt sich auf etwas, das gemessen und als unvollkommen befunden wurde. Nutze sie, um zwei Aufnahmen zu vergleichen, nicht um eine Tatsache festzustellen.
Noch kein Grundwahrheitstest. Es kann stimmen; es ist nicht nachgewiesen. Es kann sich ändern. Neue Messgrößen beginnen hier.
Die Behauptung hat ihren Test nicht bestanden. Das Feld kann weiter in der Antwort stehen, damit nichts bricht, aber lies es nicht als das, was sein Name versprach. Der Eintrag auf /lenses sagt, was gegebenenfalls noch zu lesen ist und warum die Messgröße zurückgezogen wurde.
Steht in der Liste der Messgrößen, ist aber noch nicht gebaut. Sie kommt in keiner Antwort vor.
Was du schließen darfst
| Du siehst | Du darfst sagen | Du darfst nicht sagen |
|---|---|---|
| Validiert, mit Marge | Die Zahl, mit ihrer Marge: „22 dB, plus minus 6“ | Dass eine Lücke zwischen zwei Aufnahmen, die kleiner ist als die Marge, ein echter Unterschied ist |
| Validiert, ohne Marge | Die Zahl stimmt für das, was sie misst | Dass sie mehr bedeutet als ihre Beschreibung: Lies „Was es nicht ist“ auf /lenses |
| Proxy | „Anbieter A lässt bei demselben Text mehr Pausen als Anbieter B“ | „A spricht 64 % der Zeit“, „der Raum ist unruhig“ |
| Zurückgezogen | Nur das, wofür ihr Eintrag auf /lenses noch einsteht | Was der alte Name versprach: roomEchoScore ist keine Raum-Messgröße |
Eine Marge ist, wie weit die Zahl danebenliegen kann. Sie stammt aus der Norm, gegen die die Messgröße getestet wurde, oder aus unseren eigenen Messungen an echten Aufnahmen, und die Antwort sagt, für welche Bedingungen sie gilt.
Woher die Zahlen kommen
Die API, die Labs, die MCP-Server und /lenses lesen alle dieselbe Liste von Messgrößen, ein Status kann sich also nicht zwischen ihnen unterscheiden. Wird eine Messgröße erneut getestet und verschiebt sich, steht die Änderung im Changelog, und die Antwort zeigt den neuen Status beim nächsten Mal, wenn du fragst. Wie Änderungen angekündigt werden: Änderungen und Deprecation.
Weiter in General docs
Was AudioLab nicht tut →
Die Grenzen der Analyse, offen benannt: Es transkribiert nicht, sagt keine Erkennungsfehler voraus, bewertet keine Natürlichkeit, identifiziert keine Sprecher und misst keine Latenz, und seine Hintergrund-Hinweise sind Vermutungen.
More in General docs
- Practical
Voice-Agent- und TTS-Anbieter vergleichen und Gesprächsaudio prüfen
Drei API-Aufrufe, zehn Zahlen und wie weit du jeder trauen kannst: ein Leitfaden für QA-Teams, die Voice-Agent-, Text-to-Speech- oder Voice-Isolation-Anbieter vergleichen.
- Practical
Audioqualität in der CI prüfen: einen Build scheitern lassen, wenn eine Datei deine Regeln bricht
Ein kurzes Python-Skript und ein GitHub-Workflow, die jede Audiodatei mit der AudioLab-API messen, die Zahlen mit deinen Limits vergleichen und den Build mit einer Meldung scheitern lassen, die sagt, warum.
- Practical
Einen Datensatz mit Gesprächen prüfen: woher das Audio wirklich stammt
Miss einen Ordner mit Anruf-, Voice-Agent- oder Text-to-Speech-Aufnahmen auf verlustbehaftete Quellen, Upsampling, Schnittstellen, getarntes Mono, Clipping und Bittiefe, 20 Dateien auf einmal, und wisse, wann das Audio hochgeladen wird und wann nicht.
- Intro
Änderungen und Deprecation: was sich ändert, wann und wie du es erfährst
Das Versprechen hinter /v1, was als Änderung mit Vorankündigung gilt, wie wir sie ankündigen und was heute veraltet ist.