This package contains a demo project for the i.MX RT1050 Evaluation Kit using Porcupine wake word engine.
- Arabic
- Dutch
- English
- French
- German
- Hindi
- Italian
- Japanese
- Korean
- Mandarin
- Polish
- Portuguese
- Russian
- Spanish
- Swedish
- Vietnamese
- Support for additional languages is available for commercial customers on a case-by-case basis.
For this demo, you need to download and install MCUXpresso IDE, which is an all-in-one multi-OS development tool for NXP MCUs based on Arm Cortex-M cores.
Porcupine requires a valid Picovoice AccessKey
at initialization. AccessKey
acts as your credentials when using Porcupine SDKs.
You can get your AccessKey
for free. Make sure to keep your AccessKey
secret.
Signup or Login to Picovoice Console to get your AccessKey
.
In the demo project, there is a separate build configuration for each supported languages. In order to activate a specific configuration:
- Click
Project
>Build Configuration
>Set Active
- Select the target configuration
Then, to compile and run the demo project on a i.MX RT1050 Evaluation board, perform the following steps:
- Open
MCUXpresso IDE
- From the main toolbar, select
Install MCUXpresso SDKs
and installevkbimxrt1050
SDK - Click
File
>Open Projects from file system...
to display theImport Projects
dialog box.Select the imxrt1050-evkb folder from this repository, and then press theFinish
button. - Replace
ACCESS_KEY
in bothmain.c
andmain_multi.c
with your AccessKey obtained from Picovoice Console - Click
Project
>Build Project
- Connect the board to the computer, select the imported project inside
Project Explorer
window - Click
Run
>Debug as
>MCUXpresso IDE LinkServer probes
and then select the connected board. - In the debug view, press
Run
>Resume
For single wake-word demos, you can identify the default keyword for each language by referring to the pv_params.h file. Within this file, locate the language section enclosed by:
#if defined(__PV_LANGUAGE_{LANGUAGE_NAME}__)
...
#endif
The default keyword for each language will be listed next to the // wake-word
comment.
For the multiple wake words demo Porcupine
, Picovoice
, Bumblebee
, and Alexa
are considered as the keywords.
- Copy the UUID of the board printed at the beginning of the session to the IDE console.
- Go to Picovoice Console to create a model for Porcupine wake word engine.
- Select
Arm Cortex-M
as the platform when training the model. - Select
IMXRT
as the board type and provide the UUID of the chipset on the board.
The model is now being trained. You will be able to download it within a few hours.
- Download your custom voice model(s) from Picovoice Console.
- Decompress the zip file. The model for Porcupine wake word is located in two files: A binary
.ppn
file, and as a.h
header file containing aC
array version of the binary model. - Copy the contents of the array inside the
.h
header file and update theDEFAULT_KEYWORD_ARRAY
in imxrt1050-evkb/inc/pv_params.h in the language section for which the model is trained.