Linux Voice Activated Macro
Go to file
Daniele Scasciafratte 9a63418228 other cleanup 2019-04-21 15:12:34 +02:00
.idea added the initial version for voice command spotting 2019-04-17 11:52:40 +08:00
.img other cleanup 2019-04-21 15:12:34 +02:00
keyboard other cleanup 2019-04-21 15:12:34 +02:00
model/en-us added the initial version for voice command spotting 2019-04-17 11:52:40 +08:00
pynput other cleanup 2019-04-21 15:12:34 +02:00
.gitignore adding gitignore 2019-04-21 15:10:20 +02:00
LICENSE.txt Added GPLv3 licence 2019-04-19 17:37:01 +01:00
README.md other updates 2019-04-21 14:58:46 +02:00
command.list Added GPLv3 licence 2019-04-19 17:37:01 +01:00
commandeditwnd.py added the initial version for voice command spotting 2019-04-17 11:52:40 +08:00
commandeditwnd.ui added the initial version for voice command spotting 2019-04-17 11:52:40 +08:00
keyactioneditwnd.py initial commit 2019-04-08 22:20:07 +08:00
keyactioneditwnd.ui initial commit 2019-04-08 22:20:07 +08:00
main.py adding permission to main.py 2019-04-21 15:10:41 +02:00
mainwnd.ui initial commit 2019-04-08 22:20:07 +08:00
mouseactioneditwnd.py initial commit 2019-04-08 22:20:07 +08:00
mouseactioneditwnd.ui initial commit 2019-04-08 22:20:07 +08:00
pauseactioneditwnd.py initial commit 2019-04-08 22:20:07 +08:00
pauseactioneditwnd.ui initial commit 2019-04-08 22:20:07 +08:00
profileeditwnd.py added the initial version for voice command spotting 2019-04-17 11:52:40 +08:00
profileeditwnd.ui initial commit 2019-04-08 22:20:07 +08:00
profileexecutor.py added the initial version for voice command spotting 2019-04-17 11:52:40 +08:00
profiles.dat Added GPLv3 licence 2019-04-19 17:37:01 +01:00
set_kws_threshold.py added the initial version for voice command spotting 2019-04-17 11:52:40 +08:00
ui_commandeditwnd.py added the initial version for voice command spotting 2019-04-17 11:52:40 +08:00
ui_keyactioneditwnd.py initial commit 2019-04-08 22:20:07 +08:00
ui_mainwnd.py initial commit 2019-04-08 22:20:07 +08:00
ui_mouseactioneditwnd.py initial commit 2019-04-08 22:20:07 +08:00
ui_pauseactioneditwnd.py initial commit 2019-04-08 22:20:07 +08:00
ui_profileeditwnd.py initial commit 2019-04-08 22:20:07 +08:00

README.md

LinVAM

Linux Voice Activated Macro

Status

This project is currently a work-in-progress and is minimally functional only for english.

Utilising Pocketsphinx, a lightweight voice to text engine you can specify voice commands for the tool to recognise and actions to perform.

Known bugs and planned additions

  • To save and use changes click Ok on the main GUI then reload.
  • Remember last loaded profile and load on start
  • Log window showing spoken words the V2T recognises with ability to right click and assign voice command and actions to current profile
  • Support for joysticks and gaming devices

Requirements

  • python3
  • PyQt5
  • python3-xlib
  • pocketsphinx
  • swig3.0

Install

  • $ pip3 install PyQt5
  • $ pip3 install python3-xlib
  • $ pip3 install pyaudio
  • $ sudo ln -s /usr/bin/swig3.0 /usr/bin/swig
  • $ pip3 install pocketsphinx
  • $ sudo apt-get install swig3.0
  • $ git clone https://github.com/rose-jinyang/LinVAM.git

Usage

This script must be run with root privilege because it must hook and simulate input devices such as keyboard, mouse etc.

  • $ cd LinVAM
  • $ xhost +
  • $ sudo ./main.py

Profiles

Multiple profiles are supported. To create a new profile for a specific task/game click new and the main profile editor window will be displayed

Main GUI

Key combinations

To assign key combinations first decide which functional key to press by clicking on Ctrl, Alt, Shift or Win to denote left or right key then press the actual command key

Main GUI

Complex commands

It is possible to add multiple actions to a voice command for complex macros with the ability to add a pause between each action. You can also assign mouse movements and system commands if you require (eg opening applications such as calculator, browser etc)

Main GUI

Threshold

As a rough guide use a value of 10 for each syllable of a word then tweak it down for better accuracy.