Skip to content

Voice input: longer processing time limit, full priority while dictating, optional transcription while speaking - #797

Open
4di-hello wants to merge 1 commit into
LeanBitLab:mainfrom
4di-hello:feature/voice-dictation
Open

4di-hello wants to merge 1 commit into
LeanBitLab:mainfrom
4di-hello:feature/voice-dictation

Conversation

@4di-hello

Copy link
Copy Markdown
Contributor

Three changes for offline dictation, found while using it daily:

  • Processing time limit: the watchdog ends the final recognition after a fixed 15 s. Offline recognition of a longer message on a phone needs more, so longer dictations were cut off. Now at least 60 s, and 15 s plus three times the recording length. It still ends a hung session.
  • Priority while dictating: since the plugin is bound with BIND_NOT_FOREGROUND, it gets less CPU, and recognition took about twice as long. While recording and recognizing, a second binding with normal priority raises it; it is removed when the dictation ends, so the idle binding stays as it is.
  • Transcribe while speaking (new option, off by default): at every pause in speech the part spoken so far is transcribed already, with the recognized text as context for the next part. After stopping, only the last part is left, which shortens the wait for long dictations a lot. If the field or app changes meanwhile, the rest is dropped with a notice instead of going to the wrong place.

Also: recognized text is no longer written to the log, only its length.

Tests: VoiceProcessingTimeoutTest. Translations for the new texts: English and German.

… while dictating, optional transcription while speaking

- The final recognition was cut off after a fixed 15 s. Offline recognition of
  a longer message on a phone needs more: now at least 60 s, and 15 s plus
  three times the recording.
- The plugin is bound with BIND_NOT_FOREGROUND, so it gets less CPU and
  recognition took about twice as long. While recording and recognizing, a
  second binding with normal priority raises it; it is removed afterwards.
- New option (off by default) "Transcribe while speaking": at every pause in
  speech the part spoken so far is transcribed already, with the recognized
  text as context for the next part. After stopping only the last part is
  left. If the field changes meanwhile, the rest is dropped with a notice.
- Recognized text is no longer written to the log, only its length.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VuiaMhLXwhErf9shhrr1uD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant