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 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
Gammatone-based spectrograms, using gammatone filterbanks or Fourier transform weightings.

Gammatone Filterbank Toolkit Utilities for analysing sound using perceptual models of human hearing. Jason Heeris, 2013 Summary This is a port of Malc

Jason Heeris 188 Dec 14, 2022
A Python wrapper around the Soundcloud API

soundcloud-python A friendly wrapper around the Soundcloud API. Installation To install soundcloud-python, simply: pip install soundcloud Or if you'r

SoundCloud 84 Dec 31, 2022
praudio provides audio preprocessing framework for Deep Learning audio applications

praudio provides objects and a script for performing complex preprocessing operations on entire audio datasets with one command.

Valerio Velardo 105 Dec 26, 2022
The venturimeter works on the principle of Bernoulli's equation, i.e., the pressure decreases as the velocity increases.

The venturimeter works on the principle of Bernoulli's equation, i.e., the pressure decreases as the velocity increases. The cross-section of the throat is less than the cross-section of the inlet pi

Shankar Mahadevan L 1 Dec 03, 2021
Implementation of "Slow-Fast Auditory Streams for Audio Recognition, ICASSP, 2021" in PyTorch

Auditory Slow-Fast This repository implements the model proposed in the paper: Evangelos Kazakos, Arsha Nagrani, Andrew Zisserman, Dima Damen, Slow-Fa

Evangelos Kazakos 57 Dec 07, 2022
An Amazon Music client for Linux (unpretentious)

Amusiz An Amazon Music client for Linux (unpretentious) ↗️ Install You can install Amusiz in multiple ways, choose your favorite. 🚀 AppImage Here you

Mirko Brombin 25 Nov 08, 2022
All-In-One Digital Audio Workstation and Plugin Suite

How to install Windows Mac OS X Fedora Ubuntu How to Build Debian and Ubuntu Fedora All Other Linux Distros Mac OS X Windows What is MusiKernel? MusiK

j3ffhubb 111 Sep 21, 2021
Sync Toolbox - Python package with reference implementations for efficient, robust, and accurate music synchronization based on dynamic time warping (DTW)

Sync Toolbox - Python package with reference implementations for efficient, robust, and accurate music synchronization based on dynamic time warping (DTW)

Meinard Mueller 66 Jan 02, 2023
Analysis of voices based on the Mel-frequency band

Speaker_partition_module Analysis of voices based on the Mel-frequency band. Goal: Identification of voices speaking (diarization) and calculation of

1 Feb 06, 2022
Anaphones are like anagrams, but for sounds.

Anaphones Anaphones are like anagrams but for sounds (phonemes). Examples include: salami-awesomely, atari-tiara, and beefy-phoebe. Anaphones can be a

James Murphy 18 Nov 02, 2022
Music generation using ml / dl

Data analysis Document here the project: deep_music Description: Project Description Data Source: Type of analysis: Please document the project the be

0 Jul 03, 2022
Synthesia but open source, made in python and free

PyPiano Synthesia but open source, made in python and free Requirements are in requirements.txt If you struggle with installation of pyaudio, run : pi

DaCapo 11 Nov 06, 2022
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
🎵 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
kapre: Keras Audio Preprocessors

Kapre Keras Audio Preprocessors - compute STFT, ISTFT, Melspectrogram, and others on GPU real-time. Tested on Python 3.6 and 3.7 Why Kapre? vs. Pre-co

Keunwoo Choi 867 Dec 29, 2022
NovaMusic is a music sharing robot. Users can get music and music lyrics using inline queries.

A music sharing telegram robot using Redis database and Telebot python library using Redis database.

Hesam Norin 7 Oct 21, 2022
Code for "Audio-driven Talking Face Video Generation with Learning-based Personalized Head Pose"

Audio-driven Talking Face Video Generation with Learning-based Personalized Head Pose We provide PyTorch implementations for our arxiv paper "Audio-dr

Ran Yi 497 Jan 09, 2023
Open-Source bot to play songs in your Telegram's Group Voice Chat. Powered by @Akki_ThePro

VcPlayer Telegram Voice-Chat Bot [PyTGCalls] ⇝ Requirements ⇜ Account requirements A Telegram account to use as the music bot, You cannot use regular

Akki ThePro 2 Dec 25, 2021
Accompanying code for our paper "Point Cloud Audio Processing"

Point Cloud Audio Processing Krishna Subramani1, Paris Smaragdis1 1UIUC Paper For the necessary libraries/prerequisites, please use conda/anaconda to

Krishna Subramani 17 Nov 17, 2022