• Stars
    star
    267
  • Rank 150,354 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 4 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Personal Voice Assistant made with Python and has a cool looking GUI

JARVIS (Just a Rather Very Intelligent System)

This was my attempt to make a voice assistant similar to JARVIS (in iron man movie)

Let's be honest, it's not as intelligent as in the movie, but it can do a lot of cool things and automate your daily tasks you do on your personal computers/laptops.

Built with

Features

For a cool demo of this project watch this YouTube video

It can do a lot of cool things, some of them being:

  • Greet user
  • Tell current time and date
  • Launch applications/softwares
  • Open any website
  • Tells about weather of any city
  • Open location of any place plus tells the distance between your place and queried place
  • Tells your current system status (RAM Usage, battery health, CPU usage)
  • Tells about your upcoming events (Google Calendar)
  • Tells about any person (via Wikipedia)
  • Can search anything on Google
  • Can play any song on YouTube
  • Tells top headlines (via Times of India)
  • Plays music
  • Send email (with subject and content)
  • Calculate any mathematical expression (example: Jarvis, calculate x + 135 - 234 = 345)
  • Answer any generic question (via Wolframalpha)
  • Take important note in notepad
  • Tells a random joke
  • Tells your IP address
  • Can switch the window
  • Can take screenshot and save it with custom filename
  • Can hide all files in a folder and also make them visible again
  • Has a cool Graphical User Interface

API Keys

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

Installation

  • First clone the repo
  • Make a config.py file and include the following in it:
    email = "<your_email>"
    email_password = "<your_email_password>"
    wolframalpha_id = "<your_wolframalpha_id>"
    
  • Copy the config.py file in Jarvis>config folder
  • Make a new python environment If you are using anaconda just type conda create -n jarvis python==3.8.5 in anaconda prompt
  • To activate the environment conda activate jarvis
  • Navigate to the directory of your project
  • Install all the requirements by just hitting pip install -r requirements.txt
  • Install PyAudio from wheel file by following instructions given here
  • Run the program by python main.py
  • Enjoy !!!!

Code Structure

โ”œโ”€โ”€ driver
โ”œโ”€โ”€ Jarvis              # Main folder for features 
โ”‚   โ”œโ”€โ”€ config          # Contains all secret API Keys
โ”‚   โ”œโ”€โ”€ features        # All functionalities of JARVIS 
โ”‚   โ””โ”€โ”€ utils           # GUI images
โ”œโ”€โ”€ __init__.py         # Definition of feature's functions
โ”œโ”€โ”€ gui.ui              # GUI file (in .ui format)
โ”œโ”€โ”€ main.py             # main driver program of Jarvis
โ”œโ”€โ”€ requirements.txt    # all dependencies of the program
  • The code structure if pretty simple. The code is completely modularized and is highly customizable
  • To add a new feature:
    • Make a new file in features folder, write the feature's function you want to include
    • Add the function's definition to init.py
    • Add the voice commands through which you want to invoke the function

Contribute

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests.

License

This project is licensed under MIT License 2021 Atharva Ingle

Future Improvements

  • Generalized conversations can be made possible by incorporating Natural Language Processing
  • GUI can be made more nicer to look at and functional
  • More functionalities can be added

More Repositories

1

Harvestify

A machine learning based website that recommends the best crop to grow, fertilizers to use, and the diseases caught by your crops.
Jupyter Notebook
383
star
2

Natural-Language-Processing

Documenting all the concepts and codes learned in NLP
Jupyter Notebook
25
star
3

Text-to-image-synthesis-with-AttnGAN

Text to Image Generation using Attentional Generative Adversarial Networks
Python
23
star
4

U.S.-Patent-Phrase-to-Phrase-Matching-Kaggle

31st place silver medal solution to USPPPM Kaggle competition
Python
20
star
5

AI-Agriculture-deployment

This is machine learning and deep learning based website which recommends the best crop to grow, fertilizers to use and the diseases caught by your crops.
Python
15
star
6

wandb-gradient-dissent-bot

Python
14
star
7

AMLP

Approaching (Almost) Any Machine Learning Problem
Jupyter Notebook
9
star
8

Machine-Learning

Curated resources (blogs +docs + websites) for Machine Learning
Jupyter Notebook
6
star
9

Gladiator07

5
star
10

Text-Summarizer

A transformer based extractive and abstractive text summariser
Python
5
star
11

Diabetes-Prediction-WebApp

HTML
4
star
12

Kaggle-Template

General code template for Kaggle competitions
Python
4
star
13

cricket-webapp

A machine learning based webapp which predicts the first innings score of an ongoing IPL match. Additionally, it can also predict the winning probability of a team in an ODI match
Jupyter Notebook
3
star
14

Deep-Learning-NYU

Deep Learning Course by New York University (Yann LeCun and Alfredo Canziani)
Jupyter Notebook
2
star
15

Sartorius-Neuronal-Cell-Segmentation-Kaggle

A bronze medal solution to the Kaggle Challenge -> Sartorius - Cell Instance Segmentation
Python
2
star
16

AQI-Prediction

Jupyter Notebook
1
star
17

Object-Detection

Implementations of object detection architectures
Python
1
star
18

Custom-PyTorch-Trainer-examples

My own custom PyTorch Trainer applied to several examples
Python
1
star
19

Transformers-from-scratch-in-PyTorch

Implementation of the paper (Attention is all you need)
Python
1
star
20

AQI-FastAPI

Jupyter Notebook
1
star
21

Deep-Learning

Jupyter Notebook
1
star
22

Computer-Vision

Implementations of major architectures and ideas in Computer Vision (with PyTorch)
Python
1
star
23

Bristol-Myers-Squibb-Translation-Kaggle

50th place solution of a Kaggle competition where we were given the task to translate old chemical images to its Inchi
Python
1
star
24

Bengali-AI-Handwritten-Grapheme-Classification

A kaggle competition solution in which we were given the image of a handwritten Bengali grapheme and were challenged to separately classify three constituent elements in the image: grapheme root, vowel diacritics, and consonant diacritics.
Jupyter Notebook
1
star
25

BLIP2-Report

Jupyter Notebook
1
star
26

Kaggle-Utils

Some utility functions/classes for Kaggle competitions
Python
1
star
27

Pneumonia-Detection

Pneumonia Detection with Computer Vision (in dev)
Jupyter Notebook
1
star
28

loan-approval-prediction

This is a webapp which will predict if a person will get a loan or not based on his credentials
Jupyter Notebook
1
star