Ear

English speech-to-text, entirely in your browser. Nothing you say is sent anywhere — the model runs locally via WebAssembly.

Model card ↗

Loading model…
Transcript will appear here…

How Ear compares

ModelArtifact sizeWER test-cleanCER test-cleanIn-browserArchitecture
Ear int8 this demo 24 MB8.6%2.7% ✅ WebAssemblyTinyConformer-CTC, greedy
Ear fp3259 MB8.6%2.6% —Same accuracy, fp32 weights
Ear int4 exp. 9.7 MB9.7%3.0% —Groupwise int4 (group=64)
Whisper tiny.en142 MB5.1%†— ⚠️ ~340 MB totalEncoder-decoder, beam search
Whisper base.en244 MB4.2%†— ⚠️ ~600 MB totalEncoder-decoder, beam search
Whisper small.en967 MB3.3%†— ❌ Too largeEncoder-decoder, beam search

† Whisper WER from the OpenAI Whisper paper (greedy, test-clean). In-browser size includes the ONNX/WASM runtime — Whisper requires a full transformer runtime and tokenizer on top of the weights.
Ear's 8.6% is on the full 2,620-utterance test-clean set. On short utterances (≤3s), WER rises to 12.5%.

English clean read speech only. Trained on LibriSpeech train-clean-460 (460h, CC-BY-4.0). 29-character alphabet — no BPE, no vocab files, no language model.

Waiting for model…
WebAssembly · no network
Streaming results will appear here…
cloud · Google servers
Live results will appear here…

Ear re-runs inference on all audio so far every ~1.5 s — updates appear in italic while recording, then lock in when you stop. Chrome Web Speech streams in real time via Google's servers. Neither transcript leaves your device for Ear; Chrome's does.