v1.0.7
What's Changed:
- Windowed-Sinc Anti-Aliasing Filter: Added a 64-tap windowed-sinc (Blackman) low-pass filter to the audio resampler in
src-tauri/src/audio_recorder.rs. This filters frequencies above 8kHz before downsampling, eliminating high-frequency aliasing artifacts on sibilants (like "s", "sh", "ch") and improving local Whisper accuracy. - Greedy Whisper Decoding: Switched the local Whisper runner to greedy decoding (
--best-of 1,--beam-size -1) insrc-tauri/src/whisper_runner.rs. This enforces a faster search method, yielding a 20–40% transcription speed boost for real-time dictation with negligible quality trade-off. - Context-Aware Cyrillic Replacements: Refined how
"<unk>"tokens are handled in the Parakeet model insrc-tauri/src/whisper_runner.rs. The replacement to"ё"now only applies when Cyrillic text is present in the transcript; otherwise, unknown tokens are stripped to avoid corruption in Latin or Chinese dictations. - Streamed Punctuation Downloader: Replaced full-memory buffering of the punctuation model archive with a RAM-efficient chunked downloader in
src-tauri/src/whisper_runner.rs. It includes automatic cleanup of stale downloads, timeout protections, and robust error propagation for failed extractions. - Process Buffer Safety: Added a 4,000 character safety limit for local punctuation in
src-tauri/src/whisper_runner.rs. Exceptionally long dictations will now skip formatting to prevent silent process crashes caused by the WindowsCreateProcesscommand-line argument limits. - Terminal-Safe Dictation Mode: Added a
copy_context_on_starttoggle under settings insrc-tauri/src/settings.rs. This allows users to disable automatic selection capture (which sendsCtrl+Cto copy text) when dictating into terminals whereCtrl+Cwould abort running shell tasks. - Precise Error Classification: Refined the network error checking in
src-tauri/src/lib.rsto distinguish account-level failures (like quota limits or invalid API keys) from transport-level unreachable networks. This prevents authorization issues from triggering a silent, unwanted local model fallback. - Mutex Livelock Protection: Replaced unsafe mutex lock unwrapping in
src-tauri/src/lib.rswith safe fallback handlers, preventing application-wide panics if a background thread poisons a shared mutex. - Reduced Streaming Latency: Halved the initial background streaming loop startup wait time from 4s to 2s in
src-tauri/src/lib.rsto provide a more responsive real-time typing feedback loop.
Full Changelog: v1.0.6...v1.0.7