/docs · HearLab · Practical
Live Caption op Android: wat het wel en niet doet
Google Live Caption is wereldwijd de meestgebruikte toegankelijkheidsfunctie. Zo werkt het echt en dit valt erbuiten.
Live Caption van Android is een systeembrede functie die audio transcribeert die op het toestel wordt afgespeeld. Het werkt offline met spraakherkenning op het toestel zelf (een gekwantiseerde versie van Google’s ASR-modellen). Het wordt dagelijks door tientallen miljoenen mensen gebruikt en is waarschijnlijk de meest impactvolle toegankelijkheidsrelease van het afgelopen decennium.
Het wordt ook vaak verkeerd begrepen. Hier volgt de blik van de praktiserende engineer op wat het wel doet, wat het niet doet en wat dat betekent als je tooling voor gehoorondersteuning bouwt.
Wat Live Caption vastlegt
- Audio die via Android’s media- of VoiceCall-streams wordt geleid.
- Audio van systeemgeluiden, browsertabbladen, video-apps en de meeste muziek-apps.
- Realtime, op het toestel zelf, zonder netwerkomweg.
Dat is een breed bereik. YouTube kijken, bellen, naar een podcast luisteren, een TikTok met geluid openen: dit alles wordt automatisch ondertiteld.
Wat het niet vastlegt
- De microfoon. Live Caption negeert de microfoon. Het gaat om wat je telefoon afspeelt, niet om wat er om je heen gebeurt.
- Ruimtelijke audiosignalen. Het transcribeert woorden. Muziek, ruimtegeluid, omgevingsgeluid: alles wordt weggelaten of simpelweg gelabeld (“[Muziek]”, “[Applaus]”).
- Locatiespecifieke talen buiten de ondersteunde set. De ondersteunde lijst is uitgebreid maar vormt nog steeds slechts een fractie van de gesproken talen ter wereld.
- De identiteit van bellers in groepsgesprekken. Het transcribeert, maar diariseert niet. Je ziet geen “Alex:” of “Mia:”, je ziet alleen tekst.
De microfoonkwestie is de grote. Als je de wereld om je heen wilt ondertitelen (een restaurant, een vergadering), heb je een aparte flow nodig, meestal een externe app met expliciete microfoontoestemming, soms met cloud-ASR voor nauwkeurigheid.
Wat dat betekent voor HearLab
De ondertitelmodus van HearLab is uitdrukkelijk een microfoon-ondertitelmodus. We proberen Live Caption niet te vervangen; Google heeft dat voor media-afspelen beter gedaan dan wij ooit zullen doen. We proberen te doen wat Live Caption niet doet: de ruimte om de gebruiker heen ondertitelen.
Die keuze heeft gevolgen:
- We hebben microfoontoestemming nodig, wat betekent dat we expliciete toestemming van de gebruiker en een heldere UX daaromheen nodig hebben.
- Cloud-ASR is een optie. Modellen op het toestel kunnen veel, maar cloud-ASR (Whisper, Deepgram, Google’s STT API) is nog steeds duidelijk beter voor rumoerige audio uit de echte wereld.
- De privacy-framing doet ertoe. Een app met een actieve microfoon die audio naar een cloud stuurt, moet heel duidelijk zijn over wat het doet, wanneer en hoe lang. Standaard uit en een expliciete opname-UI zijn niet onderhandelbaar.
Wat Live Caption goed doet en waar wij van kunnen leren
- Latentie: het model op het toestel levert binnen een seconde een eerste tekstweergave. Alles wat trager is dan dat doorbreekt de illusie van “ondertiteling”.
- Elegant onzeker zijn: bij lage betrouwbaarheid toont Live Caption lichtere, kleinere tekst. De gebruiker ziet dat het een gok is. Wij doen hetzelfde in HearLab: voorlopige resultaten worden cursief weergegeven, definitieve resultaten in het normale gewicht.
- Inline correctie: naarmate er meer context binnenkomt, kunnen eerdere woorden worden bijgewerkt. Dit vereist een UI die gebruikers niet straft voor het lezen van “live” tekst: de cursor blijft ongeveer waar het oog is, niet waar de tekst opnieuw wordt weergegeven.
Een ondertitelmodus bouwen in de browser
Voor de HearLab Companion-demo gebruiken we de Web Speech API (SpeechRecognition). Dit is in wezen Google’s cloud-ASR, ontsloten via Chrome/Edge, met enige fallback op het toestel in Safari. Het is het juiste startpunt om te prototypen omdat:
- Het in één regel is opgezet.
- Het voorlopige en definitieve resultaten standaard afhandelt.
- Het continue modus ondersteunt.
Het is het verkeerde eindpunt voor productie omdat:
- Het een gratis, door de browser bemiddelde route is zonder SLA.
- De levenscyclus fragiel is: de herkenner stopt op sommige platforms geruisloos na een paar minuten.
- Je geen controle hebt over welk model wordt gebruikt.
Voor een HearLab-companion in productie is Whisper (draaiend op een backend) of Deepgram de juiste keuze. De Web Speech API loodst ons door de prototypefase zonder dat we infrastructuurbeslissingen moeten nemen voordat ze nodig zijn.