Skip to main content

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

Project description

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 + 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 (e.g. easyspeak-lang-en) 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

easyspeak_linux-0.8.0.tar.gz (89.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

easyspeak_linux-0.8.0-py3-none-any.whl (103.3 kB view details)

Uploaded Python 3

File details

Details for the file easyspeak_linux-0.8.0.tar.gz.

File metadata

  • Download URL: easyspeak_linux-0.8.0.tar.gz
  • Upload date:
  • Size: 89.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for easyspeak_linux-0.8.0.tar.gz
Algorithm Hash digest
SHA256 ae975901ddc6407bdef3a5e4c3f4cb6ff9c5f49a76ea848527555d8256ae9d62
MD5 748ae2d52c47cb9ec5d93bc9366c6ea2
BLAKE2b-256 3c9e0aab7b2e09d50e84f1a48e444df232744f32f076c1a24759d19dfc1426cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for easyspeak_linux-0.8.0.tar.gz:

Publisher: release.yml on ctsdownloads/easyspeak

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file easyspeak_linux-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: easyspeak_linux-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 103.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for easyspeak_linux-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 100d3e39e5a2c0c3255268e9637ab1eb64f6599d1dd1d13fff6f5e3496a5d40b
MD5 56af713e2f82e7368a9d25596fe9558b
BLAKE2b-256 3b2c436415eec97a0995a83f74fb2c9ec0d6f9853097df3e68e1daa8a9b23f0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for easyspeak_linux-0.8.0-py3-none-any.whl:

Publisher: release.yml on ctsdownloads/easyspeak

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page