Picovoice WordmarkPicovoice Console
Introduction
Introduction
AndroidC.NETFlutterlink to GoiOSJavaNvidia JetsonLinuxmacOSNodejsPythonRaspberry PiReact NativeRustWebWindows
AndroidC.NETFlutterlink to GoiOSJavaNodejsPythonReact NativeRustWeb
SummaryPicovoice LeopardAmazon TranscribeAzure Speech-to-TextGoogle ASRGoogle ASR (Enhanced)IBM Watson Speech-to-Text
FAQ
Introduction
AndroidC.NETFlutterlink to GoiOSJavaNodejsPythonReact NativeRustWeb
AndroidC.NETFlutterlink to GoiOSJavaNodejsPythonReact NativeRustWeb
FAQ
Introduction
AndroidCiOSLinuxmacOSPythonWebWindows
AndroidCiOSPythonWeb
SummaryOctopus Speech-to-IndexGoogle Speech-to-TextMozilla DeepSpeech
FAQ
Introduction
AndroidAngularArduinoBeagleBoneCChrome.NETEdgeFirefoxFlutterlink to GoiOSJavaNvidia JetsonLinuxmacOSMicrocontrollerNodejsPythonRaspberry PiReactReact NativeRustSafariUnityVueWebWindows
AndroidAngularC.NETFlutterlink to GoiOSJavaMicrocontrollerNodejsPythonReactReact NativeRustUnityVueWeb
SummaryPorcupineSnowboyPocketSphinx
Wake Word TipsFAQ
Introduction
AndroidAngularBeagleBoneCChrome.NETEdgeFirefoxFlutterlink to GoiOSJavaNvidia JetsonlinuxmacOSNodejsPythonRaspberry PiReactReact NativeRustSafariUnityVueWebWindows
AndroidAngularC.NETFlutterlink to GoiOSJavaNodejsPythonReactReact NativeRustUnityVueWeb
SummaryPicovoice RhinoGoogle DialogflowAmazon LexIBM WatsonMicrosoft LUIS
Expression SyntaxFAQ
Introduction
AndroidBeagleboneCiOSNvidia JetsonLinuxmacOSPythonRaspberry PiRustWebWindows
AndroidCiOSPythonRustWeb
SummaryPicovoice CobraWebRTC VAD
FAQ
Introduction
AndroidCiOSPythonWeb
AndroidCiOSPythonWeb
SummaryPicovoice KoalaMozilla RNNoise
Introduction
AndroidAngularArduinoBeagleBoneC.NETFlutterlink to GoiOSJavaNvidia JetsonMicrocontrollerNodejsPythonRaspberry PiReactReact NativeRustUnityVueWeb
AndroidAngularCMicrocontroller.NETFlutterlink to GoiOSJavaNodejsPythonReactReact NativeRustUnityVueWeb
Picovoice SDK - FAQ
IntroductionSTM32F407G-DISC1 (Arm Cortex-M4)STM32F411E-DISCO (Arm Cortex-M4)STM32F769I-DISCO (Arm Cortex-M7)IMXRT1050-EVKB (Arm Cortex-M7)
FAQGlossary

Picovoice Shepherd - No-Code Voice AI on Microcontrollers.


Picovoice Shepherd is the first no-code platform for building voice interfaces on microcontrollers. It enables creating voice experiences similar to Alexa, except that they run entirely on-device, instead of in the cloud. Picovoice Shepherd accelerates prototyping, mitigates technical risks, and shortens time-to-market. Paired with Picovoice Console , users can deploy custom voice models onto microcontrollers instantly.

Requirements

  • Python 3

Compatibility

  • Linux (x86_64)
  • macOS (x86_64)
  • Windows (x86_64)

Installation

Install Picovoice Shepherd via PIP:

pip3 install pvshepherd

Note for macOS

Install Python using either the official installer or Homebrew . Shepherd cannot run using the Python shipped with macOS. If using the Homebrew Python, make sure that /usr/local/bin is in the PATH variable before installing Shepherd.

Note for Windows

The default Python installation options do not add it to the Windows PATH variable. To fix the issue, refer to the Python Docs .

Usage

Run the following command from the terminal:

pvshepherd
On Linux, Shepherd will ask for the root password (only on the first launch)

Upload the Picovoice Firmware

  1. Select your board from the list.
  2. Make sure that the board is connected to the computer.
  3. Press the Upload Firmware button and wait for the operation to conclude.
Select your board and press the upload button at the bottom right corner of the window

Upload the Default Models

The unique universal identifier (UUID) of microcontroller on the board is at the top. You need this UUID to create custom models using Picovoice Console . For now, let's continue with the default models. Upload the default voice models to the board by pressing Use Default Models.

Select your models and press the upload button at the bottom right corner of the window

Test the Default Models

The board is ready. It has started processing the audio input from the microphone in real-time. It writes to the Shepherd console when the Picovoice engine detects utterances of the given wake word and follow-on voice commands. Say:

Picovoice, turn the lights on

Picovoice will detect the occurrence of the default wake word ("Picovoice"), and then determines the intent from the follow-on spoken command:

{
is_understood : True,
intent : changeLightState,
slots {
state : on,
}
}

The Show Context button opens a new window and lists all the available voice commands.

Monitoring the board activities and changing its parameters

The volume and CPU usage are on the top left. The inference sensitivity of the engines can be changed on the fly. The sensitivity parameter controls the tradeoff between the miss rate and false alarm. A higher sensitivity reduces the miss rate (false reject rate) at the cost of increased false alarm rate.

Audio Debugging

You can record and save the audio fed to the Picovoice from Shepherd. Go to the Audio debugging tab and click on the Record Audio button.

Saving audio recorded by the board for debugging

Create Custom Models

  1. Go back to the Upload Model page and copy the UUID to the clipboard using the Copy button.
  2. Go to Picovoice Console to create models for Porcupine wake word engine and Rhino Speech-to-Intent engine.
  3. Select Arm Cortex-M as the platform when training the model.
  4. Select the board type and provide the UUID of the chipset on the board.
create custom wake-word for the board

Upload the Custom Models

  1. Download your custom voice model(s) from Picovoice Console.
  2. Decompress the zip file. The model file is either .ppn for Porcupine wake word or .rhn for Rhino Speech-to-Intent.
  3. Go to the Upload Model page and select the models.
  4. Press the Upload button.
upload the custom models to the board

Supported Boards

The following boards are currently supported:

  • STM32F407G-DISC1
  • STM32F411E-DISCO
  • STM32F769I-DISCO
  • i.MX RT1050 EVKB

Additionally, there are demo projects on the Picovoice GitHub repository for all supported boards to ease integrating the designed voice interface into projects.

If the board you require is not on the list, let us know by creating a feature request on GitHub.

Was this doc helpful?

Issue with this doc?

Report a GitHub Issue
Picovoice Shepherd - No-Code Voice AI on Microcontrollers.
  • Requirements
  • Compatibility
  • Installation
  • Note for macOS
  • Note for Windows
  • Usage
  • Upload the Picovoice Firmware
  • Upload the Default Models
  • Test the Default Models
  • Audio Debugging
  • Create Custom Models
  • Upload the Custom Models
  • Supported Boards
Platform
  • Leopard Speech-to-Text
  • Cheetah Streaming Speech-to-Text
  • Octopus Speech-to-Index
  • Porcupine Wake Word
  • Rhino Speech-to-Intent
  • Cobra Voice Activity Detection
Resources
  • Docs
  • Console
  • Blog
  • Demos
Sales
  • Pricing
  • Starter Tier
  • Enterprise
Company
  • Careers
Follow Picovoice
  • LinkedIn
  • GitHub
  • Twitter
  • Medium
  • YouTube
  • AngelList
Subscribe to our newsletter
Terms of Use
Privacy Policy
© 2019-2022 Picovoice Inc.