瀏覽代碼

add stt lib

nico 8 年之前
父節點
當前提交
5e837a421b
共有 4 個文件被更改,包括 40 次插入7 次删除
  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:
         """
 
-        detector = snowboydecoder.HotwordDetector(self.model, sensitivity=0.4)
+        detector = snowboydecoder.HotwordDetector(self.model, sensitivity=0.5)
 
         # start snowboy loop
         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:
 
-    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.
         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
         :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()