diff --git a/README.md b/README.md index 1d3d829..44aad43 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,109 @@ -![Logo](https://i.ibb.co/pKwVbFQ/Coffee-Tutorial-You-Tube-Thumbnail.png) +# AI Virtual Assistant Jarvis in Python +import pyttsx3 #pip install pyttsx3 +import speech_recognition as sr #pip install speech_recognition +import datetime +import wikipedia #pip install wikipedia +import webbrowser +import os +import smtplib #pip install smtplib -# PVA -Python Virtual Assistant Using Voice Recognition based on Python 3 +engine = pyttsx3.init('sapi5') +voices = engine.getProperty('voices') +engine.setProperty('voice', voices[0].id) -Author: [JoeVenner](mailto:ylafrimi@gmail.com). -------------- -# Installation -You can download PVA by cloning the [Git Repo](https://github.com/joeVenner/VirtuelAssistant.git) and simply installing its requirements: +def speak(audio): + engine.say(audio) + engine.runAndWait() -``` -~ ❯❯❯ git clone https://github.com/joeVenner/VirtuelAssistant.git -~ ❯❯❯ cd VirtuelAssistant +def wishMe(): + hour = int(datetime.datetime.now().hour) + if hour>=0 and hour<12: + speak("Good Morning!") -~/VirtuelAssitant ❯❯❯ pip install -r requirements.txt + elif hour>=12 and hour<18: + speak("Good Afternoon!") -~/VirtuelAssitant ❯❯❯ python3 verassist.py -``` -
+ else: + speak("Good Evening!") -# Usage + speak("I am Jarvis Sir. Please tell me how may I help you") -``` -Usage: +def takeCommand(): + #It takes microphone input from the user and returns string output -Example - Can you open Spotify - acording to wikipedia what is python - can you open gmail - can you open pubg - can you open facebook -``` + r = sr.Recognizer() + with sr.Microphone() as source: + print("Listening...") + r.pause_threshold = 1 + audio = r.listen(source) -Youtube Tuto : [Make Your Own VA Python](https://www.youtube.com/watch?v=eJT75-pbNLE). -------------- + 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('Enter you email','Enter your password') #Enter you email , Enter your email addess password + server.sendmail('Enter your email, 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.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 = 'c:\\Users\\Anshul-Priyanshu\\Music' # Enter the path of your music library + 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\\Anshul-Priyanshu\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe" #Enter the path of your IDE + os.startfile(codePath) + + elif 'email to Mom' in query: + try: + speak("What should I say?") + content = takeCommand() + to = "Your email" #Enter your mom's and friends email address + sendEmail(to, content) + speak("Email has been sent!") + except Exception as e: + print(e) + speak("Sorry my Sir . I am not able to send this email")