Пример #1
0
 def switch_on_do_not_bother(self):
     """
     打开勿扰模式
     """
     utils.do_not_bother = True
     Player.play(constants.getData("off.wav"))
     logger.info("勿扰模式打开")
Пример #2
0
 def switch_off_do_not_bother(self):
     """
     关闭勿扰模式
     """
     utils.do_not_bother = False
     Player.play(constants.getData("on.wav"))
     logger.info("勿扰模式关闭")
Пример #3
0
 def activeListen(self, silent=False):
     """主动问一个问题(适用于多轮对话)"""
     if config.get("/LED/enable", False):
         LED.wakeup()
     logger.debug("activeListen")
     try:
         if not silent:
             Player.play(constants.getData("beep_hi.wav"))
         listener = snowboydecoder.ActiveListener([
             constants.getHotwordModel(config.get("hotword", "wukong.pmdl"))
         ])
         voice = listener.listen(
             silent_count_threshold=config.get("silent_threshold", 15),
             recording_timeout=config.get("recording_timeout", 5) * 4,
         )
         if not silent:
             Player.play(constants.getData("beep_lo.wav"))
         if voice:
             query = self.asr.transcribe(voice)
             utils.check_and_delete(voice)
             return query
         return ""
     except Exception as e:
         logger.error("主动聆听失败".format(e))
         return ""
 def _do_not_bother_on_callback(self):
     if config.get('/do_not_bother/hotword_switch', False):
         utils.do_not_bother = True
         Player.play(constants.getData('off.wav'))
         logger.info('勿扰模式打开')
         data = [255, 0, 0] * 12
         pixels.show(data)
Пример #5
0
 def activeListen(self, silent=False):
     """ 主动问一个问题(适用于多轮对话) """
     if config.get('/LED/enable', False):
         LED.wakeup()
     logger.debug('activeListen')
     try:
         if not silent:
             #time.sleep(1)
             Player.play(constants.getData('beep_hi.wav'))
         listener = snowboydecoder.ActiveListener([
             constants.getHotwordModel(config.get('hotword', 'wukong.pmdl'))
         ])
         voice = listener.listen(
             silent_count_threshold=config.get('silent_threshold', 15),
             recording_timeout=config.get('recording_timeout', 5) * 4)
         if not silent:
             Player.play(constants.getData('beep_lo.wav'))
         if voice:
             query = self.asr.transcribe(voice)
             utils.check_and_delete(voice)
             return query
         return ''
     except Exception as e:
         logger.error(e)
         return ''
Пример #6
0
 def _detected_callback(self):
     if not utils.is_proper_time():
         logger.warning('勿扰模式开启中')
         return
     if self._conversation.isRecording:
         logger.warning('正在录音中,跳过')
         return
     Player.play(constants.getData('beep_hi.wav'))
     logger.info('开始录音')
     self._conversation.interrupt()
     self._conversation.isRecording = True
Пример #7
0
 def _detected_callback(self):
     def start_record():
         logger.info('开始录音')            
         self._conversation.isRecording = True;
     if not utils.is_proper_time():
         logger.warning('勿扰模式开启中')
         return
     if self._conversation.isRecording:
         logger.warning('正在录音中,跳过')
         return
     self._conversation.interrupt()
     Player.play(constants.getData('beep_hi.wav'), onCompleted=start_record, wait=True)
Пример #8
0
 def activeListen(self):
     """ 主动问一个问题(适用于多轮对话) """
     time.sleep(1)
     Player.play(constants.getData('beep_hi.wav'))
     listener = snowboydecoder.ActiveListener(
         [constants.getHotwordModel(config.get('hotword', 'wukong.pmdl'))])
     voice = listener.listen(
         silent_count_threshold=config.get('silent_threshold', 15),
         recording_timeout=config.get('recording_timeout', 5) * 4)
     Player.play(constants.getData('beep_lo.wav'))
     query = self.asr.transcribe(voice)
     utils.check_and_delete(voice)
     return query
Пример #9
0
 def _detected_callback(self):
     print("3")
     if not utils.is_proper_time():
         logger.warning('勿扰模式开启中')
         return
     if self._conversation.isRecording:
         logger.warning('正在录音中,跳过')
         return
     self._conversation.say('在“滴”声后,说出你想去的地方')
     time.sleep(4)
     Player.play(constants.getData('beep_hi.wav'))
     logger.info('开始录音')
     self._conversation.interrupt()
     self._conversation.isRecording = True
Пример #10
0
    def _detected_callback(self):
        if not utils.is_proper_time():
            logger.warning('勿扰模式开启中')
            return
        if self._conversation.isRecording:
            logger.warning('正在录音中,跳过')
            return

        server.onSay("{\"action_info\": \"wake\",\"msg\": \"唤醒\"}")
        # self._conversation.say(random.choice(self.wakes))
        Player.play(constants.getData('bee_wake.mp3'))
        logger.info('开始录音')
        self._conversation.interrupt()
        self._conversation.isRecording = True
Пример #11
0
 def _detected_callback(self):
     def start_record():
         logger.info('开始录音')    
         print('开始录音') 
         self._conversation.isRecording = True;
     if not utils.is_proper_time():
         logger.warning('勿扰模式开启中')
         return
     if self._conversation.isRecording:
         logger.warning('正在录音中,跳过')
         return
     self._conversation.interrupt()
     if config.get('/LED/enable', False):
         LED.wakeup()
     Player.play(constants.getData(random.choice(self._response_wav)), onCompleted=start_record, wait=True)
     with open("../communication/InPut.txt", "w") as file_writer:
         file_writer.write("true")
Пример #12
0
 def converse(self, fp, callback=None):
     """ 核心对话逻辑 """
     Player.play(constants.getData('beep_lo.wav'))
     logger.info('结束录音')
     self.isRecording = False
     if self.profiling:
         logger.info('性能调试已打开')
         pr = cProfile.Profile()
         pr.enable()
         self.doConverse(fp, callback)
         pr.disable()
         s = io.StringIO()
         sortby = 'cumulative'
         ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
         ps.print_stats()
         print(s.getvalue())
     else:
         self.doConverse(fp, callback)
Пример #13
0
    def _detected_callback(self):
        def start_record():
            logger.info("开始录音")
            self._conversation.isRecording = True
            utils.setRecordable(True)

        if not utils.is_proper_time():
            logger.warning("勿扰模式开启中")
            return
        if self._conversation.isRecording:
            logger.warning("正在录音中,跳过")
            return
        self._conversation.interrupt()
        if config.get("/LED/enable", False):
            LED.wakeup()
        utils.setRecordable(False)
        Player.play(constants.getData("beep_hi.wav"),
                    onCompleted=start_record,
                    wait=True)
Пример #14
0
 def converse(self, fp, callback=None):
     """ 核心对话逻辑 """
     Player.play(constants.getData('beep_lo.wav'))
     self.doConverse(fp, callback)
Пример #15
0
 def converse(self, fp, callback=None):
     """ 核心对话逻辑 """
     Player.play(constants.getData('beep_lo.wav'))
     logger.info('结束录音')
     self.isRecording = False
     self.doConverse(fp, callback)
Пример #16
0
def detectedCallback():
    global player
    if player:
        player.stop()
    Player.play('static/beep_hi.wav', False)
Пример #17
0
 def _do_not_bother_on_callback(self):
     if config.get('/hotword/hotword_switch', False):
         utils.do_not_bother = True
         Player.play(constants.getData('off.wav'))
         logger.info('勿扰模式打开')
Пример #18
0
 def _recored_callback(self, fp):
     server.onSay("{\"action_info\": \"think\",\"msg\": \"思考\"}")
     logger.info('结束录音 开始思考')
     Player.play(constants.getData('bee_complte.mp3'))
     self._conversation.converse(fp, self._end_think)
Пример #19
0
 def _do_not_bother_off_callback(self):
     utils.do_not_bother = False
     Player.play(constants.getData('on.wav'))
     logger.info('勿扰模式关闭')
Пример #20
0
def audioRecorderCallback(fname):
    global player
    Player.play('static/beep_lo.wav', False)
    print(ASR.transcribe(fname))
Пример #21
0
 def _detected_callback(self):
     if not utils.is_proper_time():
         logger.warning('勿扰模式开启中')
         return
     Player.play(constants.getData('beep_hi.wav'))
     self._conversation.interrupt()
Пример #22
0
 def _do_not_bother_off_callback(self):
     if config.get('/do_not_bother/hotword_switch', False):
         utils.do_not_bother = False
         Player.play(constants.getData('on.wav'))
         logger.info('勿扰模式关闭')
Пример #23
0
 def _do_not_bother_on_callback(self):
     utils.do_not_bother = True
     Player.play(constants.getData('off.wav'))
     logger.info('勿扰模式打开')