This repository contains an enhanced version of nerd-dictation with improved timeout handling and robust wrapper scripts.
- Timeout-to-Suspend: Modified the timeout handling to trigger a suspend action instead of ending dictation after a period of silence
 - Memory Efficiency: Smart process management that reuses already-loaded models instead of restarting
 - Robust Wrapper Scripts: Comprehensive scripts for starting, suspending, resuming, and ending dictation
 - Systemd Logging: Full integration with systemd journal for better monitoring and debugging
 
nerd-dictation: The main modified script with timeout-to-suspend functionalitydictation_scripts/: Wrapper scripts for interacting with nerd-dictation
start_voice_dictation.sh: Starts dictation (or resumes a suspended instance for efficiency)suspend_voice_dictation.sh: Suspends dictation while keeping the model in memoryresume_voice_dictation.sh: Resumes suspended dictationend_voice_dictation.sh: Completely ends dictation and cleans up resourcesdictate-to-clipboard: Dictates text to clipboard instead of typing itdictate-fast: Faster dictation utilityfast_start_voice_dictation.sh: Starts dictation with optimized settingsfastest_voice_dictation.sh: Uses the smallest model for maximum speed
The default timeout functionality in nerd-dictation would end the dictation process after a period of silence. This enhanced version instead:
- Suspends the process, keeping the speech model loaded in memory
 - Creates a marker file for wrapper scripts to detect suspended state
 - Allows for efficient resumption without reloading the model
 
- Clone this repository
 - Make scripts executable: 
chmod +x nerd-dictation dictation_scripts/* - Create a symlink to nerd-dictation in your path
 - Copy the wrapper scripts to a location in your path (e.g., 
~/.local/bin/dictation_scripts/) 
The timeout duration is configurable in the start_voice_dictation.sh script by changing the NERD_DICTATION_SILENCE_TIMEOUT variable.
- Original nerd-dictation by ideasman42
 - Enhancements and wrapper scripts by SystemicVoid