Enable WebGPU backend for local Whisper transcription
Enable WebGPU backend for local Whisper transcription
src/utils/models.js:101 pins the local speech service to WASM:
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!
Source: dessant/buster