Python - Get Today's Current Day using Speech Recognition - GeeksforGeeks

09 Aug, 2021
We often don’t remember the day of the date due to our load of work we are doing. So, here is a Python program with the help of which we can find the day of the date with just a simple chat with our laptop or mobile.
DateTime: This is a Library in Python with the help of which we can manipulate the date and time. It comes preinstalled with python so we don’t have to install.
pyttsx3: This is text to speech conversion library. It helps in communicating with the user. This module does not come built-in with Python. To install it type the below command in the terminal.
pip install pyttsx3
SpeechRecognition: It helps in Speech Recognition. Speech recognition is the process of converting audio into text. This module does not come built-in with Python. To install it type the below command in the terminal.
pip install SpeechRecognition
Now Let’s Code The program for telling date with the help of Speech Recognition.
Step 1:  Make the method for taking the commands. So that our program can take our commands.
Python3
import datetimeimport pyttsx3import speech_recognition as sr  def take_commands():         # Making the use of Recognizer and Microphone    # Method from Speech Recognition for taking    # commands    r = sr.Recognizer()         with sr.Microphone() as source:        print('Listening')                 # seconds of non-speaking audio before        # a phrase is considered complete        r.pause_threshold = 0.7        audio = r.listen(source)        try:            print("Recognizing")                         # for listening the command in indian english            Query = r.recognize_google(audio, language='en-in')                         # for printing the query or the command that we give            print("the query is printed='", Query, "'")        except Exception as e:                         # this method is for handling the exception            # and so that assistant can ask for telling            # again the command            print(e)             print("Say that again sir")            return "None"             return Query
  
Step 2: Make the Speak method so that our Program can speak to us.
Python3
def Speak(audio):         # initial constructor of pyttsx3    engine = pyttsx3.init()         # getter and setter method    voices = engine.getProperty('voices')    engine.setProperty('voice', voices[1].id)    engine.say(audio)    engine.runAndWait()
Step 3: Tell the day method
Python3
def tellDay():         # the weekday method is a method from datetime    # library which helps us to an integer    # corresponding to the day of the week    # this dictionary will help us to map the    # integer with the day and we will check for    # the condition and if the condition is true    # it will return the day    day = datetime.datetime.today().weekday() + 1         Day_dict = {1: 'Monday', 2: 'Tuesday', 3: 'Wednesday',                4: 'Thursday', 5: 'Friday', 6: 'Saturday',                7: 'Sunday'}         if day in Day_dict.keys():        day_of_the_week = Day_dict[day]        print(day_of_the_week)        Speak("The day is " + day_of_the_week)
  
Step 4: The main method which will help us to execute the program
Python3
if __name__ == '__main__':    command=take_commands()         if "day" in command:        tellDay()
  
Whole Program:
Python3
import datetimeimport pyttsx3import speech_recognition as sr  def take_commands():         # Making the use of Recognizer and Microphone    # Method from Speech Recognition for taking    # commands    r = sr.Recognizer()         with sr.Microphone() as source:        print('Listening')                 # seconds of non-speaking audio before        # a phrase is considered complete        r.pause_threshold = 0.7        audio = r.listen(source)        try:            print("Recognizing")                         # for listening the command in indian english            Query = r.recognize_google(audio, language='en-in')                         # for printing the query or the command that we give            print("the query is printed='", Query, "'")        except Exception as e:                         # this method is for handling the exception            # and so that assistant can ask for telling            # again the command            print(e)             print("Say that again sir")            return "None"             return Query def Speak(audio):         # initial constructor of pyttsx3    engine = pyttsx3.init()         # getter and setter method    voices = engine.getProperty('voices')    engine.setProperty('voice', voices[1].id)    engine.say(audio)    engine.runAndWait() def tellDay():         # the weekday method is a method from datetime    # library which helps us to an integer    # corresponding to the day of the week    # this dictionary will help us to map the    # integer with the day and we will check for    # the condition and if the condition is true    # it will return the day    day = datetime.datetime.today().weekday() + 1         Day_dict = {1: 'Monday', 2: 'Tuesday', 3: 'Wednesday',                4: 'Thursday', 5: 'Friday', 6: 'Saturday',                7: 'Sunday'}         if day in Day_dict.keys():        day_of_the_week = Day_dict[day]        print(day_of_the_week)        Speak("The day is " + day_of_the_week) # Driver Codeif __name__ == '__main__':    command=take_commands()         if "day" in command:        tellDay()
Output:
Listening
Recognizing
the query is printed=' today's day '
Wednesday
Note: A voice generated output is also created.
 
sumitgumber28
Python-projects
python-utility
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Install PIP on Windows ?
Check if element exists in list in Python
How To Convert Python Dictionary To JSON?
Python Classes and Objects
How to drop one or multiple columns in Pandas Dataframe
Python | Get unique values from a list
Defaultdict in Python
Python | os.path.join() method
Create a directory in Python
Python | Pandas dataframe.groupby()