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
SolidMusic rewrite version, need help

Telegram Streamer Bot This is rewrite version of solidmusic, but it can't be deployed now, help me to make this bot running fast and good. If anyone w

Shohih Abdul 63 Jan 06, 2022
Anki vector Music ❤ is the best and only Telegram VC player with playlists, Multi Playback, Channel play and more

Anki Vector Music 🎵 A bot that can play music on Telegram Group and Channel Voice Chats Available on telegram as @Anki Vector Music Features 🔥 Thumb

Damantha Jasinghe 12 Nov 12, 2022
Linear Prediction Coefficients estimation from mel-spectrogram implemented in Python based on Levinson-Durbin algorithm.

LPC_for_TTS Linear Prediction Coefficients estimation from mel-spectrogram implemented in Python based on Levinson-Durbin algorithm. 基于Levinson-Durbin

Zewang ZHANG 58 Nov 17, 2022
Scalable audio processing framework written in Python with a RESTful API

TimeSide : scalable audio processing framework and server written in Python TimeSide is a python framework enabling low and high level audio analysis,

Parisson 340 Jan 04, 2023
A Music Player Bot for Discord Servers

A Music Player Bot for Discord Servers

Halil Acar 2 Oct 25, 2021
L-SpEx: Localized Target Speaker Extraction

L-SpEx: Localized Target Speaker Extraction The data configuration and simulation of L-SpEx. The code scripts will be released in the future. Data Gen

Meng Ge 20 Jan 02, 2023
Official implementation of A cappella: Audio-visual Singing VoiceSeparation, from BMVC21

Y-Net Official implementation of A cappella: Audio-visual Singing VoiceSeparation, British Machine Vision Conference 2021 Project page: ipcv.github.io

Juan F. Montesinos 12 Oct 22, 2022
Pyroomacoustics is a package for audio signal processing for indoor applications. It was developed as a fast prototyping platform for beamforming algorithms in indoor scenarios.

Summary Pyroomacoustics is a software package aimed at the rapid development and testing of audio array processing algorithms. The content of the pack

Audiovisual Communications Laboratory 1k Jan 09, 2023
Expressive Digital Signal Processing (DSP) package for Python

AudioLazy Development Last release PyPI status Real-Time Expressive Digital Signal Processing (DSP) Package for Python! Laziness and object representa

Danilo de Jesus da Silva Bellini 642 Dec 26, 2022
Some utils for auto speech recognition

About Some utils for auto speech recognition. Utils Util Description Script Reset audio Reset sample rate, sample width, etc of audios.

1 Jan 24, 2022
A voice based calculator by using termux api in Android

termux_voice_calculator This is. A voice based calculator by using termux api in Android Instagram account 👉 👈 Requirements and installation Downloa

ʕ´•ᴥ•`ʔ╠ŞĦỮβĦa̷m̷╣ʕ´•ᴥ•`ʔ 2 Apr 29, 2022
A music player designed for a University Project.

A music player designed for a University Project. Very flexibe and easy to use, a real life working application with user friendly controls. Hope u enjoy!!

Aditya Johorey 1 Nov 19, 2021
Code to work with wave files!

Code to work with wave files!

Mohammad Dori 3 Jul 15, 2022
Datamoshing with FFmpeg

ffmosher Datamoshing with FFmpeg Drag and drop video onto mosh.bat to create a datamoshed video. To datamosh an image, please ensure the file is in a

18 Sep 11, 2022
SomaFM Plugin for Kodi

SomaFM XBMC Plugin This description is a bit outdated. You can simply install this addon by browsing the official repositories from within Kodi. Insta

7 Jan 21, 2022
XA Music Player - Telegram Music Bot

XA Music Player Requirements 📝 FFmpeg (Latest) NodeJS nodesource.com (NodeJS 17+) Python (3.10+) PyTgCalls (Lastest) MongoDB (3.12.1) 2nd Telegram Ac

RexAshh 3 Jun 30, 2022
Sound-Equalizer- This is a Sound Equalizer GUI App Using Python's PyQt5

Sound-Equalizer- This is a Sound Equalizer GUI App Using Python's PyQt5. It gives you the ability to play, pause, and Equalize any one-channel wav audio file and play 3 different instruments.

Mustafa Megahed 1 Jan 10, 2022
A Python 3 script for capturing and recording a SDR stream to a WAV file (or serving it to a HTTP audio stream).

rfsoapyfile A Python 3 script for capturing and recording a SDR stream to a WAV file (or serving it to a HTTP audio stream). The script is threaded fo

4 Dec 19, 2022
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
Audio Retrieval with Natural Language Queries: A Benchmark Study

Audio Retrieval with Natural Language Queries: A Benchmark Study Paper | Project page | Text-to-audio search demo This repository is the implementatio

21 Oct 31, 2022