RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
...
Module | Artifact Name | Purpose | Location | Owned by |
---|---|---|---|---|
AVS SDK | wpe-alexa-lib.bb | Build support for AVS Device SDK | CMF Hosted | RDKM |
avs-device-sdk | Source code for AVS Device SDK | https://github.com/aws/aws-sdk-cpp | Amazon | |
RDK Skill Mapper | skillmapper.bb | Build support for skill mapper module | CMF Hosted | RDKM |
alexa_skill_mapper | RDK component to:
| CMF Hosted | RDKM | |
AWS SDK | aws-cpp-sdk.bb | Build support for AWS CPP SDK module | CMF Hosted | RDKM |
aws-cpp-sdk | Provides APIS to integrate AWS services such as SQS, Lambda, cognito etc. to RDK client devices. | https://github.com/aws/aws-sdk-cpp | Amazon | |
KWD Detector | pryonlite_2.3.0.bb | Build support for Amazon KWD engine. | CMF Hosted | RDKM |
PryonLite pre-built library | Provides a Wake Word Engine that can be used with the Alexa plugin. This is useful for devices with far-field/microphone. | Distributed by Amazon | Amazon | |
AVS Plugin | wpeframework-plugins.bb | Build support for the Amazon voice thunder plugin | Hosted in rdkcentral GitHub | RDKM |
AVS plugin | Amazon voice thunder plugin for Alexa service, uses AVS SDK & smart screen SDK APIS as part of the implementation | Hosted in Metrological GitHub | Metrological | |
Lambda Demo code | lambda-code.zip | Reference implementation for receiving video skill directives from alexa and routing it to the RDK device. Uses lambda & SQS services. | Distributed by Amazon | Amazon |
...
Wake-Word-Engine
(Supported)
...
Traffic Light LEDs
...
Integrated
...
RDK Accelerator
...
Integrated
...
Feature | Handler | How to? |
---|---|---|
General skills | Alexa | Audio will be played for generic skills such as time, news and weather |
Youtube | Alexa → Cobalt | Voice command will be routed to Thunder |
App Launch | Alexa → UX | Voice command will be routed to Thunder |
Google search | Alexa → UX | Interactive command handled by Alexa and routed to Thunder |
Player controls | Alexa → App | Play/pause/back commands routed to app |
Please refer to below page on integrating the Alexa Video Skill Kit with RDK
Integrating Alexa Video Skill Kit with RDK
The build instructions are mentioned by taking RaspberryPi as an example but should be almost similar for other platforms.
Code Block |
---|
1. Initialize and download the code base
|
Please refer to below page on integrating the Video Skill Kit APIs with RDK
Integrating Alexa Video Skill Kit with RDK
The build instructions are mentioned by taking RaspberryPi as an example but should be almost similar for other platforms.
Code Block |
---|
1. Initialize and download the code base - Example for RaspberryPi: $ repo init -u https://code.rdkcentral.com/r/manifests -m rdkv-nosrc.xml -b thunder-next $ repo sync 2. Download the meta-rdk-voice layer in project root $ git clone https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-rdk-voice 3. Enable the below DISTRO feature to build AVS plugin $ vi meta-rdk-voice/conf/layer.conf - enable the below commented line #DISTRO_FEATURES_append = " alexa-plugin" 4. Optionally if wanted to use MIC based implementation (Ignore if using BLE voice remote) $ vi meta-rdk-voice/conf/layer.conf - enable the below commented line #DISTRO_FEATURES_append = " alexa_ffv" 5. To use pryon lite KWD engine (source use pryon lite KWD engine for devices with MIC input Note: Source code need to be obtained from amazon separately) a. Set the KWD support flag to "ON" in meta-rdk-voice/recipes-wpe/wpeframework/include/avs.inc b. include the KWD detector recipe to build. - enable the commented line #PREFERRED_PROVIDER_virtual/alexa-kwd-detector = "pryonlite" # Please follow the steps mentioned in section #3.2 to enable USB audio kernel parameters (Not required for RaspberryPI). 5. Optionally For the external source builds (such as some Broadcom platforms) add below line in manifest/auto.conf - In <Manifest>.xml <project name="components/generic/avs/alexa_skill_mapper" revision="rdk-next"/> - In auto.conf (where brcmexternalsrc is enabled) BRCMEXTERNALSRC_pn-wpe-alexa += "components/generic/avs/alexa_skill_mapper" SRCPV_pn-wpe-alexa = "${BRCMEXTERNAL-SRCPV-CMF}" $ repo sync 6 .Build the image target - Example for RaspberryPi $ source meta-cmf-raspberrypi/setup-environment ### select meta-cmf-raspberrypi/conf/machine/raspberrypi-rdk-hybrid-thunder.conf ### $ bitbake rdk-generic-hybrid-thunder-image |
...
Code Block |
---|
1. Initialize and download the code base - Example for RaspberryPi: $ repo init -u https://code.rdkcentral.com/r/manifests -m rdkv-nosrc.xml -b thunder-next $ repo sync 2. Download the meta-rdk-voice layer in project root $ git clone https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-rdk-voice 3. Add to BBLAYERS $ vi meta-rdk/conf/bblayers.conf.sample BBLAYERS += "${@'${RDKROOT}/meta-rdk-voice' if os.path.isfile('${RDKROOT}/meta-rdk-voice/conf/layer.conf') else ''}" 4. Optionally if wanted to use MIC based implementation (Ignore if using BLE voice remote) $ vi meta-rdk-voice/conf/layer.conf - enable the below commented line #DISTRO_FEATURES_append = " alexa_ffv" # Please follow the steps mentioned in section #3.2 to enable USB audio kernel parameters (Not required for RaspberryPI). 5. Optionally For the external source builds (such as some Broadcom platforms) add below line in manifest/auto.conf - In <Manifest>.xml <project name="components/generic/avs/alexa_skill_mapper" revision="rdk-next"/> - In auto.conf (where brcmexternalsrc is enabled) BRCMEXTERNALSRC_pn-wpe-alexa += "components/generic/avs/alexa_skill_mapper:git/VoiceToApps" SRCPV_pn-wpe-alexa = "${BRCMEXTERNAL-SRCPV-CMF}" $ repo sync 6 .Build the image target - Example for RaspberryPi $ source meta-cmf-raspberrypi/setup-environment ### select meta-cmf-raspberrypi/conf/machine/raspberrypi-rdk-hybrid-thunder.conf ### $ bitbake rdk-generic-hybrid-thunder-image |
...
Code Block |
---|
Note: This configuration is not required for RaspberryPi platforms # If FFV profile is enabled (DISTRO_FEATURES_append = " alexa_ffv") & we want to simulate audio input using a USB mic the below kernel configuration need to be enabled for non RPI platforms: CONFIG_SND_HWDEP=m CONFIG_SND_RAWMIDI=m CONFIG_SND_USB_AUDIO=m # After enabling the above kernel configs, recompile the kernel so that the support for USB audio will be enabled_USB_AUDIO=m # After enabling the above kernel configs, recompile the kernel so that the support for USB audio will be enabled |
...
At this stage, we can provide voice commands to alexa.
a) General Usage
ex: 1) User: what is the the time?a) General Usage
ex: 1) User: what is the the time?
Alexa: respond with current time
2) User : what is the weather outside ?
Alexa: it will ask for you location
User: if give the Location
Alexa: respond with the climate in the current location.b) Skill Invocation Enablecurrent time
User: My Device
Alexa: respond with "how can i help you"2) User : what is the weather outside ?
User : invocation enable
Alexa : respond with "invocation enabled"c) Skill Invocation DisableAlexa: it will ask for you location
(note :It is done when "skill mode" is already enabled & we want to switch back to "general mode" )User: if give the Location
User: invocation disable
AlexaAlexa: respond with "invocation disabled"the climate in the current location.
b) Using the custom skill to Launching Metro Applications
Note: Need to mention the skill name for invocation (skill name is My Device in below examples)d) Launching Metro Applications
ex : 1) launching RadioLine Application
User: tell my device to launch radioline
Alexa : respond with "radioline" by launching the application
...
2) launching Wall Street Journal Application
User: tell my device to launch WallStreetJournal
Alexa : respond with "WallStreetJournal" by launching the application
...