AVS Device SDK Features

This page documents any differences that might exist between features contained in the Alexa Voice Service (AVS) Device SDK and the Alexa Voice Service (AVS).


This is an implementation of captions for Alexa's voice. Currently supported as of SpeechSynthesizer 1.3 and AudioPlayer 1.1. In the SDK, it's disabled by default. You enable through the CMake build option CAPTIONS=ON. To use the new captions features, you must install a new dependency – the libwebvtt parsing library. Webvtt is a C/C++ library for interpreting and authoring conformant WebVTT content. WebVTT is a caption and subtitle format designed for use with HTML5 audio and video elements.

The Captions implementation is only designed to work with the en-US locale. If you want to support another locale, you must modify the line break logic in the CaptionManager::onParsed() method and use a locale-safe method for determining the break points between words. For example, you can use ICU's BreakIterator to handle the task. This implementation is determined by you.

NOTE: This implementation relies on the MediaPlayerInterface::SourceId value being unique across all instances.