前言: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调用终端实现更多的功能。

Picovoice离线语音识别在Linux系统的部署相关推荐

  1. 如何在Linux系统上部署接口测试环境

    作为一名软件测试人员,部署测试环境是我们日常工作的一部分,今天就简单整理下接口测试环境部署的步骤,希望能够帮助到大家. 今天为大家整理的接口测试环境部署涉及到Tomcat,JDK和数据库.目前能够提供 ...

  2. linux的dns怎么配置正向区域文件,linux系统下部署DNS正向解析

    DNS服务概述: DNS(Domain Name System)域名系统,能够提供域名与IP地址的解析服务. 正向解析 正向解析是指域名到IP 地址的解析过程. 部署DNS正向解析 DNS服务的三个配 ...

  3. Linux系统之部署Rsyslog 日志服务器

    Linux系统之部署Rsyslog 日志服务器 一.检查服务器系统版本 二.在master节点上配置 1.修改/etc/rsyslog.conf 2.开启日志服务 3.查看日志服务状态 4.关闭防火墙 ...

  4. Linux系统之部署iWebShop电子商城网站

    Linux系统之部署iWebShop电子商城网站 一.iWebShop介绍 二.检查本地环境 1.检查系统版本 2.检查系统内核版本 三.部署apache环境 1.检查本地yum仓库 2.安装apac ...

  5. Linux系统之部署Samba服务

    Linux系统之部署Samba服务 一.Samba服务介绍 1.Samba服务简介 2.NFS和CIFS简介 3.Smaba服务相关包 4.samba监听端口 4.samba相关工具及命令 二.环境规 ...

  6. Linux系统之部署Gitblit服务器

    Linux系统之部署Gitblit服务器 一.Gitblit介绍 1.Gitblit简介 2.Gitblit官网 二.检查本地系统环境 1.检查系统版本 2.检查系统内核版本 3.检查JDK版本 三. ...

  7. Linux系统之部署ZFile在线网盘服务

    Linux系统之部署ZFile在线网盘服务 一.ZFile介绍 1.ZFile简介 2.ZFile特点 二.本地环境介绍 1.本次实践说明 2.本地环境规划 三.安装环境依赖 1.安装java 2.检 ...

  8. suse linux系统误删除文件恢复,Linux系统下部署文件恢复神器extundelete恢复误删的文件...

    Linux系统下部署文件恢复神器extundelete恢复误删的文件 最近看到群里提到如何恢复LINUX下ext4误删的文件,之前听说过ext3分区恢复工具ext3grep,恢复ext4刚是用extu ...

  9. Linux系统之部署Linux管理面板1Panel

    Linux系统之部署Linux管理面板1Panel 一.1Panel介绍 1.1Panel简介 2.1Panel特点 二.本地环境规划 1.本此实践目的 2.本地环境规划 三.检查本地环境 1.检查操 ...

最新文章

  1. 万年历的设计c语言,万年历设计报告
  2. 刘夏真的简历中国科学院计算机所,专家人才库数据----中国科学院计算技术研究所...
  3. play 打包 模块_全新的Play模块资料库
  4. php checkbox批量提交,jquery获取多个checkbox的值异步提交给php
  5. 操作 mysql 不生成日志_利用Python操作MySQL数据库,以后不懂这些是要被鄙视的!...
  6. MyCat的安装及基本使用(MySQL分库分表)
  7. sql like 通配符_《SQL必知必会》学习笔记
  8. Unity3D之NGUI基础6:UIButton按钮
  9. android 引用 project以及下拉刷新开源类库Android-PullToRefresh 的使用
  10. jni c java_使用JNI在C中调用java代码
  11. 通用技术和信息技术合格考知识点_通用技术学考复习_重要知识点汇总
  12. EA使用小技巧-控制图面拷贝时的边框
  13. python写Bicubic方法,跑数据集Set5和Set14,保存PSNR和SSIM的值
  14. 非计软专业的学生也能看懂的面向对象编程(《面向对象编程是怎样工作的》平野章/著 读书笔记)
  15. 使用exceljs导出部门-职位联动下拉框的excel
  16. 如何用二分查找法查找有序数组
  17. 剑指 Offer 11. 旋转数组的最小数字
  18. linux操作系统原理_Linux后台开发C++学习路线技能加点,已拿鹅厂offer
  19. vscode html tab键补全插件_打造舒适的 VS Code 开发环境
  20. 查询学生各科前三名的学生成绩

热门文章

  1. [世界概览]那些被印度人毁掉或者差一点毁掉的公司(翻译)
  2. 网易云音乐params和encSecKey生成原理
  3. Tita绩效宝:绩效管理评语范例
  4. cuda矩阵相乘_CUDA计算矩阵相乘
  5. 我的世界手机版开服务器领地系统,我的世界手机版领地指令大全 领地指令怎么用...
  6. 最大化 LoRa 长距离,您应该知道的完整秘籍
  7. 对计算机网络看法500字,500字信息技术学习评价
  8. Discuz!X3.4全新安装详细图文教程
  9. [Activeden] slick full website template with cms and 2 skins 中文版
  10. 衡水中学的《凉凉》 警醒自己