/docs · General · 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.
Aktualisiert 15.10.2026
Für wen das ist
Du hast Aufnahmen von zwei oder mehr Voice-Agent-, Text-to-Speech- oder Voice-Isolation-Anbietern oder von einem Anbieter über die Zeit und willst sie mit Zahlen vergleichen: wie laut, wie verrauscht, ob etwas clippt, wie breit das Band ist, wie viele Pausen.
Gedacht ist es für Teams, die darüber ihre eigenen Regeln für Bestehen und Durchfallen setzen. Es ist nicht dafür da zu beurteilen, wie natürlich eine Stimme klingt, und es liest die Wörter nicht. Siehe was AudioLab nicht tut.
Was du bekommst
Für jede Aufnahme etwa zehn Zahlen. Jede hat einen Status, der sagt, wie weit du ihr trauen kannst (fordere measureStatus an, dann trägt die Antwort ihn), und, wo wir es wissen, eine Marge, die sagt, wie weit sie danebenliegen kann. Wir geben dir Startbereiche. Die Entscheidung, ob eine Aufnahme besteht oder durchfällt, bleibt bei dir.
Lieber keinen Code schreiben? Die Werkbank vergleicht zwei Sätze von Aufnahmen in deinem Browser: Melde dich auf /account an, öffne den Tab Voice und schalte im Batch „Compare two sets“ ein. Du bekommst dieselben zehn Zahlen mit denselben Status und, wo wir gemessen haben, mit Margen, dein Audio wird nicht hochgeladen, und der Bericht lässt sich als eine HTML-Datei exportieren.
Bevor du anfängst
- Hol dir einen Schlüssel. Er ist kostenlos und braucht keine Karte: Melde dich auf /account an und erzeuge einen. Das Free-Kontingent sind 1.000 Aufrufe im Monat, 2 GB im Monat und 60 Anfragen pro Minute. Die zehn Zahlen kosten drei Aufrufe pro Aufnahme, und die Datei zählt pro Aufruf einmal gegen dein monatliches Datenvolumen, also dreimal.
- Nimm bei jedem Anbieter dieselben Sätze. Ein Unterschied zwischen Anbietern bedeutet nur etwas bei demselben Text und demselben Hintergrundrauschen.
- Schick das Audio so, wie deine Nutzer es hören. Dieselbe Abtastrate und derselbe Codec wie in der Produktion. Ein Anbieter, der als Studio-WAV gut klingt, kann nach der Telefonleitung anders aussehen.
- Fordere die Extras an. Füge der Anfrage
"round": trueund"measureStatus": truehinzu. Beide sind standardmäßig aus, damit sich an einer bestehenden Integration nichts ändert.roundliefert weniger Nachkommastellen (46,7 statt 46,69999999999999).measureStatusfügt einen Schlüssel mit dem Status jeder Messgröße und, wo wir es wissen, ihrer Marge hinzu. Ist der Body eine rohe Datei, setzt du die beiden Optionen stattdessen in den Query-String:?round=true&measureStatus=true.
Die drei Aufrufe
Eine Aufnahme braucht drei POST-Anfragen mit demselben Body: mixlab/analyze für die Loudness, voicelab/qa für die Stimme und den Hintergrund und signallab für die Bandbreite. Schick eine öffentliche URL (bis zu 150 MB) oder eine kleine Datei als rohen Body (etwa 4,5 MB). Für eine lokale Datei über 4,5 MB lädst du sie zuerst über eine signierte URL hoch und schickst ihren objectPath, wie in der OpenAPI-Spezifikation beschrieben.
curl
export AUDIOLAB_KEY=al_live_...
BODY='{"url":"https://example.com/vendor-a/sentence-01.wav","round":true,"measureStatus":true}'
for route in mixlab/analyze voicelab/qa signallab; do
curl -s "https://audiolab.tools/v1/$route" \
-H "Authorization: Bearer $AUDIOLAB_KEY" \
-H "Content-Type: application/json" \
-d "$BODY" > "vendor-a_sentence-01_${route//\//_}.json"
donePython
Das Paket audiolabtools hat die zehn Zahlen als einen Aufruf, mit dem Status und der Marge jeder Zahl:
pip install audiolabtoolsfrom audiolabtools import AudioLab
numbers = AudioLab().ten_numbers("https://example.com/vendor-a/sentence-01.wav")
for field, m in numbers.items():
print(field, m.value, m.unit, m.status, m.margin)Es liest den Schlüssel aus AUDIOLAB_KEY, macht die drei Aufrufe unten mit eingeschaltetem round und measureStatus und löst pro Fehlercode eine Exception aus (DataQuotaExceeded, RateLimited und so weiter, jede mit code und docs_url). Den Rest findest du in der README des Pakets. Ohne das Paket dasselbe mit requests:
import os, requests
KEY = os.environ["AUDIOLAB_KEY"]
def analyze(route, url):
r = requests.post(
f"https://audiolab.tools/v1/{route}",
headers={"Authorization": f"Bearer {KEY}"},
json={"url": url, "round": True, "measureStatus": True},
timeout=120,
)
if not r.ok:
# error.code sagt, was passiert ist, siehe https://audiolab.tools/docs/errors
raise RuntimeError(r.json()["error"]["code"] + ": " + r.json()["error"]["message"])
return r.json()
def ten_numbers(url):
mix, voice, sig = (analyze(r, url) for r in ("mixlab/analyze", "voicelab/qa", "signallab"))
return {
"integratedLufs": mix["integratedLufs"],
"truePeakDb": mix["truePeakDb"],
"peakDb": mix["peakDb"],
"speechLevelDb": voice["averageSpeechRmsDb"],
"noiseFloorDb": voice["noiseFloorDb"],
"signalToNoiseDb": voice["signalToNoiseDb"],
"clipping": voice["clipping"]["severity"],
"speechRatio": voice["speechRatio"],
"longSilences": voice["longSilences"],
"bandwidthHz": sig["bandwidthHz"],
}TypeScript
const KEY = process.env.AUDIOLAB_KEY!;
async function analyze(route: string, url: string) {
const r = await fetch(`https://audiolab.tools/v1/${route}`, {
method: 'POST',
headers: { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ url, round: true, measureStatus: true }),
});
const body = await r.json();
// Bei einem Fehler sagt body.error.code, was passiert ist: https://audiolab.tools/docs/errors
if (!r.ok) throw new Error(`${body.error.code}: ${body.error.message}`);
return body;
}
export async function tenNumbers(url: string) {
const [mix, voice, sig] = await Promise.all(['mixlab/analyze', 'voicelab/qa', 'signallab'].map((r) => analyze(r, url)));
return {
integratedLufs: mix.integratedLufs, truePeakDb: mix.truePeakDb, peakDb: mix.peakDb,
speechLevelDb: voice.averageSpeechRmsDb, noiseFloorDb: voice.noiseFloorDb, signalToNoiseDb: voice.signalToNoiseDb,
clipping: voice.clipping.severity, speechRatio: voice.speechRatio, longSilences: voice.longSilences,
bandwidthHz: sig.bandwidthHz,
};
}MCP (Claude und andere Agenten)
Verbinde den AudioLab-Server, wie auf /connect gezeigt, und frag dann:
Use analyze_loudness, analyze_voice and index_signal on these three URLs. Give me a table with integrated loudness, true peak, peak, speech level, noise floor, signal-to-noise, clipping, speech ratio, long silences and bandwidth for each. Tell me which of these are validated and which are proxies.
Die MCP-Tools liefern dieselben Zahlen. Sie fügen jedem Ergebnis nicht den Status hinzu; jede Tool-Beschreibung nennt ihre validierten Messgrößen und ihre Proxys (das Voice-Tool sagt außerdem, dass das Pausenenergie-Feld keine Nachhall-Messgröße ist), und diese Seite sagt es pro Feld.
Die zehn Zahlen
| Zahl | Status | Marge | Was sie dir sagt |
|---|---|---|---|
| integratedLufs | Validiert | ±0,1 LU | Wie laut die ganze Aufnahme ist. |
| truePeakDb | Validiert | +0,2 / -0,4 dB | Der höchste Pegel, den das Signal bei der Wiedergabe erreicht, auch zwischen den Samples. |
| peakDb | Validiert | keine genannt | Das höchste einzelne Sample. |
| averageSpeechRmsDb | Validiert | keine genannt | Wie laut die Stimme ist, während sie spricht. |
| noiseFloorDb | Validiert | keine genannt | Der Pegel des leisesten Zehntels der Aufnahme: der Hintergrund. |
| signalToNoiseDb | Validiert | ±6 dB | Wie weit die Stimme über diesem Hintergrund steht. |
| clipping | Validiert | keine genannt | Ob Samples an die Decke stießen und abgeflacht wurden. |
| speechRatio | Proxy | keine genannt | Der Anteil der Aufnahme, in dem die Stimme laut genug ist, um als Sprache zu zählen. |
| longSilences | Proxy | keine genannt | Wie viele Pausen länger als 1,5 Sekunden zwischen Sprechabschnitten liegen. |
| bandwidthHz | Validiert | keine genannt | Die höchste Frequenz, die noch echten Inhalt trägt. |
-
integratedLufsPOST /v1/mixlab/analyze · LUFS ValidiertWie laut die ganze Aufnahme ist.
Ein Pegel, keine Qualität. Vergleiche Anbieter an denselben Sätzen. Für Gesprächsaudio gibt es keinen Standard-Zielwert (Broadcast nutzt -23, Podcasts -16).
- Marge
- ±0,1 LU. Die Toleranz von EBU Tech 3341, die der Loudness-Benchmark bei jedem Build einhält.
Üblicher Bereich: keiner. Wird von deiner eigenen Gain-Staging bestimmt, nicht vom Anbieter. Vergleiche stattdessen Anbieter bei demselben Pegel.Getestet gegen, und was es nicht ist: loudness.integrated
-
truePeakDbPOST /v1/mixlab/analyze · dBTP ValidiertDer höchste Pegel, den das Signal bei der Wiedergabe erreicht, auch zwischen den Samples.
Eine Information für Gesprächsaudio, kein Bestanden oder Durchgefallen. Über 0 heißt, dass ein Decoder oder Encoder weiter hinten in der Kette es clippen kann.
- Marge
- +0,2 / -0,4 dB. Die Toleranz für ein True-Peak-Meter in ITU-R BS.1770, die der Loudness-Benchmark bei jedem Build einhält.
Üblicher Bereich: keiner. Wird von deiner eigenen Gain-Staging bestimmt, nicht vom Anbieter. Vergleiche stattdessen Anbieter bei demselben Pegel.Getestet gegen, und was es nicht ist: loudness.truePeak
-
peakDbPOST /v1/mixlab/analyze · dBFS ValidiertDas höchste einzelne Sample.
0 ist Full Scale. Bei höchstens 1 dB Abstand zu 0 schau auf das Clipping.
Üblicher Bereich: keiner. Wird von deiner eigenen Gain-Staging bestimmt, nicht vom Anbieter. Vergleiche stattdessen Anbieter bei demselben Pegel.Getestet gegen, und was es nicht ist: level.peak
-
averageSpeechRmsDbPOST /v1/voicelab/qa · dBFS ValidiertWie laut die Stimme ist, während sie spricht.
Nur über die Sprache gemessen, in dBFS, also nicht auf derselben Skala wie LUFS. Vergleiche Anbieter bei demselben Text.
Üblicher Bereich: keiner. Wird von deiner eigenen Gain-Staging bestimmt, nicht vom Anbieter. Vergleiche stattdessen Anbieter bei demselben Pegel.Getestet gegen, und was es nicht ist: voice.speechLevel
-
noiseFloorDbPOST /v1/voicelab/qa · dBFS ValidiertDer Pegel des leisesten Zehntels der Aufnahme: der Hintergrund.
Niedriger ist sauberer. Bei echtem Rauschen liegt es 1 bis 8 dB unter dem Durchschnittspegel dieses Rauschens, weil es die leisesten Momente liest. Synthetische Stimmen haben oft digitale Stille zwischen den Wörtern: Die Engine liest dann ihre Untergrenze, -120. Es hängt davon ab, wie laut die Datei ist: Vergleiche Anbieter beim selben Sprachpegel oder nimm das Signal-Rausch-Verhältnis, das davon nicht abhängt.
- Synthetische Stimme, sauber
- -120 bis -65,4
- Menschliche Stimme, sauber
- -56,1 bis -54,2
- Menschliche Stimme, Rauschen 10 dB darunter
- -38,8 bis -37
- Synthetische Stimme, Telefonband
- -120 bis -76,1
Getestet gegen, und was es nicht ist: voice.noiseFloor
-
signalToNoiseDbPOST /v1/voicelab/qa · dB ValidiertWie weit die Stimme über diesem Hintergrund steht.
Eine Schätzung. Innerhalb von 6 dB, wenn das tatsächliche Verhältnis 10 bis 30 dB bei gleichmäßigem Rauschen beträgt. Unter 10 dB liest es sich zu hoch. Über etwa 50 dB sagt es nur, dass die Pausen sehr leise sind, oft digitale Stille: Vergleiche dort keine Zahlen.
- Synthetische Stimme, sauber
- 46,8 bis 101,3
- Menschliche Stimme, sauber
- 26,6 bis 29,5
- Menschliche Stimme, Rauschen 10 dB darunter
- 11,9 bis 13,8
- Synthetische Stimme, Telefonband
- 55,4 bis 99,5
- 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.
Getestet gegen, und was es nicht ist: voice.snr
-
clippingPOST /v1/voicelab/qa · Schweregrad ValidiertOb Samples an die Decke stießen und abgeflacht wurden.
None, Low, Medium oder High, mit der Anzahl. Bei jeder sauberen Aufnahme, die wir gemessen haben, war es None. Behebe das zuerst: Auf einer geclippten Aufnahme lässt sich nichts anderes gut vergleichen.
- Synthetische Stimme, sauber
- None 48 von 48
- Menschliche Stimme, sauber
- None 40 von 40
- Menschliche Stimme, Rauschen 10 dB darunter
- None 40 von 40
- Synthetische Stimme, Telefonband
- None 48 von 48
Getestet gegen, und was es nicht ist: voice.clipping
-
speechRatioPOST /v1/voicelab/qa · Anteil ProxyDer Anteil der Aufnahme, in dem die Stimme laut genug ist, um als Sprache zu zählen.
Liest sich bei sauberer Sprache etwa 12 Punkte zu niedrig: leise Wortanfänge und -enden zählen als Pause. Nutze ihn, um Anbieter bei demselben Text zu vergleichen, nicht als wahren Anteil.
- Synthetische Stimme, sauber
- 0,63 bis 0,72
- Menschliche Stimme, sauber
- 0,54 bis 0,73
- Menschliche Stimme, Rauschen 10 dB darunter
- 0,36 bis 0,58
- Synthetische Stimme, Telefonband
- 0,57 bis 0,68
Getestet gegen, und was es nicht ist: voice.speechRatio
-
longSilencesPOST /v1/voicelab/qa · Anzahl ProxyWie viele Pausen länger als 1,5 Sekunden zwischen Sprechabschnitten liegen.
Tote Luft. Exakt bei 7 oder 8 von 10 sauberen Aufnahmen und bei fast allen auf eins genau. Rauschen macht es weniger verlässlich.
Üblicher Bereich: keiner. Es hängt von deinem Text ab: Ein einzelner Satz hat keine, ein Skript mit Pausen hat mehrere. Zähle sie bei jedem Anbieter an denselben Sätzen.Getestet gegen, und was es nicht ist: voice.longSilences
-
bandwidthHzPOST /v1/signallab · Hz ValidiertDie höchste Frequenz, die noch echten Inhalt trägt.
Etwa 4.000 ist eine Telefonleitung. Breitbandige Sprache reicht bis etwa 8.000, und eine mit 44,1 oder 48 kHz abgetastete Aufnahme kann mehr zeigen. Ein Abfall bei verrauschtem Hintergrund kann bedeuten, dass der Anbieter die Höhen abschneidet, um es zu verstecken.
- Synthetische Stimme, sauber
- 8.000
- Menschliche Stimme, sauber
- 8.000
- Menschliche Stimme, Rauschen 10 dB darunter
- 8.000
- Synthetische Stimme, Telefonband
- 4.100 bis 4.200
Getestet gegen, und was es nicht ist: provenance.bandwidthHz
Die Bereiche reichen vom 5. bis zum 95. Perzentil dessen, was die Engine gemessen hat: 48 synthetische niederländische Stimmen, 40 englische Leseaufnahmen mit sehr leisem Grundrauschen, dieselben Aufnahmen mit Wohnzimmerrauschen, das 10 dB unter der Stimme beigemischt wurde, und die synthetischen Stimmen durch ein Telefonband. Sie zeigen, was du erwarten kannst, nicht, was gut ist.
Die Bereiche sind das, was wir an sauberen und an verrauschten Aufnahmen gemessen haben. Sie sind Startpunkte, keine Standards. Für deine eigenen Limits siehe den letzten Schritt unten.
So liest du sie
- Schau zuerst auf das Clipping. Ist es nicht None, repariere das Audio. Auf einer geclippten Aufnahme lässt sich nichts anderes gut vergleichen.
- Behandle den True Peak als Information. Für Gesprächsaudio gibt es keine Standard-Obergrenze. Unsere eigenen Broadcast- und Streaming-Presets nutzen -1 oder -2 dBTP, und sie existieren für die Auslieferung, nicht für einen Voice Agent. Kodiert deine Pipeline das Audio neu, schau auf den Peak an der Stelle, an der neu kodiert wird.
- Lies das Rauschen mit zwei Zahlen. Das Grundrauschen sagt, wie leise der Hintergrund ist. Das Signal-Rausch-Verhältnis sagt, wie weit die Stimme darüber steht. Widersprechen sie sich, schau zuerst auf das Grundrauschen: Es ist die einfachere Messung. Es liest das leiseste Zehntel der Aufnahme, liegt also bei echtem Rauschen 1 bis 8 dB unter dem Durchschnittspegel dieses Rauschens.
- Schau auf die Bandbreite neben dem Rauschen. Ein Anbieter, dessen Bandbreite sinkt, wenn der Hintergrund verrauscht ist, schneidet womöglich die hohen Frequenzen ab, um das Rauschen zu verstecken. Das ist ein Kompromiss, den man sehen sollte, nicht unbedingt ein Fehler.
- Nutze die Proxys zum Vergleichen, nicht um Tatsachen festzustellen. Sprachanteil und lange Stille sind Proxys: Sie sagen verlässlich, welcher Anbieter bei demselben Text mehr Pausen lässt, aber der Sprachanteil ist nicht der wahre Anteil der Sprache.
- Lies eine Lücke, die kleiner ist als die Marge, nicht als Ergebnis. Die Marge sagt, wie weit eine Zahl von der Wahrheit entfernt sein kann. Wie gut die Differenz zwischen zwei Zahlen hält, haben wir nicht gemessen. Liegen zwei Anbieter beim Signal-Rausch-Verhältnis 3 dB auseinander und die Marge beträgt 6 dB, behandle es als Hinweis und hör dir die Aufnahmen an.
- Setze deine eigenen Limits aus deinen eigenen guten Aufnahmen. Nimm zwanzig Aufnahmen, die du für gut hältst. Nutze ihr 5. und 95. Perzentil als deinen Bereich und behalte die Startbereiche oben als Plausibilitätsprüfung für die Messung selbst.
- Vergleiche Anbieter über viele Sätze, nicht über einen. Nimm bei jedem Anbieter dieselben Sätze. Schau für jede Zahl auf den Median und die Streuung über die Sätze und darauf, bei wie vielen Sätzen es in dieselbe Richtung geht, wenn du zwei Anbieter nebeneinanderlegst. Wie gut die Differenz zwischen zwei Anbietern hält, haben wir nicht gemessen, also ist eine Lücke, die nur bei wenigen Sätzen auftaucht, ein Hinweis.
Was es nicht kann
- Es transkribiert nicht, und es sagt keine Transkriptionsfehler aus der Audioqualität voraus. In unserem eigenen Test mit 1.248 Transkriptionen sagte das Signal-Rausch-Verhältnis keine Erkennungsfehler voraus.
- Es sagt nicht, ob eine Stimme natürlich oder roboterhaft klingt, und es unterscheidet keine Stimmen.
- Es misst keine Latenz, keine Unterbrechungen und keinen Sprecherwechsel.
- Seine Hintergrund-Hinweise (
sceneBackgroundund die anderenscene-Felder) sind Heuristiken auf den Pausen, keine Erkennung dessen, was das Rauschen erzeugt.
Die vollständige Liste steht unter was AudioLab nicht tut.
Datenschutz und Limits
- Dein Audio wird nicht aufbewahrt. Es wird im Arbeitsspeicher in Frankfurt analysiert. Eine komprimierte Datei (MP3, FLAC, M4A) läuft über eine temporäre Datei, die gleich nach dem Dekodieren gelöscht wird. Eine Datei, die du über den Signed-Upload-Weg hochlädst, wird innerhalb einer Stunde entfernt. Wir behalten die Zahlen und, wenn du es erlaubst, den Dateinamen. Siehe /privacy.
- Limits. Free: 1.000 Aufrufe und 2 GB im Monat, 60 Anfragen pro Minute. Plus: 10.000 Aufrufe, 20 GB, 120 pro Minute. Eine Datei darf 150 MB groß sein, wenn du eine öffentliche URL oder einen
objectPathschickst. Jede akzeptierte Anfrage zählt, auch eine, die danach fehlschlägt. Ein Fehler sagt dir, was zu tun ist: /docs/errors. - Wo du stehst.
GET /v1/usagemit deinem Schlüssel liefert den Tarif, die in diesem Monat verbrauchten Aufrufe und Daten gegenüber den Limits und die Anfragen pro Minute: dieselben Zahlen wie auf /account. Das Lesen ist kostenlos und zählt nicht als Aufruf. Prüfe es vor einem großen Batch, statt es an einem 402 zu merken. - Fragen zu einer Zahl. Schreib an support@audiolab.tools mit dem Feldnamen und der Datei, und wir sagen, was wir wissen.
Weiter
- Voice-AI-Check: Miss eine Aufnahme in deinem Browser, mit dem Status neben jeder Zahl und der Marge, wo wir eine gemessen haben.
- Eine konkurrierende Stimme im Hintergrund: ein kleiner Test von zwei offenen Whisper-Modellen und was er dir nicht sagen kann.
Weiter in General docs
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.
More in General docs
- 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
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.
- Intro
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.
- 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.