rnotes-online/backlog/tasks/task-11 - Add-offline-Whisp...

1.1 KiB

id title status assignee created_date updated_date labels dependencies priority
TASK-11 Add offline Whisper transcription via Transformers.js Done
2026-02-15 17:17 2026-02-15 20:42
medium

Description

Implement WhisperOffline.tsx component that loads @xenova/transformers Whisper model in the browser. Cache model via Cache API (~40MB). Use as fallback in VoiceRecorder when WebSocket streaming is unavailable (offline, server down). Show download progress on first use. Currently the fallback is batch transcription via server - this would enable fully offline transcription.

Implementation Notes

Offline Whisper via @xenova/transformers v2.17.2 deployed. Model: Xenova/whisper-tiny (~45MB, quantized, cached in browser). Fallback chain: WebSocket streaming > server batch API > offline browser Whisper. webpack config: IgnorePlugin for onnxruntime-node, fs/path/os polyfill stubs. Build passes, deployed to Netcup.