snowboy的demo编写

上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:每个循环每秒等待的时间。

你可能感兴趣的:(树莓派,snowboy)