Explained

What Is Whisper

Whisper is a speech recognition model released by OpenAI. The important part is not how accurate it is. It is that you can have a copy.

Guides

A model, not a service

Whisper is a model: a large file, trained on a great deal of recorded speech, that turns audio into text. It handles many languages, and it was released with its weights available. The file does not sit behind a service, and anybody can fetch it.

That last detail is the reason it matters. Before models like this, decent speech recognition was something you rented. You sent audio to a company, they ran their model on their hardware, and you got text back. The model itself was never yours to hold.

Whisper made it possible to download the thing doing the work and run it on your own machine.

Why "you can run it yourself" was the big change

Two consequences follow, and both of them ended up inside the keyboard on your phone.

Your audio no longer has to travel. If the model is on your device, there is no upload, no server receiving your voice, and no copy of it anywhere else. None of that is a policy or a promise. It is a description of what the software does.

It keeps working without a connection. Nothing is being requested from anywhere, so a plane, a tunnel or a foreign SIM card stops being a problem.

Neither of those is about accuracy. They are about where the computation happens, and that turned out to be the property people cared about once they had the option.

It comes in sizes, and that is the whole trade

Whisper is not one file. It exists in several sizes, from small ones that run almost anywhere to large ones that expect serious hardware.

Bigger models generally handle accents, background noise, fast speech and unusual names better. They also need more memory, take longer to produce a result, and occupy more storage.

That single trade-off explains almost every difference between the apps built on it. A desktop tool with a graphics card available can run something large. A phone app cannot, so it picks something smaller and accepts the consequences. Anyone quoting desktop accuracy figures for a phone is comparing two different models.

Whisper on a phone

Running it on a handset is not simply a matter of copying the file across.

A phone has a few gigabytes of memory shared with every app you have open, no active cooling, and a battery it is trying to protect. Work that a laptop finishes without noticing will make a phone warm and slow.

Most mobile implementations therefore leave the original research code alone and build on an optimised reimplementation. The best known is whisper.cpp, a version written to run efficiently on ordinary processors, which is what makes on-device transcription practical on hardware that has no graphics card worth speaking of.

The practical result on a phone is: a smaller model than the one people praise online, a short wait after you stop talking, several hundred megabytes of storage at most, and fewer languages covered well than a server-side service would offer.

What "open weights" actually means

The phrase gets used loosely, and it is the whole reason any of this is possible.

A trained model is, in the end, a very large collection of numbers. Those numbers are the result of the training process and they are what does the recognising. Releasing them means anyone can download that collection and run it themselves.

That is different from open source in the strict sense. Open source usually means you can read the code that builds a thing. Open weights means you get the finished artefact. You can run it, measure it, build products on it and put it on a phone, but you cannot easily see how it came to hold the opinions it holds, because nobody wrote them as lines of code; they emerged from the training.

For a user, a model with available weights can be embedded in an app that never contacts a server, which is what makes offline dictation on a handset possible at all. Without that, every dictation app would necessarily be a client for somebody's service.

Why it does not solve punctuation the way you expect

One thing that surprises people moving from older dictation software.

Traditional systems expected you to say the punctuation aloud. "Comma". "New paragraph". Modern models generally infer it instead, from the rhythm of your speech and the shape of the sentence, which feels far more natural and is occasionally wrong in ways that saying it aloud never was.

Neither approach is better in every situation. Inferred punctuation suits messages and quick replies, where dictating "full stop" out loud is more effort than the punctuation is worth. Spoken commands suit long structured documents, where you want control and you are already dictating deliberately.

Check which one an app does before you judge it for getting a comma wrong. The two behave differently on purpose.

What it does not do

The name gets attached to things it is not.

It is not an assistant. It does not answer questions, summarise, or write text for you. It transcribes: sound in, words out.

It is not a recorder or a transcription service. Those are products built around a model, and they add storage, accounts, search and sharing on top.

And it is not automatically private. A model with downloadable weights can be run on a server just as easily as on your device. Plenty of cloud services use open models. The privacy property comes from where it runs, not from which model it is. So "powered by Whisper" on a product page tells you nothing on its own, and you still have to check.

How this shows up in the apps you can install

Because the weights are available, a lot of small projects have built on it, and several genuinely good on-device Android apps exist as a result. Some are open source and free, several handle English only, and each one picks its own point on the size-versus-speed line.

LocalType is built on the same principle: the model is a file on your phone and the recognition happens there, with no cloud path in the app. It ships three sizes so you can choose the compromise yourself, at 60, 190 and 539 MB, covers eighteen languages from one multilingual model, and works out which of them you are speaking from the recording, so you never touch a menu. To give the trade-off a number: on a test handset with 4 GB of memory the middle size turned 6.9 seconds of speech into text in 4.1 seconds.

The limits from earlier apply to it in full. Its models are smaller than anything a server would run, accuracy is uneven across those eighteen languages because training material is uneven, and a noisy room remains a noisy room.

Where the model runs, not which model it is

The interesting question about any dictation app is not which model it uses. It is where that model is running.

Same model on a server: your audio is transmitted, it needs a connection, and it is their hardware, not yours, that sets the ceiling. Same model on your phone: nothing is transmitted, it works in airplane mode, and capability is limited by what your handset can hold.

Which of the two you are using is answerable in ten seconds with the network off. Which model sits underneath is a detail you can look up afterwards, if you ever need to.

Get LocalType for Android

Private voice typing that runs on your phone, with speech recognition on the device itself.

Get it on Google Play