Alexa.EqualizerController interface in your Alexa add-on so that users can set and adjust the equalizer bands and sound modes of a smart entertainment device. For more details about entertainment device add-ons, see Connect Your Device Cloud with Smart Home Add-ons for Entertainment Devices.
For the list of languages that the Alexa.EqualizerController interface supports, see List of Alexa Interfaces and Supported Languages. For the definitions of the message properties, see Alexa Interface Message and Property Reference.
Utterances
TheAlexa.EqualizerController interface uses the pre-built voice interaction model. After the customer says one of the following utterances, Alexa sends a corresponding directive to your add-on.
The following examples show some user utterances:
- Dutch
- English (All)
- French (All)
- German
- Hindi
- Italian
- Japanese
- Portuguese
- Spanish (All)
Reportable properties
TheAlexa.EqualizerController interface supports the bands and mode properties. You identify that you support the properties in your discovery response.
Bands property
TheAlexa.EqualizerController interface uses the bands property to represent the different bands, and the level of each, for the equalizer on a device. The bands property is an array of Band objects.
The following example reports the current value of three bands.
Band object.
| Property | Description | Type |
|---|---|---|
name | Name of the band. Valid values: BASS, TREBLE, or MIDRANGE. | String |
value | Indicates the discrete frequency value (level) of the equalizer band. You specify the range of levels that your device supports in your discovery response. | Integer |
levelDirection | When adjusting a band, the direction to adjust the level relative to the current setting. Valid values: UP or DOWN. | String |
levelDelta | When adjusting a band, the amount by which to adjust the level relative to the current setting. If levelDelta, isn’t specified, adjust the level by the default amount. | Integer |
Mode property
TheAlexa.EqualizerController interface uses the mode property to indicate the equalizer mode of the device, if the user sets one. The property is a string and valid values are MOVIE, MUSIC, NIGHT, SPORT, TV.
The following example shows a mode property.
Discovery
You describe endpoints that supportAlexa.EqualizerController by using the standard discovery mechanism described in Alexa.Discovery.
Set retrievable to true for the properties that you report when Alexa sends your add-on a state report request. Set proactivelyReported to true for the properties that you proactively report to Alexa in a change report.
Use SPEAKER, TV, STREAMING_DEVICE, GAME_CONSOLE, or other appropriate display category. For the full list of display categories, see display categories.
To let Alexa know the health of your device, also implement the Alexa.EndpointHealth interface.
Configurations object
In addition to the usual discovery response fields, forAlexa.EqualizerController, include a configurations object that contains the following fields. You must specify at least one of bands or modes.
| Property | Description | Type |
|---|---|---|
bands | Bands that your device supports. Omit this field if your device only supports pre-set equalizer modes. | Object |
bands.supported | Names of the bands that your device supports. Valid values are BASS, TREBLE, and MIDRANGE. | Array |
bands.range | Minimum and maximum values for the range of band levels that your device supports. | Object |
modes | Pre-set equalizer modes that your device supports. Omit this field if your device supports bands only. | Object |
modes.supported | Names of the modes that your device supports. Valid values: MOVIE, MUSIC, NIGHT, SPORT, TV. | Array |
Range object
Userange to represent a range of values.
The following example shows the minimum and maximum values for a range.
Discover response example
The following example shows aDiscover.Response message for a television that supports the Alexa.EqualizerController and Alexa.PowerController interfaces. For the full list of recommended interfaces for a television, see Smart Home Device Templates.
Directives
Alexa sends the followingAlexa.EqualizerController interface directives to your add-on.
SetMode directive
Support theSetMode directive so that users can set the audio mode of their devices.
The following example shows a user utterance:
- Dutch
- English (All)
- French (All)
- German
- Hindi
- Italian
- Japanese
- Portuguese
- Spanish (All)
SetMode directive example
The following example shows aSetMode directive that Alexa sends to your add-on.
SetMode directive payload
The following table shows the payload details for theSetMode directive.
| Property | Description | Type |
|---|---|---|
mode | Indicates the mode to set the device to. | String |
SetMode response
If you handle aSetMode directive successfully, respond with an Alexa.Response event. In the context object, include the values of all relevant properties. You can respond synchronously or asynchronously. If you respond asynchronously, include a scope with an authorization token.
The following example shows a SetMode response.
SetMode directive error handling
If you can’t handle aSetMode directive successfully, respond with an Alexa.ErrorResponse event. Use the INVALID_VALUE error type if the user requests a mode that your device doesn’t support.
SetBands directive
Support theSetBands directive so that users can set the equalizer bands on their devices.
The following example shows a user utterance:
- Dutch
- English (All)
- French (All)
- German
- Hindi
- Italian
- Japanese
- Portuguese
- Spanish (All)
SetBands directive example
The following example shows aSetBands directive that Alexa sends to your add-on.
SetBands directive payload
The following table shows the payload details for theSetBands directive.
| Property | Description | Type |
|---|---|---|
bands | Indicates the bands, and level for each, to set on the device. | Array |
SetBands response
If you handle aSetBands directive successfully, respond with an Alexa.Response event. In the context object, include the values of all relevant properties. You can respond synchronously or asynchronously. If you respond asynchronously, include a scope with an authorization token.
The following example shows a SetBands response.
SetBands directive error handling
If you can’t handle aSetBands directive successfully, respond with an Alexa.ErrorResponse event. Use the INVALID_VALUE error type if the user requests a value or band that your device doesn’t support.
AdjustBands directive
Support theAdjustBands directive so that users can adjust the equalizer bands on their devices, relative to their current settings.
The following example shows a user utterance:
- Dutch
- English (All)
- French (All)
- German
- Hindi
- Italian
- Japanese
- Portuguese
- Spanish (All)
AdjustBands directive example
The following example shows anAdjustBands directive that Alexa sends to your add-on.
AdjustBands directive payload
The following table shows the payload details for theAdjustBands directive.
| Property | Description | Type |
|---|---|---|
bands | Indicates the bands, and level adjustment for each, to change on the device. | Array |
AdjustBands response
If you handle anAdjustBands directive successfully, respond with an Alexa.Response event. In the context object, include the values of all relevant properties. You can respond synchronously or asynchronously. If you respond asynchronously, include a scope with an authorization token.
The following example shows a AdjustBands response.
AdjustBands directive error handling
If you can’t handle anAdjustBands directive successfully, respond with an Alexa.ErrorResponse event. Use the INVALID_VALUE error type if the user requests a band that your device doesn’t support.
ResetBands directive
Support theResetBands directive so that users can reset the equalizer bands on their devices to their default values.
The following example shows a user utterance:
- Dutch
- English (All)
- French (All)
- German
- Hindi
- Italian
- Japanese
- Portuguese
- Spanish (All)
ResetBands directive example
The following example shows aResetBands directive that Alexa sends to your add-on.
ResetBands directive payload
The following table shows the payload details for theResetBands directive.
| Property | Description | Type |
|---|---|---|
bands | Indicates the bands to reset on the device. | Array |
ResetBands response
If you handle aResetBands directive successfully, respond with an Alexa.Response event. In the context object, include the values of all relevant properties. You can respond synchronously or asynchronously. If you respond asynchronously, include a scope with an authorization token.
The following example shows a ResetBands response.
ResetBands directive error handling
If you can’t handle aResetBands directive successfully, respond with an Alexa.ErrorResponse event. Use the INVALID_VALUE error type if the user requests a band that your device doesn’t support.
State reporting
Alexa sends aReportState directive to request information about the state of an endpoint. When Alexa sends a ReportState directive, you send a StateReport event in response. The response contains the current state of all the retrievable properties in the context object. You identify your retrievable properties in your discovery response. For details about state reports, see Understand State and Change Reporting.
StateReport response example
Change reporting
You send aChangeReport event to report changes proactively in the state of an endpoint. You identify the properties that you proactively report in your discovery response. For details about change reports, see Understand State and Change Reporting.

