The batch Whisper API was producing worse results than the live Web
Speech API transcript. Now the live text is used as-is when recording
stops. Audio still uploads for the AUDIO note attachment. Parakeet.js
offline fallback only triggers if no live transcript was captured.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dedicated standalone voice recorder page at /voice that works as an
installable PWA. Records audio with three transcription tiers running
in parallel: WebSocket streaming (live segments), Web Speech API (live
local), and batch Whisper API (high quality). Falls back to offline
Parakeet.js if all network tiers fail. Includes editable transcript,
notebook selection, copy-to-clipboard, and keyboard shortcuts.
PWA manifest updated with Voice Note shortcut for quick access from
taskbar right-click menu.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>