Personal Assistant for Linux.
Currently Linux (Ubutnu 20.04) is supported. You may check if other distros are compatible
Python3
- You should have set sudo askpass (May change code to disable this. It will disable triggering of assistant by F8)
- Python3 is required and pip3 should be installed. (May work with python2 if certain changes are made)
-
Download the source code (or clone) to your computer.
-
Run install.py from source. This installs required packages for Veronica
There may be many errors as this utilises snowboy, a depreciated package.
-
Run veronica.py. You are good to go.
- Run veronica.py. (Doesn't need to be in terminal may open command and open veronica. )
- Enter Password. (Required to check if F8 is pressed)
- Trigger wake word or press F8 to call veronica, it will hear your quesry and respond to it if any command is understood
Run this code in terminal which gives you an interface to record voice and create pmdl file.You must have docker installed.
Make sure you choose a noiseless environment to prevent triggering false positives.
docker run -it -p 8000:8000 rhasspy/snowboy-seasalt
This script is developed by rhasspy and link is given below. https://github.com/rhasspy/snowboy-seasalt
After getting the pmdl file rename it to veronica.pmdl
and save it in models directory in the source you have downloaded (or cloned). This is a must for wake word to work correctly
Veronica asks for password so that it can check if user presses F8. Veronica utilises keyboard module from python which needs root permission for checking keyboard events.It does not store or send any keyboard event, just checks if F8 is pressed.
- Make sure you have working microphone
- Make pmdl file properly. While making pmdl you should make sure it had included the wake word you said.
- You can change sensitivity and audio gain in veronica.py.
line 94
This may improve ability of Veronica to recognise wake word.
While making pmdl you should have a noiseless environment.
You can add your personal command.For that,
- Go to command_main.py and add a function and name in command_dict dictionary.
Format
{"commands":[command list],"func":function_name}
where command list is list of commands which will be commanded , and function_name is name of function to used later.
- Now go to functions.py and define the function you had given in command_main.py
Add
def function_name(): python code
- This will add a function which will be triggered by commands with resemblence to commands list.
- Bring GUI
- Support for To-Do list