title: I want to make a hotword for my JARVIS AI
body: <p>I wanted to ask if there if a way to make a hotword for my JARVIS AI made in python 3.7.6(windows 7). I want that JARVIS become activated whenever I say &quot;Hey Jarvis&quot;(just like Hey siri). the code of my jarvis is given below. I have tried the library named lshotword but it gave an error named no module named tensorflow</p>
  <pre><code>import pyttsx3
  
  import speech_recognition as sr
  import datetime
  import wikipedia
  import time
  from selenium.webdriver.support.ui import Select
  from selenium.webdriver.common.keys import Keys
  from selenium import webdriver
  import pyautogui
  # Use female voice
  import pyperclip
  hiddenimports = [
     'pyttsx3.drivers',
     'pyttsx3.drivers.dummy',
     'pyttsx3.drivers.espeak',
     'pyttsx3.drivers.nsss',
     'pyttsx3.drivers.sapi5', ]
  
  engine = pyttsx3.init('sapi5')
  
  voices = engine.getProperty('voice')
  engine.setProperty('voice', voices)
  engine.setProperty('rate', 150)
  engine.setProperty('volume', 10)
  
  def speak(audio):
   engine.say(audio)
   engine.runAndWait()
  
  def wishMe():
     hour = int(datetime.datetime.now().hour)
     if hour&gt;=0 and hour&lt;12:
         speak(&quot;Good Morning!&quot;)
     elif hour&gt;=12 and hour&lt;18:
         speak(&quot;Good Afternoon!&quot;)
     else:
         speak(&quot;Good Evening!&quot;)
     speak(&quot;I am friday, is there anything to help you sir?&quot;)
  
  def takecommand():
     r = sr.Recognizer()
     with sr.Microphone() as source:
         print(&quot;Listening....&quot;)
         r.pause_threshold = 1
         audio = r.listen(source)
     try:
      print(&quot;Recognizing....&quot;)
      query = r.recognize_google(audio, language='en-in')
      print(f&quot;user said: {query}\n&quot;)
     except Exception as e:
       print(e)
       return &quot;None&quot;
     return query
  
  
  def typenh():
     r = sr.Recognizer()
     with sr.Microphone() as source:
         print(&quot;Listening....&quot;)
         r.pause_threshold = 1
         audio = r.listen(source)
     try:
      print(&quot;Recognizing....&quot;)
      typethingh = r.recognize_google(audio, language='hi')
      print(f&quot;user said: {typethingh}\n&quot;)
     except Exception as e:
       print(e)
       speak(&quot;sorry I could not understand, say that again please...&quot;)
       return &quot;None&quot;
     return typethingh
  
  
  
  if __name__ == &quot;__main__&quot;: 
     wishMe()
     while True:
      query = takecommand().lower()
      query.replace(&quot;could you&quot;, &quot;&quot;)
      query.replace(&quot;please&quot;, &quot;&quot;)
      if 'wikipedia' in query:
             speak('searching Wikipedia...')
             query = query.replace(&quot;wikipedia&quot;, &quot;&quot;)
             results = wikipedia.summary(query, sentences=2)
             speak(&quot;according to wikipedia&quot;)
             speak(results)
      if 'manav sampada' in query:
             speak('loging in to manav sampada')
             browser = webdriver.Chrome('D:\\chromedriver.exe')
             browser.get('http://ehrms.upsdc.gov.in/')
             elem = browser.find_element_by_partial_link_text('eHRMS Login')
             elem.get_attribute('href')
             time.sleep(1)
             elem.click()
             time.sleep(1)
             loginr = browser.find_element_by_xpath('//*[@id=&quot;txtusername&quot;]')
             loginr.send_keys('your id ')
             time.sleep(1)
             select = Select(browser.find_element_by_id('ddldept'))
             select.select_by_visible_text('Basic Education')
             time.sleep(1)
             password = browser.find_element_by_xpath('//*[@id=&quot;txtpwd&quot;]')
             password.send_keys('your password')
             speak('sir I have filled all userID password etc. but ')
             speak('sir you have to fill the human verification captha by yourself as I am just a bot ')
             speak('I hope I was able to assist you')
      if 'software' in query:
             speak('opening sir')
             query = query.replace(&quot;software&quot;, &quot;&quot;)
             pyautogui.click(27, 880)
             pyautogui.typewrite(query)
             time.sleep(1)
             pyautogui.click(79,441)
      if 'send' and 'gmail' in query:
             speak('opening gmail')
             browser = webdriver.Chrome('D:\\chromedriver.exe')
             browser.get('https://accounts.google.com/b/0/AddMailService')
             time.sleep(1)
             login = browser.find_element_by_xpath('//*[@id=&quot;identifierId&quot;]')
             login.send_keys('your gmail id @gmail.com')
             login.send_keys(Keys.ENTER)
             time.sleep(1)
             loginpwd = browser.find_element_by_xpath('//*[@id=&quot;password&quot;]/div[1]/div/div[1]/input')
             loginpwd.send_keys('your awesom password here')
             loginpwd.send_keys(Keys.ENTER)
             time.sleep(10)
             try:
                 speak('just a sec')
                 compose = browser.find_element_by_class_name('z0')
                 time.sleep(2)
                 compose.click()
                 time.sleep(1)
                 speak('whom do you want to send the gmail')
                 sendto = takecommand().lower()
                 sendto = ''.join(sendto.split())
                 tom = browser.find_element_by_name('to')
                 tom.send_keys(sendto)
                 speak('what is the subject?')
                 subject = browser.find_element_by_name('subjectbox')
                 time.sleep(0.5)
                 
                 whatissu = takecommand()
                 subject.send_keys(whatissu)
                 body = browser.find_element_by_name('Message Body')
                 speak('what is the main body?')
                 mainbody = takecommand()
                 body.send_keys(mainbody)
  
             except Exception as identifier:
                 compose = browser.find_element_by_xpath('//*[@id=&quot;:jm&quot;]/div/div')
                 time.sleep(1)
                 compose.click()
                 time.sleep(1)
                 speak('whom do you want to send the gmail')
                 sendto = takecommand().lower()
                 sendto = ''.join(sendto.split())
                 tom = browser.find_element_by_name('to')
                 tom.send_keys(sendto)                                                   
                 subject = browser.find_element_by_name('subjectbox')
                 time.sleep(0.5)
                 speak('what is the subject?')
                 whatissu = takecommand()
                 subject.send_keys(whatissu)
                 body = browser.find_element_by_name('Message Body')
                 speak('what is the main body?')
                 mainbody = takecommand()
                 body.send_keys(mainbody)            
         
      if 'hindi' in query:
         speak('what to type?')
         typethingh = typenh()
         content = typethingh
         pyperclip.copy(content)
         time.sleep(0.5)
         pyautogui.hotkey('ctrl', 'v')
  
      if 'do you have a boyfriend' in query:
          speak('I am happy to be single')
  
      if 'siri' in query:
          speak('siri is smart but I dont like him')
  
      if 'how are you' in query:
          speak('I am good ')
  
      if 'i hate you' in query:
          speak('than go to siri or google. why are you even talking to me')
  
      if 'who is your creator' in query:
          speak(&quot;my creater is aditya maurya&quot;)
  
      if 'who made you' in query:
          speak('aditya maurya made me. he is also known as estriadi')
  
      if 'who created you' in query:
          speak('aditya maurya created me    ')
  
      if 'whatsapp' in query:
          browser = webdriver.Chrome('D:\\chromedriver.exe')
          speak('opening whatsapp web')
          browser.get('https://web.whatsapp.com/')
          speak('please scan the qr code. I am waiting for 10 seconds')
          time.sleep(10)
          try:
              find = browser.find_element_by_xpath('//*[@id=&quot;side&quot;]/div[1]/div/label/div/div[2]')
              find.click()
              speak('tell the first word of the contact to whom you want to send the messege')
              sendmsg = takecommand()
              find.send_keys(sendmsg)
              time.sleep(1.5)
              find.send_keys(Keys.ENTER)
              try:
                  typenum = browser.find_element_by_xpath('//*[@id=&quot;main&quot;]/footer/div[1]/div[2]/div/div[2]')
                  typenum.click()
                  speak('what do you want to send sir?')
                  whattosend = takecommand()
                  typenum.send_keys(whattosend)
                  typenum.send_keys(Keys.ENTER)
              except Exception as identifier:
                  speak('there is no contact as'+sendmsg)
          except Exception as identifier:
              speak('you did not make it in 10 seconds')
  
  
      if 'quit' in query:
         exit()
  </code></pre>