We can do this with the help of Python. Python has many libraries that can help many things to be done were easy. We need the help of the terminal for doing this task. Python’s one of the best library Speech Recognition will help us to do this so.
Modules Required
- Pyttsx3: This is a text to speech Library in Python . We have to use pip for it.
pip install pyttsx3
- Speech Recognition module: It is module that will help us to recognize the Speech and the commands given to the computer. We have to use pip to install Speech Recognition.
pip install SpeechRecognition
- OS module: It is module in python that provides function for interacting with the operating system . OS module comes with the Python packages. Pip is not required.
Why terminal is used?
When we type shutdown in the terminal we will get many options with the help of which we can restart our computer. As we will have many tags in it. We can use “/r” with shutdown to restart.
Step-by-step Approach:
Step 1: We have to make Speak function for making the computer communicate with us.
Python3
# Method to give # output voice commands def Speak( self , audio): engine = pyttsx3.init( 'sapi5' ) # initial constructor of pyttsx3 voices = engine.getProperty( 'voices' ) # getter and setter method engine.setProperty( 'voice' , voices[ 1 ]. id ) engine.say(audio) engine.runAndWait() |
Step 2: We have to now make a function for taking our commands.
Python3
# Method to take # input voice commands def take_commands( self ): r = sr.Recognizer() # Making the use of Recognizer # and Microphone method from # Speech Recognition for taking commands with sr.Microphone() as source: print ( 'Listening' ) r.pause_threshold = 0.7 # seconds of non-speaking audio # before a phrase is considered complete audio = r.listen(source) try : print ( "Recognizing" ) Query = r.recognize_google(audio, language = 'en-in' ) # For listening the command in indian english print ( "the query is printed='" , Query, "'" ) # For printing the query or the # command that we give except Exception as e: # This is for printing the exception print (e) print ( "Say that again sir" ) return "None" return Query |
Step 3: Now we will make a Restart method for making the computer restart.
Python3
# Method to restart PC def restart( self ): self .Speak( "do u want to restart the computer sir" ) take = self .takeCommand() choice = take if choice = = 'yes' : print ( "Restarting the computer" ) self .Speak( "Restarting the computer" ) os.system( "shutdown /r /t 30" ) if choice = = 'no' : print ( "Thank u sir" ) self .Speak( "Thank u sir" ) |
Step 4: Now we will have the main method.
Python3
# Driver Code if __name__ = = '__main__' : Maam = Main() Maam.restart() |
Below is the complete Program of the above approach:
Python3
# Import required modules import pyttsx3 import time import speech_recognition as sr import os # Creating class class Main: # Method to give output commands def Speak( self , audio): engine = pyttsx3.init( 'sapi5' ) voices = engine.getProperty( 'voices' ) engine.setProperty( 'voice' , voices[ 1 ]. id ) engine.say(audio) engine.runAndWait() # Method to take input voice commands def takeCommand( self ): # This method is for taking # the commands and recognizing the command r = sr.Recognizer() # from the speech_Recognition module # we will use the recongizer method # for recognizing with sr.Microphone() as source: # from the speech_Recognition module # we will use the Microphone module for # listening the command 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" ) Query = r.recognize_google(audio, language = 'en-in' ) # for listening the command # in indian english print ( "the query is printed='" , Query, "'" ) # for printing the query or the # command that we give 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 # Method to restart PC def restart( self ): self .Speak( "do u want to switch off the computer sir" ) take = self .takeCommand() choice = take if choice = = 'yes' : print ( "Shutting down the computer" ) os.system( "shutdown /s /t 30" ) self .Speak( "Shutting the computer" ) if choice = = 'no' : print ( "Thank u sir" ) self .Speak( "Thank u sir" ) # Driver Code if __name__ = = '__main__' : Maam = Main() Maam.restart() |