123456789101112131415161718192021222324252627282930313233343536373839 |
- import speech_recognition as sr
- from core.OrderListener import OrderListener
- class GoogleSpeechRecognition(OrderListener):
- def __init__(self, main_controller=None):
- OrderListener.__init__(self, main_controller)
- self.listen()
- def listen(self):
- """
- Start recording the microphone
- :return:
- """
- # obtain audio from the microphone
- r = sr.Recognizer()
- with sr.Microphone() as source:
- # listen for 1 second to calibrate the energy threshold for ambient noise levels
- r.adjust_for_ambient_noise(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)`
- captured_audio = r.recognize_google(audio, key=None, language="fr-FR")
- print "Google Speech Recognition thinks you said %s" % captured_audio
- self._analyse_audio(captured_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))
- def _analyse_audio(self, audio):
- self.main_controller.analyse_order(audio)
|