Skip to content
WM KeyboardWM Keyboard
Accessibility

Offline voice (Asr4All)

English dictation on your phone that writes the words while you speak, with punctuation and capitals.

Offline Asr4All is a dictation engine that runs entirely on your phone and listens as you speak. Where offline Whisper and offline Whistle record a phrase and transcribe it once you stop, Asr4All decodes the audio while it arrives: the words appear under the microphone as you say them, about a second and a half behind you, and when you stop the phrase is typed almost at once, because nearly all of it is already done. A second pass inside the model adds punctuation and capital letters, and repairs the mistakes a fast first pass makes. Once a model is downloaded, no audio leaves the phone.

It is English only. While a layout in another language is in use, dictation uses the system recognizer instead, the same way Whistle hands over its other languages.

Asr4AllWhistleWhisper
LanguagesEnglishEnglish, German, French, Spanish, Italian, Dutch, Polishall 99 of Whisper’s
Words while you speakyesnowhile it transcribes, on its whisper.cpp models
Punctuation and capitalsfrom its own second passfrom the modelfrom the model
Download38, 72 or 123 MB16.9 MBabout 40 MB to 1.5 GB
Longest phrasetwo minutes30 seconds30 seconds, two minutes on whisper.cpp models
Words to listen fornoyeson whisper.cpp models
Devicesevery phone, either edition64-bit ARM phones, Full editionevery phone; lite has the whisper.cpp models only

Pick Asr4All for English when you want to see the words as you go and get the phrase the moment you stop.

WM Keyboard  Voice typing

Choose Offline Asr4All under Recognition engine, then download a size from the Asr4All models group that appears below it:

  • Small (38.6 MB): quickest, and the model makers’ choice for older and low-power phones.
  • Medium (72.5 MB): more accurate, still comfortable on most phones.
  • Large (123 MB): the most accurate.

There is no separate switch for which one dictates: the largest size on the phone does. To go back to a smaller one, delete the larger. Each download comes from Hugging Face at a fixed revision, and both of its files are checked against their published SHA-256 before they count. A size that is part-way down resumes where it stopped.

The model is a streaming recogniser. Every 0.64 seconds of audio it commits the next 16 frames of text, each 40 ms long, looking 0.76 seconds further ahead to be sure of them, and carries what it has heard so far into the next step. So the cost is the same for every second you speak, however long the phrase runs, and a phrase can run to two minutes before the countdown under the microphone ends it.

The line under the microphone shows the words as they are recognised, without punctuation. When you stop, the second pass settles the last few words, and the phrase is typed with its full stops, commas, question marks and capitals, then goes through the same spacing, spoken punctuation and undo as any other dictation (see Voice typing).

On a desktop, its output matched the model makers’ own reference decoder word for word, punctuation included. Speed and accuracy on a phone are not yet measured by this project.

Not for other languages. A dictation that listens for several languages (see Language and engine) is Asr4All’s only when every one of them is English; otherwise it goes to the system recognizer.

No words to listen for. The model has a way to keep words a biasing decoder put there, but the decoder itself is not published, so Words to listen for has nothing to feed and does not show while Asr4All is the engine.

The runtime is built in. Asr4All runs on ExecuTorch, built for these models alone, so it adds about 3.8 MB on a 64-bit ARM phone, shared with Parakeet and Moonshine, where the general-purpose library would add over 10 MB.

The licence. The model weights come with their own licence, which allows dictation and personal use and forbids surveillance, profiling and similar uses. Its text is in the app’s About screen, with the other credits.

Both editions. The runtime is in full and lite alike. A build made without it, as F-Droid’s is, does not offer the engine.