Jarvis From Basic to Advance - make a voice assistant similar to JARVIS (in iron man movie)

Related tags

AudioJarvis-Mark-I
Overview

JARVIS (Basic to Advance)

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

Jarvis From Basic to Advance

  • Part - 1
  • Part - 2 under-working
  • Part - 3 under-working
  • Part - 4 under-working

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_password = " " wolframalpha_id = " " ">
    email = "
            
             "
    email_password = "
             
              "
    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

Future Improvements

  • Arduino interaction / Serial Comunication
  • Node MCU interaction
  • 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
Owner
codesempai
codesempai projects
codesempai
A tool for retrieving audio in the past

Rewinder A tool for retrieving audio in the past. Ever felt like, I need to remember that discussion which happened 10 min back. Now you can! Rewind a

Bharat 1 Jan 24, 2022
DeepMusic is an easy to use Spotify like app to manage and listen to your favorites musics.

DeepMusic is an easy to use Spotify like app to manage and listen to your favorites musics. Technically, this project is an Android Client and its ent

Labrak Yanis 1 Jul 12, 2021
A fast MDCT implementation using SciPy and FFTs

MDCT A fast MDCT implementation using SciPy and FFTs Installation As usual pip install mdct Dependencies NumPy SciPy STFT Usage import mdct spectrum

Nils Werner 43 Sep 02, 2022
Read music meta data and length of MP3, OGG, OPUS, MP4, M4A, FLAC, WMA and Wave files with python 2 or 3

tinytag tinytag is a library for reading music meta data of MP3, OGG, OPUS, MP4, M4A, FLAC, WMA and Wave files with python Install pip install tinytag

Tom Wallroth 577 Dec 26, 2022
Python wrapper around sox.

pysox Python wrapper around sox. Read the Docs here. This library was presented in the following paper: R. M. Bittner, E. J. Humphrey and J. P. Bello,

Rachel Bittner 446 Dec 07, 2022
Real-Time Spherical Microphone Renderer for binaural reproduction in Python

ReTiSAR Implementation of the Real-Time Spherical Microphone Renderer for binaural reproduction in Python [1][2]. Contents: | Requirements | Setup | Q

Division of Applied Acoustics at Chalmers University of Technology 51 Dec 17, 2022
Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications

A Python library for audio feature extraction, classification, segmentation and applications This doc contains general info. Click here for the comple

Theodoros Giannakopoulos 5.1k Jan 02, 2023
pyo is a Python module written in C to help digital signal processing script creation.

pyo is a Python module written in C to help digital signal processing script creation.

Olivier Bélanger 1.1k Jan 01, 2023
This is my voice assistant Patric!

voice-assistant This is my voice assistant Patric! You can add can add commands and even modify his name Indice How to use Installation guide How to u

Norbert Gabos 1 Jun 28, 2022
A Python library for audio data augmentation. Inspired by albumentations. Useful for machine learning.

Audiomentations A Python library for audio data augmentation. Inspired by albumentations. Useful for deep learning. Runs on CPU. Supports mono audio a

Iver Jordal 1.2k Jan 07, 2023
🎵 A music bot for discord servers!

music bot A music bot for Discord Servers Features Play songs in your discord server Get the lyrics without going on a web explorer Commands Command P

1 Jul 25, 2022
Code for csig audio deepfake detection

FMFCC Audio Deepfake Detection Solution This repo provides an solution for the 多媒体伪造取证大赛. Our solution achieve the 1st in the Audio Deepfake Detection

BokingChen 9 Jun 04, 2022
Minimal command-line music player written in Python

pyms Minimal command-line music player written in Python. Designed with elegance and minimalism. Resizes dynamically with your terminal. Dependencies

12 Sep 23, 2022
A rofi-blocks script that searches youtube and plays the selected audio on mpv.

rofi-ytm A rofi-blocks script that searches youtube and plays the selected audio on mpv. To use the script, run the following command rofi -modi block

Cliford 26 Dec 21, 2022
Spotify Song Recommendation Program

Spotify-Song-Recommendation-Program Made by Esra Nur Özüm Written in Python The aim of this project was to build a recommendation system that recommen

esra nur özüm 1 Jun 30, 2022
MelGAN test on audio decoding

Official repository for the paper MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis The original work URL: https://github.com

Jurio 1 Apr 29, 2022
Port Hitsuboku Kumi Chinese CVVC voicebank to deepvocal. / 筆墨クミDeepvocal中文音源

Hitsuboku Kumi (筆墨クミ) is a UTAU virtual singer developed by Cubialpha. This project ports Hitsuboku Kumi Chinese CVVC voicebank to deepvocal. This is the first open-source deepvocal voicebank on Gith

8 Apr 26, 2022
Noinoi music is smoothly playing music on voice chat of telegram.

NOINOI MUSIC BOT ✨ Features Music & Video stream support MultiChat support Playlist & Queue support Skip, Pause, Resume, Stop feature Music & Video do

2 Feb 13, 2022
Audio2midi - Automatic Audio-to-symbolic Arrangement

Automatic Audio-to-symbolic Arrangement This is the repository of the project "A

Ziyu Wang 24 Dec 05, 2022
A Python library and tools AUCTUS A6 based radios.

A Python library and tools AUCTUS A6 based radios.

Jonathan Hart 6 Nov 23, 2022