Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Voice Dictation (Fedora/Wayland)

Continuous voice dictation using Silero VAD + Whisper + ydotool.

How it works

  1. Press Super+D → Start continuous listening
  2. Speak your text
  3. Pause ~1.8 seconds → Automatic transcription
  4. Text appears at cursor position
  5. Keep speaking (repeats automatically)
  6. Say "enter" at end of a sentence → sends Enter key
  7. Press Super+D → Stop

Requirements

System packages

sudo dnf install alsa-utils ydotool libnotify

User must be in the input group for ydotool:

sudo usermod -aG input $USER
# Log out and back in

Python packages

cd ~/Projects/Personal/dictation
uv sync

This creates a .venv/ with all dependencies. After a Python version upgrade (e.g. Fedora upgrade), rebuild with:

bin/rebuild-venv.sh

Installation

The scripts live in bin/ and are symlinked to ~/.local/bin/:

ln -sf ~/Projects/Personal/dictation/bin/dictation-continuous ~/.local/bin/dictation-continuous
ln -sf ~/Projects/Personal/dictation/bin/dictation-toggle ~/.local/bin/dictation-toggle

GNOME keybinding

Set up via GNOME Settings → Keyboard → Custom Shortcuts:

  • Name: Toggle Dictation
  • Command: ~/.local/bin/dictation-toggle nl
  • Shortcut: Super+D

Configuration

Edit bin/dictation-continuous to adjust:

Parameter Default Description
SILENCE_THRESHOLD 1.8 Seconds of silence before processing
VAD_THRESHOLD 0.45 VAD sensitivity 0–1 (higher = less sensitive)
MIN_SPEECH_DURATION 0.5 Minimum speech duration in seconds

Debugging

Logs are written to /tmp/dictation-debug.log:

tail -f /tmp/dictation-debug.log

Known issues

  1. PipeWire/PulseAudio piping doesn't work — uses arecord (direct ALSA) instead
  2. wtype doesn't work on GNOME Wayland — uses ydotool instead
  3. First start is slow — VAD and Whisper models need to load

About

Continuous voice dictation for Linux/Wayland using Silero VAD + Whisper + ydotool

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages