Browse Source

add stt lib

nico 8 years ago
parent
commit
5e837a421b
4 changed files with 40 additions and 7 deletions
  1. 16 0
      README.md
  2. 1 1
      core/JarvisTrigger.py
  3. 19 2
      core/OrderListener.py
  4. 4 4
      test.py

+ 16 - 0
README.md

@@ -0,0 +1,16 @@
+install pico2wave on Linux
+```
+apt-get install libtts-pico-utils
+```
+
+
+instal flac
+```
+apt-get install flac
+```
+
+Python lib
+```
+pip install SpeechRecognition
+pip install pyaudio
+```

+ 1 - 1
core/JarvisTrigger.py

@@ -30,7 +30,7 @@ class JarvisTrigger:
         :return:
         :return:
         """
         """
 
 
-        detector = snowboydecoder.HotwordDetector(self.model, sensitivity=0.4)
+        detector = snowboydecoder.HotwordDetector(self.model, sensitivity=0.5)
 
 
         # start snowboy loop
         # start snowboy loop
         detector.start(detected_callback=self.main_controller.hotword_detected,
         detector.start(detected_callback=self.main_controller.hotword_detected,

+ 19 - 2
core/OrderListener.py

@@ -1,7 +1,9 @@
+import speech_recognition as sr
+
 
 
 class OrderListener:
 class OrderListener:
 
 
-    def __init__(self, main_controller):
+    def __init__(self, main_controller=None):
         """
         """
         This class is called after we catch the hotword that have woke up JARVIS.
         This class is called after we catch the hotword that have woke up JARVIS.
         We now wait for an order spoken out loud by the user, translate the order into a text and run the action
         We now wait for an order spoken out loud by the user, translate the order into a text and run the action
@@ -16,4 +18,19 @@ class OrderListener:
         Start recording the microphone
         Start recording the microphone
         :return:
         :return:
         """
         """
-        pass
+        # obtain audio from the microphone
+        r = sr.Recognizer()
+        with sr.Microphone() as source:
+            print("Say something!")
+            audio = r.listen(source)
+
+        # recognize speech using Google Speech Recognition
+        try:
+            # for testing purposes, we're just using the default API key
+            # to use another API key, use `r.recognize_google(audio, key="GOOGLE_SPEECH_RECOGNITION_API_KEY")`
+            # instead of `r.recognize_google(audio)`
+            print("Google Speech Recognition thinks you said " + r.recognize_google(audio))
+        except sr.UnknownValueError:
+            print("Google Speech Recognition could not understand audio")
+        except sr.RequestError as e:
+            print("Could not request results from Google Speech Recognition service; {0}".format(e))

+ 4 - 4
test.py

@@ -1,7 +1,7 @@
-from neurons import Say
-from neurons import SystemDate
+from core.OrderListener import OrderListener
 
 
-say_neurone = Say("oui monsieur?")
 
 
+oder = OrderListener()
+
+oder.start()
 
 
-#date_neurone = SystemDate()