Skip to content
Home » JARVIS In Python | Ironman’s JARVIS Using Python

JARVIS In Python | Ironman’s JARVIS Using Python

Hey Python Programs, In this Post We Will Be Creating a Very Exiting Project Which is Ironman’s Jarvis And We will be Creating a AI Which Responds, And Perform Tasks As You Want. Jarvis is a Voice Assistant which Automates your Daily Tasks.

Video Tutorial Of JARVIS:

Read Also:

• Email Automation Using Python

• Keylogger Using Python

• QR Code Generator In Python

Requirements For Jarvis:

  • Python Text to Speech
pip install pyttsx3
  • Wikipedia
pip install wikipedia
  • Speech Recognition
pip install speech_recognition
  • PyAuido

pip install pyauido

Now After Installing the Required Modules Open Vs Code & Create a File Named “assitant.py” And Copy the Following Code:

Importing Required Modules:

from email.mime import audio
from unittest import result
import pyttsx3
import webbrowser
import datetime
import wikipedia
import os
import speech_recognition as sr

Setting Up Python Text to Speech:

engine = pyttsx3.init('sapi5')
voices  = engine.getProperty('voices')
# print(voices[1].id)
engine.setProperty('voice', voices[0].id)

Adding Audio Function in Jarvis:

def speak(audio):
    engine.say(audio)
    engine.runAndWait()

Jarvis Wishing Feature:

def wish():
    hour  = int(datetime.datetime.now().hour)
    if hour >=0 and hour<12:
        speak("Good Morning Sir!, i am jarvis, how may i help you?")

    elif hour >=12 and hour<18:
        speak("Good Afternoon Sir!, i am jarvis, how may i help you?")

    else:
        speak("Good Evening Sir!, i am jarvis, how may i help you?")

Jarvis Take Command Feature:

def takeCommand():
   r = sr.Recognizer()
   with sr.Microphone() as source:
    print("Listening...")
    r.pause_threshold = 1
    audio = r.listen(source)

    try:
        print("Recongizing...")
        query = r.recognize_google(audio, language='en-in')
        print(f"User Said: {query}\n")

    except Exception as e:
    #    print(e)

       print("Say that Again")
       return "None"
    return query

Adding Logics to Jarvis:

if __name__ == "__main__":
 wish()
 while True:
  query = takeCommand().lower()

 # Logic for Jarvis
  if 'wikipedia' in query:
    speak('Searching Wikipedia...')
    query = query.replace("wikipedia", "")
    results = wikipedia.summary(query, sentences=2)
    speak("According to Wikipedia")
    speak(results)
  
  elif 'open youtube' in query:
    speak('Opening YouTube')
    webbrowser.open("youtube.com")

  elif 'open google' in query:
    speak('Opening Google')
    webbrowser.open("google.com")

  elif 'open gmail' in query:
    speak('Opening Gmail')
    webbrowser.open("gmail.com")
    
  elif 'what is the time'  in query:
    strTime = datetime.datetime.now().strftime("%H:%M:%S")
    speak(f"Sir the Current time is {strTime}")

  elif 'open vs code' in query:
   VsCodePath = "C:\\Users\\Tanmay Sinha\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe"
   speak("Opening Visual Studio Code")
   os.startfile(VsCodePath)

  elif 'open spotify' in query:
   Spotify = "spotify.exe"
   speak("Opening Spotify Music")
   os.startfile(Spotify)
   
  elif 'open mister programmer website' in query:
    speak('Opening mister programmer website')
    webbrowser.open("mrprogrammer.in")

  elif 'open github' in query:
    speak('Opening github')
    webbrowser.open("github.com")

  elif 'play music' in query:
   music_directory = "C:\\Music for Jarvis Program"
   songs = os.listdir(music_directory)
   print(songs)
   os.startfile(os.path.join(music_directory, songs[3]))

  elif 'great work jarvis' in query:
     speak("Thank you Sir, I Love You")

Full Source Code:

from email.mime import audio
from unittest import result
import pyttsx3
import webbrowser
import datetime
import wikipedia
import os
import speech_recognition as sr

engine = pyttsx3.init('sapi5')
voices  = engine.getProperty('voices')
# print(voices[1].id)
engine.setProperty('voice', voices[0].id)

def speak(audio):
    engine.say(audio)
    engine.runAndWait()

def wish():
    hour  = int(datetime.datetime.now().hour)
    if hour >=0 and hour<12:
        speak("Good Morning Sir!, i am jarvis, how may i help you?")

    elif hour >=12 and hour<18:
        speak("Good Afternoon Sir!, i am jarvis, how may i help you?")

    else:
        speak("Good Evening Sir!, i am jarvis, how may i help you?")



def takeCommand():
   r = sr.Recognizer()
   with sr.Microphone() as source:
    print("Listening...")
    r.pause_threshold = 1
    audio = r.listen(source)

    try:
        print("Recongizing...")
        query = r.recognize_google(audio, language='en-in')
        print(f"User Said: {query}\n")

    except Exception as e:
    #    print(e)

       print("Say that Again")
       return "None"
    return query


if __name__ == "__main__":
 wish()
 while True:
  query = takeCommand().lower()

 # Logic for Jarvis
  if 'wikipedia' in query:
    speak('Searching Wikipedia...')
    query = query.replace("wikipedia", "")
    results = wikipedia.summary(query, sentences=2)
    speak("According to Wikipedia")
    speak(results)
  
  elif 'open youtube' in query:
    speak('Opening YouTube')
    webbrowser.open("youtube.com")

  elif 'open google' in query:
    speak('Opening Google')
    webbrowser.open("google.com")

  elif 'open gmail' in query:
    speak('Opening Gmail')
    webbrowser.open("gmail.com")
    
  elif 'what is the time'  in query:
    strTime = datetime.datetime.now().strftime("%H:%M:%S")
    speak(f"Sir the Current time is {strTime}")

  elif 'open vs code' in query:
   VsCodePath = "C:\\Users\\Tanmay Sinha\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe"
   speak("Opening Visual Studio Code")
   os.startfile(VsCodePath)

  elif 'open spotify' in query:
   Spotify = "spotify.exe"
   speak("Opening Spotify Music")
   os.startfile(Spotify)
   
  elif 'open mister programmer website' in query:
    speak('Opening mister programmer website')
    webbrowser.open("mrprogrammer.in")

  elif 'open github' in query:
    speak('Opening github')
    webbrowser.open("github.com")

  elif 'play music' in query:
   music_directory = "C:\\Music for Jarvis Program"
   songs = os.listdir(music_directory)
   print(songs)
   os.startfile(os.path.join(music_directory, songs[3]))

  elif 'great work jarvis' in query:
     speak("Thank you Sir, I Love You")

So this was it for This Blog See you in the Next One Till Then Keep Coding Keep Exploring!

JARVIS – GitHub

DOWNLOAD SOURCE CODE

Tanmay Sinha
What are PWAs? All About PWAs Can ChatGPT Beat Google? Can ChatGPT Replace Web Developer? Is Maths Important for Programming? Top 10 Programming Languages to Learn In 2023!