Today we are excited to announce equalizer (EQ) and sound mode controls for smart home entertainment devices, available today for customers in the US across the Amazon Echo family of devices, and on select Alexa-enabled devices built using the Alexa Voice Service (AVS). Now customers can personalize the tone of the audio playing on their speakers, AV receivers, and sound bars by simply saying, “Alexa, crank up the bass,” “Alexa, turn up treble,” or “Alexa, set TV mode.”
For developers working with entertainment devices and audio-visual playback, the equalizer and sound mode control features extend the capabilities of voice control with Alexa and are available today through the Smart Home Skill API and AVS API. Integrated equalizer control will be available soon through the AVS SDK, but select Alexa-enabled devices have already been introduced with these new capabilities: Sound United implemented band and mode control into the recently launched Polk Command Bar, and Sonos incorporated mode control into its newest soundbar, Sonos Beam.
“Consumers want simplicity and performance from their audio products. By adding the EQ API and Alexa Voice Service (AVS) to the Polk Command Bar, our consumers can control sound bar functions like setting or changing sound modes (e.g. Movie, Music, Night and Sport), bass volume and volume levels with just their voice. It also simplifies the installation and setup process and makes the value proposition of the Polk Command Bar stronger than before.” Michael Greco, Brand Director for Polk Audio.
Some more examples of how customers might use these new capabilities include:
The new equalizer functionality in the Smart Home API (Version 3) and the AVS API responds to three initial bands and a collection of supported modes, through four new directives in the Alexa.EqualizerController for Smart Home and EqualizerController interface for AVS.
Bands define audio frequency ranges. Customers can refer to these bands by name to strengthen or weaken low-to-high audio frequencies. Today, the supported band names are: Bass, Midrange, and Treble. In general, bands allow customers to fine-tune their audio per device to achieve an equalized output suitable to their environment or tastes. You can specify a numeric range for the bands you support in the discovery/capability response (See “How to enable Equalizer Control” section below for details).
Modes represent equalizer presets for playback of a type of music or environment. Today, the supported modes are: MOVIE, MUSIC, NIGHT, SPORT, TV.
Alexa.EqualizerController and the EqualizerController interface expose four directives for equalizer adjustment: SetBands, AdjustBands, ResetBands and SetMode directives. This interface is intended for devices that can set and adjust equalizer bands or modes based on ranges defined by the device manufacturer.
Depending on your implementation, you'll enable EqualizerController with Alexa.Discovery or the Capabilities API.
To add the equalizer and sound mode functionality to your device skill, the first change to consider is how your device discovery information is presented to Alexa.
The capability section of an endpoint for a Discover.Response that implements both bands and modes would look like the following:
{ "type": "AlexaInterface", "interface": "Alexa.EqualizerController", "version": "3", "configurations": { "bands": { "supported": [ { "name": "BASS" }, { "name": "MIDRANGE" }, { "name": "TREBLE" } ], "range": { "minimum": 0, "maximum": 11 } }, "modes": { "supported": [ { "name": "MOVIE" }, { "name": "MUSIC" }, { "name": "NIGHT" } ] } }, "properties": { "supported": [ { "name": "bands" }, { "name": "modes" } ] } }
The configuration field represent the different equalizer bands and modes supported by the endpoint. Other than a new interface and its relevant schema, the general discovery format remains the same as before with version 3 of the Smart Home Skill API. For more information, review the discovery documentation for entertainment devices.
To enable EqualizerController for an AVS product, you must declare the interface in your call to the Capabilities API. This is a sample that presumes all AVS interfaces are enabled:
{ "envelopeVersion": "20160207", "capabilities": [ { "type": "AlexaInterface", "interface": "EqualizerController", "version": "1.0" "configurations": { "bands": { "supported": [ { "name": "BASS" }, { "name": "MIDRANGE" }, { "name": "TREBLE" } ], "range": { "minimum": 0, "maximum": 11 } }, "modes": { "supported": [ { "name": "MOVIE" }, { "name": "MUSIC" }, { "name": "NIGHT" } ] } } } // This should be a complete list of // interfaces that your product supports. // All required interfaces must be declared. ] }
After a successful call to the Capabilities API, directives in the EqualizerController namespace will be sent to your product. For additional details, review the Capabilities API specification.
If you are building devices that could benefit from EQ and sound mode control, please review the documentation and join the community in the Alexa Smart Home Skill Developer Forum or the Alexa Voice Service Developer Forum. We look forward to seeing what you create with these new capabilities. To learn more, check out these resources: