Skip to content

v0.7.1 - Cleanup ASR mishearing license + speedup

Choose a tag to compare

@willbilec willbilec released this 06 Jul 02:46
· 2 commits to main since this release

v0.7.1 - Cleanup ASR mishearing license + speedup

Highlights

  • Moderate cleanup now fixes obvious ASR mishearings — we → you when addressing a single listener, tensor flow → TensorFlow, post gress SQL → PostgreSQL, their/there/they're homophone swaps. The previous prompt was so restrictive that the model had nothing actionable to fix on Whisper's already-clean output.
  • Cleanup is roughly twice as fast for default users. The Groq client now sends reasoning_effort: "low" for gpt-oss models, capping the chain-of-thought that was wasted on a fully rule-bound cleanup prompt. Plus a hard max_completion_tokens: 2000 cap and include_reasoning: false so the model can't burn 30s generating forever or ship bytes we never read.
  • Double-press NVDA+Shift+V (within 500 ms) force-stops the add-on from any state. Cancel token, all the gates, dirty buffer cleared. The escape hatch that should never have been needed in the first place.
  • Custom microphone no longer silently reverts to "System default" when the saved device is on a filtered host API. ensure_device_in_choices() injects the saved device so the dialog shows it as the active selection.
  • Add-on no longer gets stuck on "Processing" if PortAudio's stop_stream() hangs (Realtek, several USB devices). AudioRecorder.stop() now isolates the call so close() always runs.

Full changelog

See CHANGELOG.md for the per-version detail (v0.6.0, v0.6.1, v0.7.0, v0.7.1).

Install

Replace your existing add-on installation with the attached groqVoiceDictation-0.7.1.nvda-addon, then restart NVDA (or toggle the add-on off/on from the add-ons manager).

Tests

188 unit tests pass: python -m pytest tests/