Uitgelegd

Spraakherkenning cloud of lokaal

Allebei maken ze tekst van spraak. Het verschil is waar de computer staat die het doet, en vrijwel al het andere volgt uit die ene keuze.

Gidsen

Dezelfde klus, op twee plekken

Spraakherkenning is een stuk software dat een model draait: een groot bestand dat geoefend is om geluid in woorden om te zetten. Er is niets mystieks aan, en het moet ergens draaien.

In de cloud staat dat bestand op een server. Je telefoon neemt geluid op, stuurt het over het netwerk, wacht, en krijgt tekst terug. Je ziet het bestand nooit en je denkt er nooit aan, en dat is precies de aantrekkingskracht.

Lokaal staat het bestand op je eigen telefoon. De audio gaat nergens naartoe. Je telefoon laadt het model, doet het werk, en levert tekst zonder dat er iets een netwerk over gaat.

Uit die ene keuze volgt de rest: de wachttijd, de lengte van de talenlijst, de opslag die je kwijt bent, en waar je stem blijft.

Zo kom je erachter welke van de twee je hebt

Beschrijvingen zijn onbetrouwbaar, want privé, veilig en zelfs offline worden losjes gebruikt. Drie controles beslissen het.

Vliegtuigstand. Installeer de app, laat afmaken wat hij bij de eerste start wil binnenhalen, zet dan mobiele data en wifi uit en spreek iets in. Verschijnt er tekst, dan gebeurde het herkennen op je telefoon.

Kijk of er een model binnengehaald wordt. Een app die lokaal uitschrijft moet zijn model op de een of andere manier op je telefoon krijgen, dus hij vertelt je over een download van formaat. Een app die nooit iets binnenhaalt maar meteen uitschrijft gebruikt andermans hardware.

Kijk naar het datagebruik. Bij de app-instellingen van Android staat per app hoeveel data hij verbruikt heeft. Noteer dat cijfer, spreek een week lang veel in, en kijk opnieuw. Een app die je audio verstuurt, laat dat daar zien.

Let vooral op één uitdrukking. “Je aantekeningen worden lokaal bewaard” en “je spraak wordt lokaal herkend” klinken hetzelfde en betekenen iets totaal anders. Het eerste gaat over waar de tekst achteraf wordt opgeslagen en zegt helemaal niets over waar je stem heen ging.

Op capaciteit wint de cloud

Herkennen in de cloud kan enorm zijn. Een server heeft geheugen, koeling en gespecialiseerde hardware, dus het model kan veel groter zijn dan wat er ooit op een telefoon past. Meer capaciteit betekent doorgaans dat accenten, achtergrondgeluid, ongewone namen en snelle sprekers beter afgehandeld worden. Het kan ook centraal bijgewerkt worden, dus het wordt beter zonder dat jij iets doet, en het kan hele lange talenlijsten aan, omdat omvang daar niet de beperking is.

Lokaal herkennen wordt begrensd door je telefoon. Dat betekent een paar gigabyte geheugen dat je met alles deelt, geen ventilator, en een accu om te ontzien. Het model moet klein genoeg zijn om snel te laden en klaar te zijn voordat je je geduld verliest.

Daar valt niets tegenin te brengen.

De ruil aan de andere kant

Wat lokaal daartegenover zet en wat het je kost horen bij elkaar, want die twee zijn niet los te koppelen.

Het werkt zonder verbinding. Geen bereik, vliegtuigstand, een kelder, een land met de data uit: geen daarvan is een bijzonder geval, want het netwerk zat nooit in het proces.

Het faalt anders. Herkennen in de cloud faalt op een slechte verbinding meestal stilletjes. Het wacht, het loopt af, of de zin die je net zei raakt weg. Lokaal herkennen hangt niet van de verbinding af, dus die manier van mislukken bestaat er niet.

De wachttijd is van jou. Hoe snel de cloud is hangt af van je verbinding en van de drukte op andermans servers. Hoe snel lokaal is hangt af van jouw hardware en van de modelmaat die je koos, en aan die knop zit jij zelf.

Je audio gaat niet op reis. Hier komen de meeste mensen eigenlijk voor. Gebeurt het herkennen op je telefoon, dan is er geen upload, geen server die je stem ontvangt, en nergens anders een kopie ervan. Een eigenschap van de bouw, en geen belofte in een beleidsstuk.

Er is geen account nodig. Verwerken aan de serverkant houdt meestal in dat vastgesteld wordt wie het vraagt. Lokaal verwerken niet.

Het kost opslag. Het model moet op je telefoon staan. Afhankelijk van de maat die je kiest kan dat van tientallen tot honderden megabytes zijn, en op een telefoon die al vol zit telt dat.

Het kost geheugen terwijl het draait. Het model moet tijdens het uitschrijven in het geheugen staan, en daarom worstelen oudere telefoons met de grotere maten.

Het model is kleiner. Wat doorgaans iets minder nauwkeurigheid betekent dan de beste clouddiensten, zeker bij zware accenten of rumoerige ruimtes.

Er passen minder talen in. Meertaligheid kost omvang, dus een model op je telefoon dekt minder talen dan een model aan de serverkant.

Er is een eerste download. Het model moet ergens vandaan komen, en die stap vraagt een verbinding, ook al vraagt niets daarna er nog een.

Het gemengde geval is het lastigst

Er is een derde inrichting die vaak voorkomt, en die wordt makkelijk voor een van de andere twee aangezien.

Genoeg producten doen allebei. Ze schrijven uit op je telefoon wanneer de omstandigheden dat toelaten en grijpen naar een server als ze meer capaciteit, meer talen of meer snelheid willen. Soms kies jij; soms kiest de software voor je op grond van je hardware, je taal, of de vraag of een onderdeel klaar is met installeren.

Als techniek is dat verstandig. Je krijgt in elke situatie het beste antwoord dat er te halen valt.

Als garantie is het zwakker, en of dat je stoort hangt af van waarom je lokaal wilde. Wilde je het omdat je bereik onbetrouwbaar is, dan is gemengd prima: het valt terug en jij gaat door. Wilde je het omdat je liever niet hebt dat je stem verstuurd wordt, dan hangt de uitkomst af van een toestand die je moet bijhouden. Instellingen springen terug. Standaarden veranderen in een update. Een taal die je gaat gebruiken blijkt lokaal niet gedekt.

Zoek in de instellingen naar een schakelaar met het woord offline erin. Staat die er, dan heb je het gemengde geval te pakken en weet je waar je op moet letten na elke update.

Dagelijks schrijven tegenover opnames

De meeste mensen hebben het grootst mogelijke model niet nodig. Ze hebben spraakinvoer nodig die werkt op de momenten dat ze echt schrijven: een antwoord in de trein, een notitie in een winkel, een e-mail terwijl je loopt. Korte zinnen, één spreker, en een microfoon die vlak bij je gezicht zit.

De lastige gevallen zien er anders uit: vier mensen om een tafel met de microfoon in het midden, zwaar achtergrondgeluid, de opname van een college. Daar wint capaciteit aan de serverkant echt, en het is bovendien werk dat je meestal met opzet doet, met tijd om een bestand te uploaden en te wachten.

Voor het schrijfwerk van elke dag is lokaal de betere keuze. Voor de opnames die je bewust aan het vastleggen bent, de serverkant.

LocalType staat in het lokale kamp

LocalType is een Android-toetsenbord dat het herkennen op de telefoon doet, en er zit helemaal geen route naar de cloud in de app. Er komen drie modelmaten mee, van 60, 190 en 539 MB, zodat de afweging tussen opslag en snelheid van jou is en niet van ons, en het dekt achttien talen uit één meertalig model. Op een testtelefoon met 4 GB geheugen maakte de middelste maat in 4,1 seconden tekst van 6,9 seconden spraak.

Daarmee betaalt het elke prijs uit de lijst hierboven: opslag, geheugen, een eerste download, en een model dat kleiner is dan wat een server kan draaien. En het krijgt elk voordeel: geen account, geen upload, geen archief van je opnames, geen tracking binnen het product, en spraakinvoer die zich hetzelfde gedraagt of je nu bereik hebt of niet. In wachtwoordvelden zet de microfoon zichzelf uit, en de gegevens van de app blijven met opzet buiten de back-up van Android.

LocalType voor Android

Spraak naar tekst, privé op je eigen telefoon. De spraakherkenning draait op de telefoon zelf.

Ontdek op Google Play