Versions Compared

Key

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

Table of Contents

Main tasks

ActivityStatus
Add Video Skill to existing Developer accountDone
Configure Lambda function and map with VSK
  • 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

Open

  • Recipe need to be added to build 
Validation of the AVS plugin in video accelerator along with video skill APIs (final target)Open

AVS Plugin

AVS plugin is a 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)

Source code

Source code is hosted in GitHub

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

Configurations params

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

Build dependencies

FindAlexaClientSDK.cmake - For AVS SDK
FindAlexaSmartScreenSDK.cmake - For Smart Screen SDK
FindAsio.cmake -  ?
FindGStreamer.cmake - For Gstreamer
FindLibCURL.cmake - For Libcurl
FindPortaudio.cmake - For Port Audio
FindPryonLite.cmake - For Pryon WWE
FindWebsocketpp.cmake - For websocket library
FindYoga.cmake - ?

Gap/Questions

  1. Recipe files are not available.
  2. Information on below packages & usage
    1. Yoga
    2. Asio
    3. Pryon Lite
  3. Information on whether it supports open wake word engines (pryon is not available to all)
  4. What are the requirement for RDK UI (any reference UI) for interacting with smart screen (interface, API etc.)
  5. What are requirement for RDK  UI to render the display card (text) in UI against each voice command

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:

  • Start video playback without specifying a provider or device
  • Control a specific video device:
    • "Alexa, turn on my video device"
    • "Alexa, lower the volume on my video device"

The Video Skill API exposes below functionalities:

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

Dependency

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

Gap/Questions

  • Which of the below approach are supported for device end integration
    • 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 & 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' 
  • Unable to create a lambda function via https://console.aws.amazon.com/lambda/home using free tier account

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