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.
# 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.
# 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.
# 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.
# Driver Code
if __name__ == '__main__':
Maam = Main()
Maam.restart()
Below is the complete Program of the above approach:
# 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()