This package contains a demo project for the STM32F769 Discovery kit using Picovoice platform.
- 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 STM32CubeIDE, which is an all-in-one multi-OS development tool for STM32 microcontrollers.
- Install a serial port monitor on your system to be able to communicate with the board. Arduino environment's built-in serial monitor and Coolterm are two free options available on all platforms (Windows, Linux, and macOS).
Picovoice requires a valid Picovoice AccessKey
at initialization. AccessKey
acts as your credentials when using
Picovoice 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 STM32F769 discovery board, perform the following steps:
- Open STM32CubeIDE
- Click
File
>Open Projects from file system...
to display theImport Projects
dialog box. Select the stm32f769i-disco folder from this repository, and then press theFinish
button. - Replace
ACCESS_KEY
inmain.c
with your AccessKey obtained from Picovoice Console - Click
Project
>Build Project
- Connect the board to the computer and press
Run
>Run
In this demo, you can determine the default wake word and context models for each language by checking the pv_params.h. Find the language section surrounded by:
#if defined(__PV_LANGUAGE_{LANGUAGE_NAME}__)
...
#endif
The default wake word for each language can be found next to the // wake-word
comment, and the default context is located beside the // context
comment.
When the demo begins, the context information will be displayed on the console.
- Copy the UUID of the board printed at the beginning of the session to the serial port monitor.
- Go to Picovoice Console to create models for Porcupine wake word engine and Rhino Speech-to-Intent engine.
- Select
Arm Cortex-M
as the platform when training the model. - Select
STM32
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 file is either
.ppn
for Porcupine wake word or.rhn
for Rhino Speech-to-Intent. Both zip archives also contain 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
andcontext_array
values in /stm32f769i-disco/Inc/pv_params.h in the language section for which the model is trained.