Picovoice离线语音识别在Linux系统的部署

前言:Picovoice平台在国内的应用案例很少,国内也没有官网,国外主站https://picovoice.ai/。本文基于Ubuntu系统部署Picovoice平台,我也尝试过在树莓派上部署,相当成功和简便,就是线上平台的操作需要花点时间去理解操作。相信大家阅读过本文后会更加容易理解。附上官方教程站点:https://picovoice.ai/docs/

一、简介

Picovoice 离线语音识别主要由两个语音识别引擎组成。

在这里插入图片描述
豪猪引擎Porcupine Wake Word Engine(部署唤醒词)
犀牛引擎Rhino Speech-to-Intent Engine(部署语音指令,提取关键信息)

这个两个引擎的组合就可以实现唤醒和辨别指令的功能,比如说:

“Hey, siri. open the light.”

"Hey, siri. "是属于豪猪引擎部分,"open the light."属于犀牛引擎部分。

"light"相当于一个变量,我们可以在犀牛引擎中定义多个不同的变量,一样通过"open the $value."的方式来执行不同的指令,进而控制不同的对象。

Picovoice 可以部署在多平台上,本文章直接介绍Linux系统上的部署过程。
其他平台的部署方式,详情请参考官方的指导:https://picovoice.ai/docs/

在这里插入图片描述


二、部署Picovoice

picovoice基于python3,想要部署picovoice,首先要部署好pip3(pip3是安装python3库的命令)

sudo apt-get install python3-pip

然后更新升级pip3

python3 -m pip install --upgrade pip

然后安装一些依赖文件

sudo apt-get install build-essential python-dev python3-setuptools portaudio19-dev libffi-dev

利用pip3安装所要依赖的python3库Cython

pip3 install Cython

升级Cython库

pip3 install --upgrade Cython

安装picovoicedemo

sudo pip3 install picovoicedemo


三、训练唤醒词和指令

在Picovoice Console平台里(https://console.picovoice.ai/)

进入豪猪引擎训练自定义唤醒词,最后获得.ppn文件。

在这里插入图片描述

在这里插入图片描述

点击生成时,会提示你选择所应用的平台,如果你在虚拟机Linux系统上面那就选Linux(x86_64)平台,如果是树莓派/TinkerBoard上面,就用Raspberry Pi平台

在这里插入图片描述

在这里插入图片描述

唤醒词的训练生成时间较长(大概20分钟),耐心等待,完成后会发邮件通知。

一些特殊平台的自定义唤醒词服务要收费,如果你嫌训练耗费的时间长,或者不想花钱,你可以去Github下载一些现成的训练文件我们可以从Github下载一些现成的训练文件:https://github.com/Picovoice

在这里插入图片描述

进入犀牛引擎训练自定义语音指令,最后得到.rhn文件

在这里插入图片描述

在这里插入图片描述

创建好项目后,点击项目进入到犀牛引擎内容设置界面:

在这里插入图片描述

举个例子,我做个语音助手,可以帮我开灯、开风扇。我就这样子设置:

在这里插入图片描述

在light槽里面定义两个灯的状态关键词:on,off

在这里插入图片描述

也在fan槽里面定义两个风扇的状态关键词:on,off

在这里插入图片描述

在这里插入图片描述

设置好后地点击训练生成,可以看到犀牛引擎对于全平台都是免费的。

在这里插入图片描述

在这里插入图片描述

把.ppn文件和.rhn文件搬到Linux文件系统内,然后以绝对路径的形式(推荐),作为picovoice_demo_mic命令的传入参数,然后终端就会进入到监听状态。

安装picovoicedemo后,在终端就可以执行picovoice_demo_mic命令,

picovoice_demo_mic --keyword_path /xxx/xxx/.ppn --context_path /xxx/xxx/.rhn


四、测试Picovoice

我用我训练的一个唤醒词“darren”,和在上文中训练的对话项目“test”进行测试。

在这里插入图片描述

在这里插入图片描述


五、语音识别调用终端命令

有同学会问,识别是识别出来了,但是如何实现响应操作呢?

很简单!picovoice是基于python实现的,只需要找到picovoice_demo_mic命令的实现源码文件,件并加以修改即可。

首先要找到picovoice_demo_mic命令的实现源码文件,你可以尝试全局搜索

sudo find / -name “picovoice_demo_mic*”

在这里插入图片描述

就发现/usr/local/lib/python3.8/dist-packages/picovoicedemo/picovoice_demo_mic.py,我们查看一下

在这里插入图片描述

举个例子,例如:

在这里插入图片描述

至此,你就可以利用Picovoice调用终端实现更多的功能。

在这里插入图片描述

  • 9
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值