Management of Wake Word Models

Use of the Amazon Wake Word Engine

The XVF3615 firmware contains an executable copy of the Amazon “Pryon Lite” wake word engine. This engine executes a voice model trained for a specific language. The wakeword model must be obtained directly from Amazon.

This engine, and the voice models associated with it, are licensed as “Restricted Program Materials” under the Program Materials License Agreement (the “Agreement”) in connection with the Alexa Voice Service Program. The Agreement is available at https://developer.amazon.com/support/legal/pml.

See the Agreement for the specific terms and conditions of the Agreement.

The use of the wake word engine requires implementation of either (i) AVS SDK Adapter for Wakeword or Wakeword Lite; or (ii) your own implementation of the AVS SDK Adapter for Wakeword or Wakeword Lite, including sending Wake Word Diagnostics Information (WWDI) or Wakeword detection metadata as a part of the Alexa Service API calls.

Please contact your AVS Solution Architect for more details.

Adding a WW model to the XVF3615

As noted above, the XVF3615 device firmware package does not contain a keyword model. The distributed application will operate as a voice processor with the wakeword detection feature disabled.

To enable the keyword detector the user must obtain the keyword model from their Amazon SP representative.

This wakeword will be supplied as a binary .bin file which needs to be copied onto the system that is being used to build the new data partition.

To load a wakeword model for XVF3615 via the data partition, you need to generate a new data image for XVF3615. You can use one of the JSON configs in the folder ‘data-partition’ which contains the name ‘wwe’. You must choose the JSON file that matches your product, for example ‘ua_wwe.json’ or ‘int_wwe.json’.

To include the model follow the steps below:

  1. In these JSON file find the entry for the wakeword model, for example in ‘ua_wwe.json’

{
    "path": "ww_models/WR_250k.en-US.alexa.bin",
    "comment": "Wakeword model. Keyword is Alexa"
}
  1. Replace the value of ‘path’ with the path to your model, relative to the JSON file.

  2. Generate and load the new data partition with the process described in the user guide.

The device supports models up to 250kB. In the default data partitions, there are several settings to configure and tune the wakeword engine. These settings have been found to give the optimal performance of the wakeword engine on the XMOS dev kits. The available models are stored in the directory data-partition/ww_models in the release package.

If the device is booting from flash, the model is stored in the data partition. The XVF3615 only supports execution of one WW model at any time.

Models can be changed by rebuilding the data partion in the same way as described in the XVF3610 user guide.

The path to the WW model is in the file json config file in data-partition. After updating the path, the data partition binary must be regenerated and it can be flashed to the device.

If you are booting via SPI boot, the model must be embedded in the boot binary - see later section.