def switch_on_do_not_bother(self): """ 打开勿扰模式 """ utils.do_not_bother = True Player.play(constants.getData("off.wav")) logger.info("勿扰模式打开")
def switch_off_do_not_bother(self): """ 关闭勿扰模式 """ utils.do_not_bother = False Player.play(constants.getData("on.wav")) logger.info("勿扰模式关闭")
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)
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 ''
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
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)
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
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
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
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")
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)
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)
def converse(self, fp, callback=None): """ 核心对话逻辑 """ Player.play(constants.getData('beep_lo.wav')) self.doConverse(fp, callback)
def converse(self, fp, callback=None): """ 核心对话逻辑 """ Player.play(constants.getData('beep_lo.wav')) logger.info('结束录音') self.isRecording = False self.doConverse(fp, callback)
def detectedCallback(): global player if player: player.stop() Player.play('static/beep_hi.wav', False)
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('勿扰模式打开')
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)
def _do_not_bother_off_callback(self): utils.do_not_bother = False Player.play(constants.getData('on.wav')) logger.info('勿扰模式关闭')
def audioRecorderCallback(fname): global player Player.play('static/beep_lo.wav', False) print(ASR.transcribe(fname))
def _detected_callback(self): if not utils.is_proper_time(): logger.warning('勿扰模式开启中') return Player.play(constants.getData('beep_hi.wav')) self._conversation.interrupt()
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('勿扰模式关闭')
def _do_not_bother_on_callback(self): utils.do_not_bother = True Player.play(constants.getData('off.wav')) logger.info('勿扰模式打开')