Ejemplo n.º 1
0
 def standby(self, prompt=False):
     logger.info("Standby")
     if prompt:
         Speaker.play_async("如果需要協助再呼叫我。")
         Information.set_user_speaking(False, 5)
     else:
         Information.set_user_speaking(False, 1)
     self._user_listener.listen_hotword()
Ejemplo n.º 2
0
    def play_sound(self, msg, play_async=False, quieter=False):
        # logger.debug("play_sound: 0")
        now = datetime.now()
        if msg == self.last_kanban_msg:
            # logger.debug("play_sound: 1")
            diff = now - self.last_kanban_msg_time
            if diff.total_seconds() < 8:
                logger.warning("Skip message: " + msg)
                return

        self.last_kanban_msg = msg
        self.last_kanban_msg_time = now

        if not Speaker.is_playing():
            if play_async:
                Speaker.play_async(msg)
            else:
                Speaker.play(msg, quieter)
Ejemplo n.º 3
0
    def start(self):
        Speaker.play_async("HI,我叫小美,你好。")
        # Speaker.play_async("HI How are you")

        if not os.path.exists("user"):
            os.makedirs("user")
        if not os.path.exists("output"):
            os.makedirs("output")

        self._user_listener = UserListener.UserListener(
            args=(self.user_words, ))
        self._user_listener.start()

        self._user_processor = UserProcessor.UserProcessor(
            args=(self.user_words, self))
        self._user_processor.start()

        Information.subscribe('sub1_arrived', self.__arrived_outdoor, True)
        Information.subscribe('sub4_arrived', self.__arrived_indoor, True)
        Information.start()
        Information.set_indoor(True)

        self.is_terminated = False
Ejemplo n.º 4
0
 def play_sound(self, msg, play_async=False):
     if not Speaker.is_playing():
         if play_async:
             Speaker.play_async(msg)
         else:
             Speaker.play(msg)