1.1 KiB
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.