You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PaddleSpeech/demos/keyword_spotting/README_cn.md

2.5 KiB

(简体中文|English)

关键词识别

介绍

关键词识别是一项用于识别一段语音内是否包含特定的关键词。

这个 demo 是一个从给定音频文件识别特定关键词的实现,它可以通过使用 PaddleSpeech 的单个命令或 python 中的几行代码来实现。

使用方法

1. 安装

请看安装文档

你可以从 easymediumhard 三中方式中选择一种方式安装。

2. 准备输入

这个 demo 的输入应该是一个 WAV 文件(.wav),并且采样率必须与模型的采样率相同。

可以下载此 demo 的示例音频:

wget -c https://paddlespeech.bj.bcebos.com/kws/hey_snips.wav https://paddlespeech.bj.bcebos.com/kws/non-keyword.wav

3. 使用方法

  • 命令行 (推荐使用)

    paddlespeech kws --input ./hey_snips.wav
    paddlespeech kws --input ./non-keyword.wav
    

    使用方法:

    paddlespeech kws --help
    

    参数:

    • input(必须输入):用于识别关键词的音频文件。
    • threshold:用于判别是包含关键词的得分阈值,默认值:0.8
    • modelKWS 任务的模型,默认值:mdtc_heysnips
    • configKWS 任务的参数文件,若不设置则使用预训练模型中的默认配置,默认值:None
    • ckpt_path:模型参数文件,若不设置则下载预训练模型使用,默认值:None
    • device:执行预测的设备,默认值:当前系统下 paddlepaddle 的默认 device。
    • verbose: 如果使用,显示 logger 信息。

    输出:

    # 输入为 ./hey_snips.wav
    Score: 1.000, Threshold: 0.8, Is keyword: True
    # 输入为 ./non-keyword.wav
    Score: 0.000, Threshold: 0.8, Is keyword: False
    
  • Python API

    import paddle
    from paddlespeech.cli.kws import KWSExecutor
    
    kws_executor = KWSExecutor()
    result = kws_executor(
        audio_file='./hey_snips.wav',
        threshold=0.8,
        model='mdtc_heysnips',
        config=None,
        ckpt_path=None,
        device=paddle.get_device())
    print('KWS Result: \n{}'.format(result))
    

    输出:

    KWS Result:
    Score: 1.000, Threshold: 0.8, Is keyword: True
    

4.预训练模型

以下是 PaddleSpeech 提供的可以被命令行和 python API 使用的预训练模型列表:

模型 语言 采样率
mdtc_heysnips en 16k