Offline transcription, with nothing to install
After the first run has cached the speech model, TapeText transcribes with the network switched off. The model and the runtime are stored by the browser, so the page works on a plane, on a train, or on a machine deliberately kept off the network, without installing an application.
Offline transcription has had exactly two answers for years. Install Whisper and run it from a terminal, or buy a desktop application that wraps it. Both are good answers if you can install software. Neither helps on a managed work laptop, a borrowed machine, or a locked-down desktop in a newsroom or a hospital.
A web page is an odd third answer, because web pages are the thing that stops working when the network does. This one does not, for a specific reason: nothing about the transcription needs a server, so once the model is in the browser's cache there is nothing left to ask for.
How it goes
- 1
Once, with a connection: load the page and run a short file
This downloads the speech model and the runtime and leaves them in the browser cache. Do it before you board, not after.
- 2
Then, with no connection: open the page again
The browser serves the page and the cached model from disk. Drop a file in and it transcribes exactly as before.
- 3
Export without a connection too
SRT, VTT, text and Markdown are generated in the page and saved by the browser's own download, so exporting needs no network either.
What "offline" does and does not cover here
Being precise about this matters, because "works offline" is a claim people plan around and then discover a hole in at the worst moment.
What is cached: the speech model (two ONNX graphs and a tokenizer) and the WebAssembly runtime that executes them. Together between 60 and 170 MB depending on which model you chose and whether your machine uses its graphics adapter. The browser keeps these in its HTTP cache, served with a one-year immutable lifetime, so they survive reloads and restarts.
What is not cached: the page itself, on a first visit. There is no service worker here, which is a deliberate choice rather than an omission. A service worker would make the HTML available offline too, but it would also mean a background script with its own update rules sitting between you and the tool, on a site whose whole proposition is that you can see what it does. The practical effect is small: load the page once before you lose the connection and leave the tab open, or reload it while still online.
What never needed a connection in the first place: the decoding, the recognition, the editor, the exports. None of them has ever involved a server, which is why there is no degraded "offline mode": there is only the one mode.
The honest limit: if you clear your browser data, the model is gone and the next run needs a connection again.
Questions
- Does it work on a plane?
- Yes, provided you loaded the page and transcribed something once while connected. That first run caches the model; after it, no connection is used.
- How much does the first run download?
- Between about 60 MB and 170 MB in total: the runtime plus one of the two models. The faster model on a machine with a graphics adapter is the small end; the more accurate model is the large one.
- Is there a service worker or an installable app?
- No. The tool is an ordinary page with no background script. That means the HTML itself is not available offline on a first visit, which is the trade-off for there being nothing invisible running between you and it.
- Will it work on an air-gapped machine?
- Not from scratch, since the first run needs to fetch the model. On a machine that is never connected, a desktop tool such as Whisper or one of its wrappers is the right answer, and we would rather say so than sell you a page that cannot load.