static mic
parent
d78f5afcb2
commit
02ce0aeef4
|
|
@ -52,14 +52,24 @@ class Listener():
|
||||||
print("[{0}] Microphone with name \"{1}\" found for `Microphone(device_index={0})`".format(index, name))
|
print("[{0}] Microphone with name \"{1}\" found for `Microphone(device_index={0})`".format(index, name))
|
||||||
exit()
|
exit()
|
||||||
self.name = environ["MIC_NAME"]
|
self.name = environ["MIC_NAME"]
|
||||||
|
self._mic = None
|
||||||
|
|
||||||
|
def mic(self):
|
||||||
|
if not self._mic:
|
||||||
|
self._mic = self.new_mic()
|
||||||
|
return self._mic
|
||||||
|
|
||||||
|
def new_mic(self):
|
||||||
|
idx = [idx for idx,v in enumerate(sr.Microphone.list_microphone_names()) if v in self.name.split(",")][0]
|
||||||
|
mic = sr.Microphone(device_index=idx)
|
||||||
|
mic.__enter__()
|
||||||
|
return mic
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
mic_timeout=int(environ.get("MIC_TIMEOUT", 5))
|
mic_timeout=int(environ.get("MIC_TIMEOUT", 5))
|
||||||
# obtain audio from the microphone
|
# obtain audio from the microphone
|
||||||
r = sr.Recognizer()
|
r = sr.Recognizer()
|
||||||
idx = [idx for idx,v in enumerate(sr.Microphone.list_microphone_names()) if v in self.name.split(",")][0]
|
return r.listen(self.mic(), timeout=mic_timeout, phrase_time_limit=mic_timeout)
|
||||||
with sr.Microphone(device_index=idx) as source:
|
|
||||||
return r.listen(source, timeout=mic_timeout, phrase_time_limit=mic_timeout)
|
|
||||||
|
|
||||||
q = queue.Queue(maxsize=1)
|
q = queue.Queue(maxsize=1)
|
||||||
l = Listener()
|
l = Listener()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue