|
@@ -1,9 +1,16 @@
|
|
|
|
+import inspect
|
|
import logging
|
|
import logging
|
|
|
|
+import os
|
|
import time
|
|
import time
|
|
|
|
|
|
|
|
+from kalliope.core.TriggerModule import TriggerModule
|
|
from kalliope.trigger.snowboy import snowboydecoder
|
|
from kalliope.trigger.snowboy import snowboydecoder
|
|
|
|
|
|
|
|
|
|
|
|
+class SnowboyModelNotFounfd(Exception):
|
|
|
|
+ pass
|
|
|
|
+
|
|
|
|
+
|
|
class MissingParameterException(Exception):
|
|
class MissingParameterException(Exception):
|
|
pass
|
|
pass
|
|
|
|
|
|
@@ -11,9 +18,10 @@ logging.basicConfig()
|
|
logger = logging.getLogger("kalliope")
|
|
logger = logging.getLogger("kalliope")
|
|
|
|
|
|
|
|
|
|
-class Snowboy(object):
|
|
|
|
|
|
+class Snowboy(TriggerModule):
|
|
|
|
|
|
def __init__(self, **kwargs):
|
|
def __init__(self, **kwargs):
|
|
|
|
+ super(Snowboy, self).__init__()
|
|
# pause listening boolean
|
|
# pause listening boolean
|
|
self.interrupted = False
|
|
self.interrupted = False
|
|
self.kill_received = False
|
|
self.kill_received = False
|
|
@@ -25,11 +33,14 @@ class Snowboy(object):
|
|
|
|
|
|
# get the pmdl file to load
|
|
# get the pmdl file to load
|
|
self.pmdl = kwargs.get('pmdl_file', None)
|
|
self.pmdl = kwargs.get('pmdl_file', None)
|
|
-
|
|
|
|
if self.pmdl is None:
|
|
if self.pmdl is None:
|
|
raise MissingParameterException("Pmdl file is required with snowboy")
|
|
raise MissingParameterException("Pmdl file is required with snowboy")
|
|
|
|
|
|
- self.detector = snowboydecoder.HotwordDetector(self.pmdl, sensitivity=0.5, detected_callback=self.callback,
|
|
|
|
|
|
+ self.pmdl_path = self.get_file_from_path(self.pmdl)
|
|
|
|
+ if not os.path.isfile(self.pmdl_path):
|
|
|
|
+ raise SnowboyModelNotFounfd("The snowboy model file %s does not exist" % self.pmdl_path)
|
|
|
|
+
|
|
|
|
+ self.detector = snowboydecoder.HotwordDetector(self.pmdl_path, sensitivity=0.5, detected_callback=self.callback,
|
|
interrupt_check=self.interrupt_callback,
|
|
interrupt_check=self.interrupt_callback,
|
|
sleep_time=0.03)
|
|
sleep_time=0.03)
|
|
|
|
|
|
@@ -72,3 +83,4 @@ class Snowboy(object):
|
|
"""
|
|
"""
|
|
logger.debug("Unpausing snowboy process")
|
|
logger.debug("Unpausing snowboy process")
|
|
self.detector.paused = False
|
|
self.detector.paused = False
|
|
|
|
+
|