赞
踩
上demo,记录记录
改变signal_handler 函数中的 interrupted为True,即可跳出监测主函数。
- import sys
-
- sys.path.append('./SNOWBOY')
-
- import snowboydecoder
- import signal
- interrupted = False
-
-
- def signal_handler():
- global interrupted
- interrupted = True
-
-
- def interrupt_callback():
- global interrupted
- return interrupted
-
- def ppp():
- print("123")
-
- def snowboy_jling():
- model = "SNOWBOY/jling.pmdl"
-
- # capture SIGINT signal, e.g., Ctrl+C
- signal.signal(signal.SIGINT, signal_handler)
-
- detector = snowboydecoder.HotwordDetector(model, sensitivity=0.5)
- print('Listening... Press Ctrl+C to exit')
-
- # main loop
- li=detector.start(detected_callback=signal_handler,
- interrupt_check=interrupt_callback,
- sleep_time=0.03)
-
- detector.terminate()
-
- snowboy_jling()
启动语音检测器。对于每一个“睡眠时间”秒,它检查音频缓冲区触发关键字。如果检测到,则在`detected_callback '中调用相应的函数,它可以是一个单函数(单模型)或一个回调函数列表(多个)
它还调用每个循环“interrupt_check”——如果返回True,则从循环中断开并返回。
:param detected_callback:函数或函数列表。项目的数量必须与“decoder_model”中的模型数量匹配。
:param interrupt_check:如果主循环需要停止,则返回True的函数。
:param float sleep_time:每个循环每秒等待的时间。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。