Building a simple virtual assistant that takes input from the user as an audio input and gives the output as a text and audio output in Python
This project can be used for personal purposes or can be used to develop it much further and make it more advanced. This project is built with the following packages: speech_recognition, pyttsx3, pywhatkit, datetime, Wikipedia, pyjokes.
The above-mentioned packages can be installed using the 'pip3 install' command and the following packages can be imported into the project using the 'import' command.
The first thing to do after installing and importing all the dependencies/ packages is to build a code to take input from the user in audio format through a microphone
listener = sr.Recognizer() engine = pyttsx3.init() voices = engine.getProperty('voices') engine.setProperty('voice', voices.id) def talk(text): engine.say(text) engine.runAndWait() def take_command(): try: with sr.Microphone() as source: print('listening...') voice = listener.listen(source) command = listener.recognize_google(voice) command = command.lower() if 'alexa' in command: command = command.replace('alexa', '') print(command) except: pass return command
def run_alexa(): command = take_command() print(command) if 'play' in command: song = command.replace('play', '') talk('playing ' + song) pywhatkit.playonyt(song) elif 'time' in command: time = datetime.datetime.now().strftime('%I:%M %p') talk('Current time is ' + time) elif 'who the heck is' in command: person = command.replace('who the heck is', '') info = wikipedia.summary(person, 1) print(info) talk(info) elif 'date' in command: talk('sorry, I have a headache') elif 'are you single' in command: talk('I am in a relationship with wifi') elif 'joke' in command: talk(pyjokes.get_joke()) else: talk('Please say the command again.')
Submitted by Patnam Venkata Koushik (Koushik)
Download packets of source code on Coders Packet