EVC is a tool for controlling a computer by speaking commands to it.
Features:
- controls the desktop and applications by simulating key presses
- suitable for everything except fast text entry (dictation)
- should work with any automatic speech recognition (ASR) system that can print transcribed utterances to stdout as text (scripts for kaldi and cmu pocketsphinx are provided)
- simple but powerful command language
- clean YAML-based config for command definitions, see example config
- command line prompt for visual and audio feedback (TODO: screenshot)
- command groups for applications auto-enabled based on process name or window title
Installing prerequisites on Ubuntu:
sudo apt install docker.io python3-click python3-termcolor python3-pygame libasound2-dev \
python3-pyaudio python3-dev python3-tk python3-psutil xdotool
Build the Kaldi ASR docker image (this can take half an hour, as it involves building Kaldi from source):
./build-kaldi.sh
mkdir ~/.evc-voice-commander
cp example_config/* ~/.evc-voice-commander/
vim ~/.evc-voice-commander/modes.yaml
./evc-voice-commander