Read naturally. Short overlapping windows analyse your speech as it arrives. This prototype tests live sound recognition; its colours are experimental judgments, not validated pronunciation grades.
01 / Your reading
First, load the sound-recognition model. Then click Start when you’re ready.
First load downloads about 122 MB for HuBERT, or 318 MB for the original model. Internet is needed for the model and software; microphone audio is processed locally. No Azure account or API key.
Microphone off
Green = model accepts · Gold highlight = saved for pronunciation practice · Dotted underline = skipped · Amber = pause, listen and repeat · Red flash = listen and repeat
Check what was captured
After an attempt, listen to the captured audio. Excess trailing silence is omitted from model analysis. It stays in this page’s memory.
Record once, then compare engines using the same audio. Benchmarking does not change word colours or your practice list.
Selected model: HuBERT · experimental phoneme recognition
02 / Is it fast enough?—Latest model analysis time
—Result age from audio snapshot
—Processing device
These are measured processing times, not word-end-to-colour latency. Live reading grows from 0.8 seconds to at most 1.6 seconds of context, checking each new 0.24 seconds of audio when processing keeps up. Sounds near a window edge are held until the next window. Unresolved words can receive one sentence-sized context check after the microphone stops (maximum 12 seconds per check). Short recordings may also receive a final whole-recording check. Sustained uncertainty pauses live capture for a spoken stop prompt and a word retry, without counting a failed attempt. A successful repeat resets the current sentence and all later text. Isolated word retries use the whole word. The full-recording benchmark remains separate. Sound timings and joins are approximate; this prototype cannot yet measure true per-word feedback delay. Window joins may introduce recognition errors.
Timing details appear after analysis.
What did the model hear?
Sound labels: —
We compare sounds with pronunciation entries for the supplied texts, including common weak forms and British variants. Scoring is forgiving and does not grade a native accent. This heuristic may accept mistakes or reject valid accents. Borderline results stay amber. This is not a trained pronunciation scoring model.
Setup, limitations and test procedure
Use a recent desktop Chrome or Edge. Load the model once, allow microphone access, then read the selected sentence. Multiple CPU threads require the included hosting headers. Use Change engine to compare against one CPU thread while retaining the recording. GPU remains experimental. All modes may be slow. Stop if the device struggles. For longer texts, read continuously across sentences. The microphone stops after completion, five seconds of silence, or three minutes. Short tests and word retries retain the shorter limits. Switching tabs also stops the microphone.
Test the same sentence naturally three times, then deliberately say “cat” or “cloth” in place of “clothes.” Compare colours and timings. The prototype must pass both speed and accuracy tests before student use. If the microphone is blocked when opening this downloaded file, serve it on localhost or an HTTPS website.
Pronunciation entries include a converted subset of the CMU Pronouncing Dictionary (licence included in the download). Uses HuBERT phoneme recognition (Apache 2.0), ONNX Runtime (MIT), Wav2Vec2 phoneme recognition (Apache 2.0) and Transformers.js. The last recording stays in page memory for playback and is discarded when the page closes. Only the practice-word list is stored locally. Model downloads contact Hugging Face and jsDelivr.
A little extra practiceListen first, then try the word.
Listen to the example, wait for the countdown, then say the word. The microphone stays off during the example.