Main tasks

ActivityStatus
Add Video Skill to existing Developer accountDone
Configure Lambda function and map with VSK

Done

  • Configured lambda function with sample code in AWS
  • Mapped to VSK in existing developer account
Implement lambda functions against existing custom skill utterances (e.g. My Device)

Open

  • There are total 30 voice command utterances which need to be mapped from custom skill to VSK
  • List of Intents captured In this section
Map video skill APIs with RDK skill mapper module

Open

  • Map existing JSON RPC commands with new response pattern from VSK
  • Add new JSON RPC commands for additional features provided by VSK
Build support for AVS Thunder plugin

In Progress

  • Recipe support added.
  • Build support In progress
    • Found some issues with SDK 1.20
    • Currently trying with 1.18 & 1.19 SDKs
Integration of Smart screen SDK

In Progress

  • Dependencies for ASIO, Web Socket++ added.
  • Recipe for alexa-ss-sdk added. Build support is in progress. 
Integration of APL (Alexa Presentation Language) library

Done

  • Build integration complete for APL core library.
Validation of the AVS plugin in video accelerator along with video skill APIs (final target)Open

List of Custom skill intents

CategoryList of IntentsCount (30)
Navigation

MoveLeftIntent, MoveRightIntent, MoveDownIntent, MoveUpIntent, EnterKeyIntent, ExitKeyIntent

6
App Launch

LaunchYouTubeIntent, CloseYouTubeIntent, VimeoIntent, BaebleMusicIntent, RadiolineIntent,

WallStreetJournalIntent, AljazeeraIntent, EuroNewsIntent, FranceTwentyFourIntent, CNNNewsIntent

AccuWeatherIntent, WeatherNetworkIntent,

TrueOrFalseIntent, SugarBoostIntent, GuessThatCityIntent,

MainUIIntent

16
Player

VolumeUpIntent, VolumeDownIntent, MuteIntent, UnMuteIntent, ShowVideoIntent, HideVideoIntent

6
SearchGoogleLaunchIntent, GoogleCloseIntent2

AVS Plugin

AVS plugin is a Thunder plugin developed by metrological/amazon. it supports configurable audio sources and depends on the AVS client SDK.

Source code

Source code is hosted in GitHub

https://github.com/WebPlatformForEmbedded/WPEPluginAVS/blob/master

Configurations Parameters

alexaclientconfigPath to the AlexaClientSDKConfig.json

smartscreenconfig

(optional)

  • Path to the SmartScreenSDKConfig.json
  • This param will be used only when enablesmartscreen is true

kwdmodelspath

(optional)

Path to the Keyword Detection (WWE) models which contain localeToModels.json
audiosourceThis can be either portaudio (FFV) or BluetoothRemoteControl (BT)
enablesmartscreenOptional, true or false - for Alexa Smart Screen
enablekwdOptional, true or false - for WWE

Methods

Mute

Using this method we can mute the volume coming out of AVS SDK as well we can mute the alerts.

record

Recording voice by Alexa SDK can be toggled on/off. This overrides the hot word detection i.e. if recording is off wake-word will not work. 

Notification

dialoguestatechange This notification will come when any state change happens in the Alexa. e.g. when the AVS SDK goes from Idle -> Listening or from Listening -> Thinking -> Speaking

Plugin Build dependencies

CMakeTypePurposeStatus
FindAlexaClientSDK.cmakeRequiredFor AVS SDKResolved
FindAlexaSmartScreenSDK.cmakeOptionalFor Smart Screen SDKTBA
FindGStreamer.cmakeRequiredFor GstreamerResolved
FindLibCURL.cmakeRequiredFor LibcurlResolved
FindPortaudio.cmakeRequiredFor Port AudioResolved
FindPryonLite.cmakeOptionalFor Pryon Wake-Word-EngineTBA
FindWebsocketpp.cmakeOptionalWeb socket+ For Smart Screen SDKResolved
FindYoga.cmakeOptional

Cross platform Layout engine

Required for Smart Screen

Resolved
FindAsio.cmakeOptionalASIO library For Smart Screen SDKResolved

Video catalog

With the Video Skill API, you can build skills that let customers control their entire video experience by voice.

Customers can control video devices and consume video content without invoking a specific skill. For example, the customer could do the following:

The Video Skill API exposes below functionalities:

Dependency

Questions & Response