Transcriptie zonder upload: zo draait Whisper in je browser
Bijgewerkt op
Bij TranscriptBalance draait de spraakherkenning Whisper rechtstreeks in je browser, op je eigen apparaat. Je audio- en videobestanden worden niet geüpload: alleen de modellen komen van internet, eenmalig gedownload en daarna in je browser bewaard.
Hoe draait Whisper in een browser?
Whisper is een open spraakherkenningsmodel van OpenAI (MIT-licentie). TranscriptBalance voert het uit met transformers.js en ONNX Runtime Web, twee bibliotheken waarmee AI-modellen in de browser kunnen rekenen. Dat kan op twee manieren:
- WebGPU: kan je browser de videokaart gebruiken, dan rekent Whisper daarop. Dat is de snelste manier.
- WebAssembly: zonder WebGPU rekent dezelfde app op de processor, verdeeld over meerdere kernen. Dat werkt in vrijwel elke recente browser, maar duurt langer.
Welke manier past, controleert de app zelf bij het starten. Kan de videokaart een model niet laden of valt ze uit, dan schakelt de app waar mogelijk over op de processor. Je bestand wordt in de browser uitgelezen, omgezet naar geluid van 16 kHz, bij spreekpauzes in stukken van hoogstens 28 seconden verdeeld en stuk voor stuk getranscribeerd. De live-modus rekent altijd op de processor met kleine modellen, zodat de videokaart vrij blijft voor de AI.
Wat wordt er eenmalig gedownload?
Niets bij het openen van de pagina, pas wanneer je een functie start. Dan downloadt je browser:
- het gekozen Whisper-model, van Hugging Face. Op de processor: Bliksem 44 MB, Snel 80 MB, Gebalanceerd 252 MB. Met WebGPU: Bliksem 122 MB, Snel 209 MB, Gebalanceerd 589 MB, Nauwkeurig (large-v3-turbo) 762 MB.
- de sprekerherkenning (pyannote en WeSpeaker, samen ongeveer 13 MB), als je die aanzet.
- voor de live-modus een apart Duits Whisper-model (231 MB) of Whisper base voor andere talen (80 MB), plus Silero VAD (ongeveer 2 MB), dat herkent wanneer er gesproken wordt.
- Gemma 3 1B (ongeveer 0,8 GB) voor samenvattingen, alleen als de ingebouwde AI van Chrome dat niet kan overnemen, bijvoorbeeld bij Nederlandse tekst.
- ONNX Runtime, de runtime, van jsDelivr, de eerste keer dat een model start.
Alles komt in de opslag van je browser (het Origin Private File System) en wordt de volgende keer daaruit geladen. De app vraagt de browser ook om deze bestanden niet uit zichzelf te wissen. Zoals bij elke download zien Hugging Face en jsDelivr je IP-adres en welk bestand je ophaalt, maar geen inhoud.
Wat verlaat je apparaat nooit?
- Je geluid: bestanden, microfoon en gedeeld tabblad- of schermgeluid. In de live-modus blijft het geluid alleen in het werkgeheugen en wordt het niet opgeslagen.
- Je resultaten: transcripten, sprekernamen, samenvattingen en opgeslagen sessies staan alleen in de opslag van je browser (IndexedDB).
- Je exports: TXT, Word, SRT en de andere formaten maakt je browser rechtstreeks als bestand op je apparaat.
Omdat niets daarvan bij ons staat, kunnen we ook niets terughalen. Exporteer wat belangrijk voor je is.
Hoe controleer ik dat zelf?
- Open TranscriptBalance in Chrome, Edge of Firefox en druk op F12 (of klik met de rechtermuisknop en kies ‘Inspecteren’). Ga naar het tabblad ‘Netwerk’.
- Zet een bestand neer en start de transcriptie.
- Je ziet downloads van huggingface.co of hf.co en cdn.jsdelivr.net (vooral de eerste keer), onderdelen van de app van ons eigen domein en korte meldingen naar
/api/e. Een verzoek dat je bestand uploadt, is er niet.
Klik op een /api/e-melding om de inhoud te zien: het soort actie en grove gegevens zoals het model en de lengte afgerond op minuten, nooit tekst of bestandsnamen.
Wat gaat er naar buiten bij optionele functies?
- Gemini met je eigen sleutel (alleen in de live-modus, vrijwillig, vanaf 18): dan stuurt je browser fragmenten van het transcript en je vragen rechtstreeks naar Google, niet naar ons. Zonder Gemini gebruikt de live-modus de ingebouwde AI van Chrome op je apparaat, of helemaal geen AI.
- Chrome-AI: Chrome downloadt het model de eerste keer zelf bij Google (ongeveer 4 GB). Je tekst wordt op je apparaat verwerkt.
- Agendalinks: een klik op ‘Google Agenda’ of ‘Outlook’ stuurt de titel, het tijdstip en de beschrijving van een afspraak door. Het .ics-bestand blijft op je apparaat.
- Anonieme gebruiksstatistiek: we tellen bezoeken en gebruikte functies, zonder cookies, zonder opgeslagen IP-adressen en nooit met inhoud. De schakelaar in de app onder ‘Info en licenties’ stopt de meldingen over functies. Met Global Privacy Control of Do Not Track stuurt de app niets en wordt ook je bezoek niet geteld.
Alle details staan in de privacyverklaring.
Vereisten en grenzen
- Browser: WebGPU zit bijvoorbeeld in recente versies van Chrome en Edge op een computer, en afhankelijk van versie en apparaat ook in andere browsers. Zonder WebGPU draait alles op de processor, behalve het model ‘Nauwkeurig’ en samenvattingen met Gemma.
- Snelheid: met een videokaart gaat transcriberen meestal veel sneller dan de opname lang is. Op zwakkere apparaten zonder WebGPU kan een nauwkeuriger model even lang duren als de opname zelf, of langer. De app meet hoe snel je apparaat is en raadt op basis daarvan een model aan.
- Werkgeheugen: het geluid wordt in het werkgeheugen verwerkt. Heel lange opnames lopen op een smartphone sneller tegen grenzen aan dan op een computer.
- Tabblad open laten: er wordt alleen gerekend zolang de pagina open is. De app houdt je scherm aan en kan je bij opdrachten met meer dan 10 minuten geluid een melding sturen als alles klaar is.
- Opslagruimte: de modellen nemen ruimte in op je apparaat. Wist je browser de sitegegevens, dan downloadt hij ze de volgende keer opnieuw.
Veelgestelde vragen
Is transcriberen in de browser AVG-proof?
TranscriptBalance krijgt je inhoud nooit: geluid, transcripten en bestandsnamen blijven op je apparaat en geen enkele server verwerkt ze. Gebruik je een opname voor meer dan privédoeleinden, dan ben je wel zelf verantwoordelijk voor de privacy van de mensen erin. Vraag bij interviews of vergaderingen hun toestemming en volg de regels van je hogeschool, universiteit of werkgever.
Ziet Hugging Face wat ik transcribeer?
Nee. Hugging Face levert alleen de modelbestanden en ziet daarbij, zoals bij elke download, je IP-adres en welk model je ophaalt. Bij het Duitse live-model is daaraan te zien dat je Duits transcribeert. Geluid en tekst gaan nooit naar Hugging Face.
Waarom duurt de eerste keer langer?
De eerste keer downloadt je browser het Whisper-model, afhankelijk van het model tussen 44 en 762 MB. Daarna staat het in je browser en start TranscriptBalance zonder nieuwe download.
Hoe verwijder ik de modellen en mijn transcripten?
In de modelkeuze van TranscriptBalance verwijder je transcriptiemodellen één voor één met ‘Model verwijderen’; ‘Alles verwijderen’ wist alle opgeslagen modelbestanden. Transcripten haal je één voor één weg of met ‘Nieuw’, opgeslagen sessies met ‘Sessie verwijderen’. Alles in één keer verdwijnt als je in je browser de sitegegevens van TranscriptBalance wist.
Waarom heeft het model ‘Nauwkeurig’ een videokaart nodig?
‘Nauwkeurig’ is Whisper large-v3-turbo, het grootste van de vier modellen van TranscriptBalance. Op de processor zou het te traag zijn voor lange opnames, daarom biedt de app het alleen met WebGPU aan. Zonder WebGPU is ‘Gebalanceerd’ (Whisper small) de nauwkeurigste keuze.
Draait de AI-samenvatting ook lokaal?
In de bestandsmodus wel. TranscriptBalance gebruikt eerst de ingebouwde AI van Chrome (Gemini Nano) en anders Gemma 3 1B via WebGPU, allebei op je apparaat. Nederlandse tekst wordt altijd door Gemma samengevat. Alleen in de live-modus kun je vrijwillig Gemini koppelen met je eigen Google-sleutel; dan gaan er fragmenten van het transcript naar Google.