v150 · Web APIs · Speech
Offline Transcript
On-device speech recognition runs entirely locally — no audio ever leaves the device. This demo lets you toggle between simulated "online" and "offline" states to show that on-device transcription continues working without network access, while cloud-based recognition would fail. The data-flow diagram updates to show which path your audio takes.
Checking Web Speech API support…
recognition mode:
on-device mode — audio stays local
🎤 microphone
→
🧠 on-device model
→
📄 transcript
waiting for input
status log
code
const recognition = new SpeechRecognition();
// Request on-device recognition (Chrome 150+)
// Throws or falls back visibly if a local pack is unavailable
recognition.processLocally = true; // require on-device processing
await SpeechRecognition.available({
langs: [recognition.lang],
processLocally: true,
});
recognition.interimResults = true;
recognition.continuous = true;
recognition.onresult = (event) => {
const latest = event.results[event.results.length - 1];
const text = latest[0].transcript;
const isFinal = latest.isFinal;
// On-device: works offline, no audio sent to cloud
appendToUI(text, isFinal);
};
recognition.start();