Virtual assistent that can open websites and do researchs on them, open programs, play music, set reminders and add new voice commands without need to code
👉Youtube link demonstrating the bot: https://youtu.be/jjMbnQShabMThis project uses a voice recognition library to automate actions from the commands.json
file, this way, we can add more voice commands to the file and the assistent will be
able to do those tasks without changing the code, since most of the tasks are dinamic (you can open up any website you want,
add a command to open any program you have locally, etc)
Modules:
- OpenModule: open websites and do research inside them, open programs, reload the
commands.json
to update the modifications added; - MusicModule: play music (it's going to get the music from the Youtube's first result) in an invisible player, this way it won't remove focus from your gameplay when you request a song for example, pause song, remove song.
- AlarmModule: set reminders
- SpeechRecognition — Library for performing speech recognition, with support for several engines and APIs, online and offline.
- pyttsx3 — A text-to-speech conversion library in Python. Unlike alternative libraries, it works offline, and is compatible with both Python 2 and 3.
- PyDub — Manipulate audio with a simple and easy high level interface.
- Pytube — Pytube is a lightweight, Pythonic, dependency-free, library (and command-line utility) for downloading YouTube Videos.
- python-vlc — Bindings to manipulate vlc player.
- keyboard — Take full control of your keyboard with this small Python library.
- Clone this repo running on your terminal
git clone https://github.com/Gust4voSales/Marvin-VirtualAssistent/
- Install Poetry (https://python-poetry.org/docs/#installation)
- Inside the project folder run
poetry install
- Download and install VLC 64bit version (https://www.videolan.org/vlc/) for the MusicModule player
- To run the assistent without showing a terminal window, run
poetry run pythonw main.py
. Then you can close this terminal window (the program is running in the background) - To run normally:
poetry run python main.py
- Install all dependencies:
-
pip3 install SpeechRecognition
-pip3 install PyAudio
-pip3 install pyttsx3
-pip3 install pydub
-pip3 install keyboard
-pip3 install Pytube
- Download and install VLC 64bit version (https://www.videolan.org/vlc/) for the MusicModule player-pip3 install python-vlc
- To run the assistent without showing a terminal window, then open up the terminal on the project folder and run
pythonw main.py
. Then you can close this terminal window (the program is running in the background) - To run normally:
python main.py
* Some dependencies such as pyaudio are not being manteined properly and may not work when installed through pip or require more debugging + searching in order to make it work :(