Enable Cloud-Based Wake Word Verification

Cloud-based wake word verification improves wake word accuracy for Alexa Built-in products by reducing false wakes caused by words that sound similar to the wake word. For example, here are a few words that may cause a false wake for "Alexa": "Alex", "election", "Alexis". Cloud-based wake word verification also detects media mentions of the wake word. For example, the mention of "Alexa" in an Amazon commercial.

Initial detection is performed by the wake word engine on the product, then the wake word is verified in the cloud. If a false wake is detected, AVS sends a StopCapture directive to the product in the downchannel that instructs it to close the audio stream, and if applicable, to turn off the blue LEDs to indicate that Alexa has stopped listening.

The following sections detail the work necessary to use this feature.

Review Requirements for Cloud-Based Wake Word Verification

Voice-initiated products start to stream user speech to AVS when a wake word, such as "Alexa", is detected by the wake word engine; the stream is closed when the user stops speaking or user's intent has been identified and the service returns a StopCapture directive. For cloud-based wake word verification to work, the audio streamed to AVS must include the wake word, 500 milliseconds of pre-roll, and any user speech that is captured until a StopCapture directive is received. This allows AVS to verify the wake word included in the stream, reducing the number of erroneous responses due to false wakes.

  • Pre-roll, or the audio captured prior to the detection of the wake word, is used to calibrate the ambient noise level of the recording, which enhances speech recognition.
  • Inclusion of the wake word in the stream allows AVS to perform cloud-based wake word verification, which reduces false wakes (the number of times the wake word engine falsely recognizes the wake word).
  • If the wake word is not detected during cloud-based wake word verification the audio samples are discarded.

The following document provides a recommendation to implement a shared memory ring buffer for writing and reading audio samples, and the specification for including the start and stop indices for wake word detection in each Recognize event sent to AVS.

See requirements »

Update Client Code to Send RecognizerState

Context is a container used to communicate the state of your client components to AVS. To support cloud-based wake word verification, all voice-initiated products are required to send RecognizerState with each applicable event.

Sample Message

    "header": {
        "namespace": "SpeechRecognizer",
        "name": "RecognizerState"
    "payload": {
        "wakeword": "ALEXA"

Payload Parameters

Parameter Description Type
wakeword Identifies the current wake word.
Accepted Value: "ALEXA"


This example illustrates a SpeechRecognizer.Recognize event with RecognizerState included.

Click here to expand +

Update Client Code to Support Changes to Recognize and ExpectSpeech

New key/value pairs have been added to the Recognize event and ExpectSpeech directive to support cloud-based wake word verification. Client code must be updated to support this feature.

Recognize Event

Recognize has been updated to include the initiator object. It includes information about how an interaction with Alexa was initiated, and if voice-initiated, the start and stop indices for the wake word.

See specification »

ExpectSpeech Directive

This directive has been updated to include initiator. In a multi-turn scenario, where Alexa requires additional information from the user to complete a request, the initiator sent to a client must be returned to Alexa in the following Recognize event. This is true regardless of how the interaction is initiated.

See specification »