Krish-Depani / Virtual-Voice-Assistant

Virtual Voice Assistant is a project that utilizes machine learning and natural language processing to enable users to control their devices using voice commands. Technologies used include TensorFlow, Keras, various Python libraries and RESTful APIs.
MIT License
60 stars 18 forks source link
ai assistant jarvis jarvis-ai jokes-api keras keras-models keras-neural-networks ml-based-assistant neural-networks personal-assistant python-voice-assistant scikit-learn tensorflow tmdb-api voice-assistant wolfram-alpha

Virtual-Voice-Assistant

Welcome to Virtual Voice Assisant, a virtual voice assistant that can help you with a variety of tasks. This project utilizes machine learning and natural language processing to create a natural and intuitive experience for users. With Virtual Voice Assistant, you can easily interact with your computer by simply speaking to it.

For a cool demo of this project watch this YouTube video

For more details checkout Project Report

Features

Our virtual voice assistant comes packed with a wide range of features, including:

NOTE: Please note that in order for the virtual voice assistant to send emails, the option for "Less secure apps" must be enabled within your Gmail account. To allow access you can click here.

API Keys

To run this program you will require a bunch of API keys. Register your API key by clicking the following links

Installation

Please make sure that Python and pip are installed on your system before proceeding with the installation.

Open a terminal and navigate to your home directory.

Clone the repository by using the command

git clone https://github.com/Krish-Depani/Virtual-Voice-Assistant.git

Navigate to the project directory using the command

cd Virtal-Voice-Assistant

Obtain all necessary API keys and open the file Virtual-Voice-Assistant/Data/.env to insert the keys into the designated placeholder fields.

Run the setup script by using the command

python setup.py

Navigate to the Virtual-Voice-Assistant/Plugins/ directory and run the below command to start the virtual voice assistant.

python main.py

You're all set! The virtual voice assistant should be up and running now.

Code Structure

├── Virtual-Voice-Assistant
    ├── Data                              
        ├── .env                          # Stores the API keys, email and password.
        ├── chat_model                    # Directory that stores the trained model used to understand user's intent
        ├── chats.db                      # Database file that stores the chat history
        ├── intents.json                  # Data on which the model is trained
        ├── label_encoder.pickle          # Converts text labels into numerical values
        └── tokenizer.pickle              # Splits the text into individual tokens
    ├── Plugins
        ├── API_functionalities.py        # Contains functions that interact with different APIs
        ├── browsing_functionalities.py   # Contains functions for web browsing
        ├── database.py                   # Contains functions for interacting with the chat history database
        ├── gmail.py                      # Contains functions for sending emails
        ├── image_generation.py           # Contains functions for generating images from text
        ├── main.py                       # It is the entry point of the virtual voice assistant
        ├── model_training.py             # Contains functions for training the intent recognition model
        ├── system_operations.py          # Contains functions for performing system operations
        └── websites.py                   # Contains a list of websites that the virtual voice assistant can open
    ├── requirements.txt                  # Lists the dependencies required for the project
    └── setup.py                          # Contains code for setting up the virtual voice assistant

License

The code in this repository is licensed under the MIT License. This means that you are free to use, modify, and distribute the code, as long as you include the original copyright and license notice. For more information about LICENSE please click here.

Thanks for checking out!!