#468·buster

Enable WebGPU backend for local Whisper transcription

Author: chirag127Created Jul 1, 2026Updated Jul 7, 2026

Enable WebGPU backend for local Whisper transcription

src/utils/models.js:101 pins the local speech service to WASM:

javascript
const options = {device: 'wasm', dtype: 'q8'};
// ...
return ['automatic-speech-recognition', 'Xenova/whisper-tiny', options];

Since minimum_chrome_version is already 123.0 (WebGPU shipped in Chrome 113 stable), the extension can opt into device: 'webgpu' when available and fall back to wasm. @huggingface/transformers supports this natively via device: 'webgpu' + dtype: 'fp16' (or 'q4'/'q8' mixed) for whisper-tiny.

Expected impact on the managed-local path: transcription latency drops from several seconds (WASM q8) to sub-second on any WebGPU-capable device, which materially improves the "solve within reCAPTCHA's time window" success rate.

Suggested shape: probe navigator.gpu at init; if available, prefer {device: 'webgpu', dtype: 'fp16'}, else keep the current WASM path.

Thanks for the great work on Buster!