概述
前言: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系统的部署一、简介二、部署Picovoice三、训练唤醒词和指令四、测试Picovoice五、语音识别调用终端命令的全部内容,希望文章能够帮你解决Picovoice离线语音识别在Linux系统的部署一、简介二、部署Picovoice三、训练唤醒词和指令四、测试Picovoice五、语音识别调用终端命令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复