Wat we deden
Dezelfde 24 voorgelezen Engelse zinnen door zeven spraakcodecs en terug naar 16 kHz, met ffmpeg: A-law (300 tot 3400 Hz bij 8 kHz), AMR-smalband op 4,75 en 12,2 kbit/s, AMR-breedband op 12,65 kbit/s, GSM 6.10 en Opus in spraakmodus op 8 en 16 kbit/s. Twee open spraakherkenners, Whisper small en Whisper large-v3-turbo. De condities zijn vastgelegd op 15 oktober 2026, vóór de eerste transcriptie.
De eigen maten van AudioLab zijn daarna op dezelfde bestanden gelezen, zonder een uitkomst van een spraakherkenner te kennen. Die lezing was verkennend: er waren geen slagingscriteria en het is geen voorgeregistreerde toets.
De uitkomst
Wat het een spraakherkenner kost: voor geen enkele codec een duidelijk verschil, voor geen van beide modellen. De grootste verandering was AMR-smalband op 4,75 kbit/s voor Whisper small: +1,8 punten, met een interval van +0,0 tot +4,5.
| Codec | Bandbreedte die AudioLab leest, Hz (mediaan, bereik) | Label lossy bron | Verandering in WER, punten: Whisper small | Whisper large-v3-turbo |
|---|---|---|---|---|
| Niet gecodeerd (referentie) | 7.992 (6.297 tot 7.992) | 24 lossless, 0 lossy | referentie | referentie |
| A-law, 8 kHz | 4.227 (4.047 tot 4.453) | 14 lossless, 10 onbekend, 0 lossy | +0,0 (+0,0 tot +0,0), geen duidelijke verandering | −0,9 (−2,0 tot +0,0), geen duidelijke verandering |
| AMR-smalband, 4,75 kbit/s | 3.965 (3.773 tot 4.469) | 22 lossless, 2 onbekend, 0 lossy | +1,8 (+0,0 tot +4,5), geen duidelijke verandering | −0,7 (−1,8 tot +0,0), geen duidelijke verandering |
| AMR-smalband, 12,2 kbit/s | 4.133 (3.797 tot 4.477) | 19 lossless, 5 onbekend, 0 lossy | +1,1 (+0,0 tot +3,1), geen duidelijke verandering | −0,7 (−1,8 tot +0,0), geen duidelijke verandering |
| GSM 6.10 | 4.223 (4.016 tot 4.492) | 15 lossless, 9 onbekend, 0 lossy | +0,5 (−1,3 tot +2,8), geen duidelijke verandering | −0,9 (−2,0 tot +0,0), geen duidelijke verandering |
| Opus, 8 kbit/s | 4.613 (4.328 tot 4.914) | 23 lossless, 1 onbekend, 0 lossy | +0,2 (+0,0 tot +0,8), geen duidelijke verandering | −0,9 (−2,0 tot +0,0), geen duidelijke verandering |
| AMR-breedband, 12,65 kbit/s | 7.273 (6.242 tot 7.672) | 24 lossless, 0 lossy | −0,5 (−1,6 tot +0,5), geen duidelijke verandering | −0,5 (−1,1 tot +0,0), geen duidelijke verandering |
| Opus, 16 kbit/s | 7.633 (6.125 tot 7.992) | 24 lossless, 0 lossy | −0,5 (−1,6 tot +0,5), geen duidelijke verandering | +0,0 (+0,0 tot +0,0), geen duidelijke verandering |
24 zinnen per rij. De aantallen bij het label gaan over de 24 opnames. Een verandering is alleen duidelijk slechter of beter wanneer het 95%-interval helemaal aan één kant van nul ligt en de verandering minstens 2 punten is; dat was nergens zo.
Wat AudioLab leest: de band, niet de codec. De bandbreedte scheidt smalband- van breedbandaudio volledig. De vijf smalbandcondities (A-law, beide AMR-smalband, GSM en Opus op 8 kbit/s) lezen 3,8 tot 4,9 kHz, met medianen tussen 4,0 en 4,6 kHz; de twee breedbandcodecs en de zinnen die niet zijn gecodeerd lezen 6,1 tot 8,0 kHz. Over 120 smalband- en 72 andere opnames is de oppervlakte onder de curve 1,000. Opus op 8 kbit/s telt als smalband: dat leest de engine ervoor, en we bevestigden het door de energie boven de band te meten, en die is bijna nul.
Wat het niet leest: dat een codec is gebruikt. Het label voor een lossy bron zei op deze 168 opnames nooit lossy: 141 lazen lossless en 27 onbekend. Lossless betekent hier dat geen afkapmuur van een muziekcodec is gevonden, niet dat er geen codec is gebruikt. Het label voor audio die is opgerekt vanaf een lagere samplefrequentie vond de 8 kHz-herkomst in 4 van 96 opnames via de vier 8 kHz-codecs, en de effectieve bitdiepte las overal 16, omdat de uitvoer 16-bit audio is, wat er ook eerder gebeurde.
Dus: AudioLab kan je zeggen welke band je audio echt heeft, en dat is wat een smalbandlijn met een opname doet. Het kan je niet zeggen dat er een codec in het spel was. En voor deze twee modellen kostte geen enkele codec iets wat we konden aantonen; of het voor jouw spraakherkenner telt, moet je met die spraakherkenner toetsen.
Hoe ver dit reikt
Echte encoders via ffmpeg op voorgelezen Engelse spraak, 16 kHz, 24 zinnen per codec, Whisper small en large-v3-turbo op een CPU. De intervallen zijn breed: een verandering kleiner dan ongeveer 2 punten is niet van geen verandering te onderscheiden.
Wat we niet hebben getoetst
- Echte telefoongesprekken: dit zijn bestanden die door een encoder zijn gehaald, zonder netwerk, zonder echo en zonder tweede been.
- Codecs die verloren pakketten verbergen, en het verlies zelf (zie de pagina over pakketverlies).
- Andere codecs en bitrates, en ketens van meerdere codecs.
- Andere spraakherkenners, streamende spraakherkenners en andere talen.
- We schreven vooraf op dat AMR-smalband op 4,75 kbit/s slechter zou zijn dan op 12,2 kbit/s. De richting klopte, binnen de ruis.
Bronnen en volgende stappen
Studies in ons register: stresstest v0.3, V03-ENG. De status van elke maat staat op /lenses en hoe we toetsen staat op /methodology.
Ander bewijs
- Niveau en clipping
- Pakketverlies
- Echo: in voorbereiding
- Ruis en SNR
- Een concurrerende stem
- Scènematen en inhoudstype
- Spraakdetectie
- Afkapping aan het begin en einde
- Ruimte en galm
- Voorspellen audiomaten fouten?
- Een opschoonstap, voor en na: in voorbereiding
- Waar we ernaast zaten