v150 · Web APIs · demo

Feature Detection & Setup

Check on-device speech support in this browser and try live transcription using the same SpeechRecognition interface — the browser handles routing to on-device or cloud automatically.

SpeechRecognition API
Local processing API
Platform
Active mode

Local processing probe

Chrome exposes on-device recognition through processLocally plus language-pack APIs. This panel checks those capabilities directly instead of guessing from the user agent.

Capability probe has not run yet.

Constructor
Checking…
processLocally
Checking…
available() / install()
Checking…
Selected language
en-US
Live Transcription
Press "Start listening" then speak — transcript appears here.

Configuration

// Chrome 150+ — on-device recognition via SpeechRecognition
const Recognition = window.SpeechRecognition || window.webkitSpeechRecognition;
const recognition = new Recognition();

// Standard setup — same as always
recognition.lang = 'en-US';
recognition.interimResults = true;
recognition.continuous     = true;
recognition.processLocally = true;

// Check and install the local language pack before start()
const availability = await Recognition.available({
  langs: ['en-US'],
  processLocally: true,
  quality: 'dictation'
});

if (availability === 'available') {
  recognition.start();
} else if (availability === 'downloadable') {
  await Recognition.install({ langs: ['en-US'], quality: 'dictation' });
}

// Feature detection
const supportsLocalProcessing =
  Recognition &&
  'processLocally' in Recognition.prototype &&
  typeof Recognition.available === 'function' &&
  typeof Recognition.install === 'function';

recognition.onresult = event => {
  const transcript = Array.from(event.results)
    .map(r => r[0].transcript)
    .join('');
  // Identical handling regardless of on-device vs cloud
};

see also