Usage¶
uv manages the environment for you. If you installed into a plain virtual environment instead, activate it each time you open a new terminal and run the script directly:
Say "Hey Jarvis" followed by a command. After a command that gives no spoken reply (such as volume changes), EasySpeak keeps listening for a few seconds so you can chain commands — say "louder", "louder", "louder" without repeating the wake word each time.
Command-line options¶
| Flag | Default | Effect |
|---|---|---|
-v, --verbose |
Show debug output | |
-q, --quiet |
Show only warnings and errors | |
--configure [ITEM ...] |
extension service |
Set up the listed integrations and exit |
--preview ITEM |
Print the file content that would be configured and exit |
For --configure/--preview, each ITEM is one of extension, service,
autostart, or desktop. Verbosity can also be set with the
EASYSPEAK_LOG_LEVEL environment variable (e.g. DEBUG, INFO, WARNING),
but the command-line flags take precedence.
See core.cli and core.log for
the underlying argument parsing and logging setup.
Configuration¶
Behavior is tuned through EASYSPEAK_* environment variables, grouped below by
the module that reads each (linked to its API reference).
core.config¶
| Variable | Default | Effect |
|---|---|---|
EASYSPEAK_HOTKEY |
ctrl+shift |
Keys held to dictate without the wake word |
EASYSPEAK_OFFLINE |
strict |
Stay offline; relaxed downloads models |
EASYSPEAK_PIPER_BIN |
piper |
Piper TTS binary |
EASYSPEAK_PIPER_MODEL |
bundled Amy voice | Piper voice .onnx for speech output |
EASYSPEAK_SOUNDS_DIR |
/usr/share/sounds/freedesktop/stereo |
Directory of the wake chime and error bell |
EASYSPEAK_WHISPER_COMPUTE_TYPE |
int8 |
CTranslate2 compute type |
EASYSPEAK_WHISPER_CPU_THREADS |
0 |
CPU threads for transcription (0 = auto) |
EASYSPEAK_WHISPER_MODEL |
base.en |
faster-whisper model for transcription |
EASYSPEAK_HOTKEY takes the ctrl/shift/alt/super aliases or raw evdev
key names joined with + (e.g. ctrl+space); set it to empty, off, or none
to turn it off, and an unrecognized key disables it too. See
Packaging for the device access it needs.
core.log¶
| Variable | Default | Effect |
|---|---|---|
EASYSPEAK_LOG_LEVEL |
INFO |
Logging level when no -v/-q flag is given |
plugins.dictation¶
| Variable | Default | Effect |
|---|---|---|
EASYSPEAK_ATSPI_PYTHON |
python3 |
Interpreter running the dictation AT-SPI helper |