文章目录

一、关于 Porcupine特点用例尝试一下

语言支持性能

二、Demo1、Python Demo2、iOS DemoBackgroundService DemoForegroundApp Demo

3、网页 Demo3.1 Vanilla JavaScript 和 HTML3.2 Vue Demos

三、SDK - Python

一、关于 Porcupine

Porcupine 是一个高度准确和轻量级的唤醒词引擎。它支持构建始终监听的语音应用程序。

github : https://github.com/Picovoice/porcupine (240916 3.7K)官网:https://picovoice.ai/作者: Picovoice (Vancouver, Canada)Twitter | YouTube

特点

使用在 现实世界环境中 训练的深度神经网络。紧凑、计算有效率。它非常适合物联网。跨平台

Arm Cortex-M、STM32、Arduino和 i.MX RT树莓派(Zero、3、4、5)安卓 和 iOSChrome、Safari、火狐和 EdgeLinux(x86_64)、macOS(x86_64、arm64)和Windows(x86_64) 可扩展。它可以检测多个始终监听的语音命令,而不会增加运行时占用空间。自助服务。开发人员可以使用PicoVoice Console训练自定义唤醒词模型。

用例

如果您需要检测一个或几个静态(始终监听)语音命令,Porcupine是合适的产品。

如果您想创建类似于Alexa或Google的语音体验,请参阅 PicoVoice平台。如果您需要理解特定领域中 复杂且自然说出的语音命令,请参阅 Rhino Speech-to-Intent engine。

尝试一下

交互式网络 Demo 树莓派Zero 上的Porcupine

语言支持

阿拉伯语、荷兰语、英语、波斯语、法语、德语、印地语、意大利语、日语、韩语、普通话、波兰语、葡萄牙语、俄语、西班牙语、瑞典语和越南语商业客户可根据具体情况支持其他语言。

性能

Porcupine 和另外两个广泛使用的库 PocketSphinx和 Snowboy 有比较,见在里 。与这两个性能最好的引擎相比,Porcupine精度提高了11.0倍,速度提高了6.5倍(在 Raspberry Pi 3上)。

二、Demo

Demo 支持各个平台,这里简单列举几个,详见:https://github.com/Picovoice/porcupine?tab=readme-ov-file#demos

如果使用SSH,克隆存储库:

git clone --recurse-submodules git@github.com:Picovoice/porcupine.git

如果使用HTTPS,请使用以下命令克隆存储库:

git clone --recurse-submodules https://github.com/Picovoice/porcupine.git

1、Python Demo

安装 Demo 包:

sudo pip3 install pvporcupinedemo

使用连接到设备的工作麦克风在终端中运行以下操作:

porcupine_demo_mic --access_key ${ACCESS_KEY} --keywords porcupine

引擎开始实时处理来自麦克风的音频输入,并在检测到 Porcupine 时输出到终端。

有关Python Demo 的更多信息,请访问demo/python。

2、iOS Demo

BackgroundService Demo 在后台运行音频录制,当应用程序没有focus 并保持在后台运行时,可以检测唤醒词。只有当应用程序focus 时,前景应用程序 Demo 才会运行唤醒词检测。

BackgroundService Demo

要运行 Demo ,请转到demo/ios/Background Service并运行:

pod install

用你的 AccessKey替换文件ViewController. swift中的 let accessKey = "${YOUR_ACCESS_KEY_HERE}"。

然后,使用Xcode打开生成的PorcupineBackgroundServiceDemo.xcworkspace并运行应用程序。

ForegroundApp Demo

要运行前台应用程序 Demo :

1)转到ForegroundApp目录。然后运行:

pod install

2)在 XCode 中打开PorcupineForegroundAppDemo.xcworkspace。

3)用你的AccessKey替换文件ViewController. swift中的let accessKey = "${YOUR_ACCESS_KEY_HERE}"。

4)前往 Product > Scheme,为您要 Demo 的语言 选择 scheme(例如arDemo->Arabic Demo ,deDemo-> German Demo )

5)使用模拟器或连接iOS设备,运行 Demo

该 Demo 允许您选择任何预构建的关键字进行检测。按开始并说出选定的关键字。

3、网页 Demo

3.1 Vanilla JavaScript 和 HTML

从demo/web在终端中运行以下命令:

yarn

yarn start ${LANGUAGE}

(或)

npm install

npm run start ${LANGUAGE}

在浏览器中打开 http://localhost:5000 以尝试 Demo 。

3.2 Vue Demos

From demo/vue run the following in the terminal:

yarn

yarn start ${LANGUAGE}

(or)

npm install

npm run start ${LANGUAGE}

在浏览器中打开 http://localhost:5000 以尝试 Demo 。

三、SDK - Python

支持多种 SDK,这里截取 Python 部分,更多可见:https://github.com/Picovoice/porcupine?tab=readme-ov-file#sdks

安装Python SDK:

pip3 install pvporcupine

SDK公开了一个工厂方法 来创建引擎的实例:

import pvporcupine

# AccessKey obtained from Picovoice Console (https://console.picovoice.ai/)

access_key = "${ACCESS_KEY}"

handle = pvporcupine.create(access_key=access_key, keywords=['picovoice', 'bumblebee'])

keywords参数是访问库 随附的默认关键字文件 的简写。可用的 默认关键字文件 可以通过以下方式检索

import pvporcupine

print(pvporcupine.KEYWORDS)

如果您希望使用非默认关键字文件,您需要确定其路径:

import pvporcupine

# AccessKey obtained from Picovoice Console (https://console.picovoice.ai/)

access_key = "${ACCESS_KEY}"

handle = pvporcupine.create(

access_key=access_key,

keyword_paths=['path/to/non/default/keyword/file'])

初始化后,可以使用handle.sample_rate 获取有效的样例 rate。

所需帧长 (输入数组中音频样本的数量)是handle.frame_length。

该对象可用于监控 传入音频如下:

import pvporcupine

# AccessKey obtained from Picovoice Console (https://console.picovoice.ai/)

access_key = "${ACCESS_KEY}"

handle = pvporcupine.create(access_key=access_key, keywords=['porcupine'])

def get_next_audio_frame():

pass

while True:

keyword_index = handle.process(get_next_audio_frame())

if keyword_index >= 0:

# Insert detection event callback here

pass

最后,完成后一定要使用handle.delete()显式释放资源。

2024-09-16(一)

Copyright © 2088 樊振东世界杯_世界杯开幕 - tyzksb.com All Rights Reserved.
友情链接