Restart your Computer with Speech Recognition

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.

Terminal with shutdown command . We can see that there is /r for completely shutdown and restart. 

Step-by-step Approach:

Step 1: We have to make Speak function for making the computer communicate with us.

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Method to give  
# output voice commands  
def Speak(self, audio):
    engine = pyttsx3.init('sapi5')
      
    # intial constructor of pyttsx3
    voices = engine.getProperty('voices')
      
    # getter and setter method
    engine.setProperty('voice', voices[1].id)
    engine.say(audio)
    engine.runAndWait()

chevron_right


Step 2: We have to now make a function for taking our commands.



Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


Step 3: Now we will make a Restart method for making the computer restart.

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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")

chevron_right


Step 4: Now we will have the main method.

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Driver Code
if __name__ == '__main__':
    Maam = Main()
    Maam.restart()

chevron_right


Below is the complete Program of the above approach:

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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()

chevron_right


Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.




My Personal Notes arrow_drop_up


If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.