ctsdownloads/easyspeak

Voice control for Linux desktops. Fully local, no cloud, Wayland-native.

Python

160

413 commits

updated Sep 14, 2026

See the code

README

EasySpeak PyPI

Voice control for Linux desktops. Fully local, no cloud, Wayland-native.

Say "Hey Jarvis" and control your desktop with your voice.

License Platform Desktop Status Pipeline Safety Release Docs Benchmarks

⚠️ Early development. This project works but is not polished. Expect bugs, incomplete docs, and changes without notice.

Why EasySpeak?

Linux desktop voice control is a gap. Talon exists but has a steep learning curve and costs money for the full version. Most other tools are X11-only, abandoned, or cloud-dependent.

EasySpeak is free and open source (GPL-3.0), fully local (no cloud, no accounts), Wayland-native, simple ("Hey Jarvis, open downloads"), and extensible (drop a Python file in plugins/). Built for people with RSI, accessibility needs, hands-busy workflows, or anyone who wants to talk to their computer.

  • Wake word activation ("Hey Jarvis")
  • Mouse grid and experimental head tracking
  • Browser control, dictation, app launcher, media and system controls
  • pyopen-wakeword + Parakeet (or Whisper) + Piper, all on-device

Demo

Demo

Quickstart

Requirements: Linux with GNOME Shell 47+ on Wayland, Python 3.10–3.14 (tested against 3.10, 3.11, 3.12, 3.13, and 3.14), a microphone, and ~2 GB disk for models. Tested on Fedora 43.

# 1. System packages (Fedora; see the docs for the full list)
sudo dnf install python3 python3-devel gcc portaudio-devel \
  pipewire-utils wireplumber at-spi2-core python3-gobject libadwaita qutebrowser \
  glib2 ffmpeg-free pulseaudio-utils sound-theme-freedesktop

# 2. Get EasySpeak and run it (uv manages the virtualenv for you)
git clone https://github.com/ctsdownloads/easyspeak.git ~/easyspeak
cd ~/easyspeak
uv run easyspeak

You also need Piper TTS installed for voice feedback. See the Installation guide for the venv-based path, head tracking, and full details.

Prefer prebuilt packages? Grab the easyspeak app .deb/.rpm plus a language pack (easyspeak-lang-en; German, Italian, French and Spanish packs exist too) from the Releases page and install them together — a self-contained, offline install (Python runtime, piper, GNOME extension, and speech models). See the Packaging guide.

Then say "Hey Jarvis" followed by a command. Say "help" to list all commands.

Documentation

Acknowledgments

gnome
linux
python
voice-assistant
voice-control

Contributors

bittner

337 commits

ctsdownloads

59 commits

Copilot

12 commits

SolanumForte

2 commits

ctsdownloads/easyspeak

Voice control for Linux desktops. Fully local, no cloud, Wayland-native.

Python

160

413 commits

updated Sep 14, 2026

See the code

README

EasySpeak PyPI

Voice control for Linux desktops. Fully local, no cloud, Wayland-native.

Say "Hey Jarvis" and control your desktop with your voice.

License Platform Desktop Status Pipeline Safety Release Docs Benchmarks

⚠️ Early development. This project works but is not polished. Expect bugs, incomplete docs, and changes without notice.

Why EasySpeak?

Linux desktop voice control is a gap. Talon exists but has a steep learning curve and costs money for the full version. Most other tools are X11-only, abandoned, or cloud-dependent.

EasySpeak is free and open source (GPL-3.0), fully local (no cloud, no accounts), Wayland-native, simple ("Hey Jarvis, open downloads"), and extensible (drop a Python file in plugins/). Built for people with RSI, accessibility needs, hands-busy workflows, or anyone who wants to talk to their computer.

  • Wake word activation ("Hey Jarvis")
  • Mouse grid and experimental head tracking
  • Browser control, dictation, app launcher, media and system controls
  • pyopen-wakeword + Parakeet (or Whisper) + Piper, all on-device

Demo

Demo

Quickstart

Requirements: Linux with GNOME Shell 47+ on Wayland, Python 3.10–3.14 (tested against 3.10, 3.11, 3.12, 3.13, and 3.14), a microphone, and ~2 GB disk for models. Tested on Fedora 43.

# 1. System packages (Fedora; see the docs for the full list)
sudo dnf install python3 python3-devel gcc portaudio-devel \
  pipewire-utils wireplumber at-spi2-core python3-gobject libadwaita qutebrowser \
  glib2 ffmpeg-free pulseaudio-utils sound-theme-freedesktop

# 2. Get EasySpeak and run it (uv manages the virtualenv for you)
git clone https://github.com/ctsdownloads/easyspeak.git ~/easyspeak
cd ~/easyspeak
uv run easyspeak

You also need Piper TTS installed for voice feedback. See the Installation guide for the venv-based path, head tracking, and full details.

Prefer prebuilt packages? Grab the easyspeak app .deb/.rpm plus a language pack (easyspeak-lang-en; German, Italian, French and Spanish packs exist too) from the Releases page and install them together — a self-contained, offline install (Python runtime, piper, GNOME extension, and speech models). See the Packaging guide.

Then say "Hey Jarvis" followed by a command. Say "help" to list all commands.

Documentation

Acknowledgments

gnome
linux
python
voice-assistant
voice-control

Contributors

bittner

337 commits

ctsdownloads

59 commits

Copilot

12 commits

SolanumForte

2 commits

Languages

Python

87.9%

JavaScript

6.9%

Shell

2.1%

Nix

1.3%

Just

1.2%