0% found this document useful (0 votes)
63 views2 pages

My Jarvis

This document contains the code for a voice assistant named Jarvis. It imports necessary libraries like pyttsx3 for text-to-speech, speech_recognition for speech-to-text, datetime for time functions, and more. It defines functions for greeting the user, taking commands, searching Wikipedia, opening websites, playing music, sending emails and runs the main loop to continuously take commands and perform actions based on the query.

Uploaded by

Mahi Ameta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views2 pages

My Jarvis

This document contains the code for a voice assistant named Jarvis. It imports necessary libraries like pyttsx3 for text-to-speech, speech_recognition for speech-to-text, datetime for time functions, and more. It defines functions for greeting the user, taking commands, searching Wikipedia, opening websites, playing music, sending emails and runs the main loop to continuously take commands and perform actions based on the query.

Uploaded by

Mahi Ameta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

import pyttsx3

import speech_recognition as sr
import datetime
import wikipedia
import webbrowser
import os
import smtplib

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

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

def wishMe():
hour = int(datetime.datetime.now().hour)
if hour>=0 and hour<12:
speak("Good Morning!")

elif hour>=12 and hour<19:


speak("Good Afternoon!")

else:
speak("Good Evening!")

speak("I am Jarvis Sir. Please tell me how may I help you")

def takeCommand():
#It takes microphone input from the user and returns string output

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

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

except Exception as e:
# print(e)
print("Say that again please...")
return "None"
return query

def sendEmail(to, content):


server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login('youremail@gmail.com', 'your-password')
server.sendmail('youremail@gmail.com', to, content)
server.close()
if __name__ == "__main__":
while True:
wishMe()

# if 1:
query = takeCommand().lower()

# Logic for executing tasks based on query


if 'wikipedia' in query:
speak('Searching Wikipedia...')
query = query.replace("wikipedia", "")
results = wikipedia.summary(query, sentences=2)
speak("According to Wikipedia")
print(results)
speak(results)

elif 'open youtube' in query:


webbrowser.open("youtube.com")

elif 'open google' in query:


webbrowser.open("google.com")

elif 'open stackoverflow' in query:


webbrowser.open("stackoverflow.com")

elif 'play music' in query:


music_dir = 'D:\\Non Critical\\songs\\Favorite Songs2'
songs = os.listdir(music_dir)
print(songs)
os.startfile(os.path.join(music_dir, songs[0]))

elif 'the time' in query:


strTime = datetime.datetime.now().strftime("%H:%M:%S")
speak(f"Sir, the time is {strTime}")

elif 'open code' in query:


codePath = "C:\\Users\\Haris\\AppData\\Local\\Programs\\Microsoft VS
Code\\Code.exe"
os.startfile(codePath)

elif 'email to harry' in query:


try:
speak("What should I say?")
content = takeCommand()
to = "harryyourEmail@gmail.com"
sendEmail(to, content)
speak("Email has been sent!")
except Exception as e:
print(e)
speak("Sorry my friend harry bhai. I am not able to send this
email")

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy