Porcupine Wake Word
Microcontroller Quick Start
Platforms
- Arm Cortex-M4
- Arm Cortex-M7
Requirement
- C99-compatible compiler
Picovoice Account & AccessKey
Signup or Login to Picovoice Console to get your AccessKey
.
Make sure to keep your AccessKey
secret.
Quick Start
Setup
- Clone the repository:
Usage
- Include the public header files.
- Link the project to an appropriate library file.
- Construct the porcupine object:
- Pass in frames of audio to the
pv_porcupine_process
function:
- Release resources explicitly when done with Picovoice:
Create Custom Keywords
- Obtain the UUID of the chipset.
- Go to Picovoice Console to create models for Porcupine Wake Word engine.
- Select
Arm Cortex-M
as the platform when training the model. - Select appropriate board type.
- Train your models.
- Download your custom keyword model.
- Decompress the zip file. The
.ppn
file inside is the binary model for the Porcupine Wake Word. The zip archive also contains a.h
header file containing theC
array version of the binary model. - Copy the contents of the arrays inside the
.h
header files and update thekeyword_array
.
Non-English Languages
Use the corresponding library file (.a
) to process non-English wake words.
The library files for all supported languages are available on the Porcupine Wake Word GitHub repository.
Demo
For the Porcupine Wake Word mcu SDK, we offer demo projects for several evaluation boards to demonstrate how to use the Porcupine wake word engine on microcontrollers. The full list of supported boards are available on the Porcupine GitHub repository.
Setup
Clone the repository:
Usage
- IMXRT1050-EVKB (Arm Cortex-M7)
- STM32F407G-DISC1 (Arm Cortex-M4)
- STM32F411E-DISCO (Arm Cortex-M4)
- STM32F769I-DISCO (Arm Cortex-M7)