Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 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

Open

Recipe need to be added to build 

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 Thunder plugin developed by metrological/amazon. it supports configurable audio sources and depends on the AVS client SDK.

  • As of now it only supports general Alexa skills (without any RDK specific skill)
  • Current source code is built with AVS Device SDK 1.15 & Smart Screen SDK 2.0.1

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

...

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.cmake

...

RequiredFor AVS SDKResolved
FindAlexaSmartScreenSDK.cmake

...

OptionalFor Smart Screen SDK

...

TBA
FindGStreamer.cmake

...

RequiredFor GstreamerResolved
FindLibCURL.cmake

...

RequiredFor LibcurlResolved
FindPortaudio.cmake

...

RequiredFor Port AudioResolved
FindPryonLite.cmake

...

OptionalFor Pryon

...

Wake-Word-EngineTBA
FindWebsocketpp.cmake

...

OptionalWeb socket+ For Smart Screen SDKResolved
FindYoga.cmake

...

Gap/Questions

Optional

Cross platform Layout engine

Required for Smart Screen

Resolved
FindAsio.cmakeOptionalASIO library For Smart Screen SDKResolved

...

  1. Yoga
  2. Asio
  3. Pryon Lite

...

Video catalog

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

...

  • Searching and playing content
  • Playback controls - Pause, play, rewind, Volume Up/Down
  • Turning a video device on or off
  • Changing a video device's input (HDMI etc.)
  • Launching an app or GUI shortcut
  • Recording video content
  • Channel navigation
  • Video catalog ingestion (question)ingestion

Dependency

  • Alexa developer account
  • AWS account (for lambda)
  • OAuth 2.0
  • Lambda function can be written using Node.js/Python etc.

...

Questions & Response

  • Which of the below approach are supported for device end integrationintegration (tick)
    • The skill responses are directly passed to & decision is taken by cloud UI (e.g. metrological UI)
    • It should be processed by a native module (skill mapper) & then instruction sent to UI
  • Any examples to simulate with a dummy operator and other auth fields to verify the video skill end-to-end?
  • Under The skill creation steps → Step #2 (Choose a method to host your skill's backend resources) it is mentioned that You can provision your own backend resources or you can have Alexa host them for you. But under that we are getting only 1 option i.e.  'provision your own' 
  •  (tick)Unable to create a lambda function via 
    • Example Link : 
    consoleaws.amazon.lambda/home using free tier account

List of Custom skill intents

...

MoveLeftIntent, MoveRightIntent, MoveDownIntent, MoveUpIntent, EnterKeyIntent, ExitKeyIntent

...

LaunchYouTubeIntent, CloseYouTubeIntent, VimeoIntent, BaebleMusicIntent, RadiolineIntent,

WallStreetJournalIntent, AljazeeraIntent, EuroNewsIntent, FranceTwentyFourIntent, CNNNewsIntent

AccuWeatherIntent, WeatherNetworkIntent,

TrueOrFalseIntent, SugarBoostIntent, GuessThatCityIntent,

MainUIIntent

...

VolumeUpIntent, VolumeDownIntent, MuteIntent, UnMuteIntent, ShowVideoIntent, HideVideoIntent

...

  • Whether it supports open wake word engines (pryon is not available to all).(tick)
    • Pryon Lite is provided on demand
  • How the response from Video skill APIs should be handled?
    • The response path from Video skill API is different and will not come back to the AVS SDK. We need to implement communication mechanism similar to that of IOT endpoints.
  • What are the requirement for RDK UI (any reference UI) for interacting with smart screen (interface, API etc.)
    • TBD
  • What are requirement for RDK  UI to render the display card (text) in UI against each voice command
    • TBD

...