0% found this document useful (0 votes)
963 views3 pages

#Pip Install Pyttsx3 #Pip Install Speechrecognition #Pip Install Wikipedia

This Python program defines functions for text-to-speech, speech recognition, web searches on Wikipedia, YouTube, Google and more. It can take voice commands to greet the user, search online, open applications, play music and send emails. The main function calls the wishMe greeting and enters a loop to continuously take commands, analyze them, and trigger the appropriate functions.

Uploaded by

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

#Pip Install Pyttsx3 #Pip Install Speechrecognition #Pip Install Wikipedia

This Python program defines functions for text-to-speech, speech recognition, web searches on Wikipedia, YouTube, Google and more. It can take voice commands to greet the user, search online, open applications, play music and send emails. The main function calls the wishMe greeting and enters a loop to continuously take commands, analyze them, and trigger the appropriate functions.

Uploaded by

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

import 

pyttsx3 #pip install pyttsx3
import speech_recognition as sr #pip install speechRecognition
import datetime
import wikipedia #pip install wikipedia
import webbrowser
import os
import smtplib
import pywhatkit

engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0].id)
chromedir='C:/Program Files/Google/Chrome/Application/chrome.exe %s'
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<18:
        speak("Good Afternoon!")   

    else:
        speak("Good Evening!")  

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

def takeCommand(ask = False):
    #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
        if ask:
            print(ask)
        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('[email protected]', 'ProjectAI8923')
    server.sendmail('[email protected]', to, content)
    server.close()

if __name__ == "__main__":
    wishMe()
    while True:
    # 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.get(chromedir).open("https://www.youtube.com/")

        elif 'open google' in query:
            webbrowser.get(chromedir).open("https://www.google.com/")
            
        elif 'open stackoverflow' in query:
            webbrowser.open("stackoverflow.com")   

        elif 'search' in query:
            speak('What do you want to search for?')
            search=takeCommand('What do you want to search for?')
            url='https://google.com/search?q=' +search
            webbrowser.get(chromedir).open(url)
            speak('Here is what I found on ' +search)
        
        elif 'find location' in query:
            speak('please tell me the location?')
            location=takeCommand('please tell me the location?')
            url='https://google.nl/maps/place/' +location + '/&amp;'
            webbrowser.get(chromedir).open(url)
            speak('Here is the location ' +location)
        
        
        elif 'play' in query:
            song= query.replace('play', '')
            speak('playing'+ song)
            pywhatkit.playonyt(song)

        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 shubham' in query:
            try:
                speak("What should I say?")
                content = takeCommand()
                to = "[email protected]"    
                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