Skip to content

This project demonstrates how to access and test the Alexa Voice Service using a Java client (running on a Raspberry Pi), and a Node.js server.

License

Notifications You must be signed in to change notification settings

sjonnakuti/alexa-avs-sample-app

 
 

Repository files navigation

About the project

This project provides a step-by-step walkthrough to help you build a hands-free Alexa Voice Service (AVS) prototype in 60 minutes, using wake word engines from Sensory or KITT.AI. Now, in addition to pushing a button to "start listening", you can now also just say the wake word "Alexa", much like the Amazon Echo. You can find step-by-step instructions to set up the hands-free prototype on Raspberry Pi, or follow the instructions to set up the push-to-talk only prototype on Linux, Mac, or Windows.


What is AVS?

Alexa Voice Service (AVS) is Amazon’s intelligent voice recognition and natural language understanding service that allows you as a developer to voice-enable any connected device that has a microphone and speaker.


Get started

You can set up this project on the following platforms -

Or you can prototype with these third-party dev kits -


What's new?

December 3, 2017:

Updates

  • Added support for these locales: Canada, India, and Japan.

Known Issues

  • A pause command followed by play/resume results in playback from the beginning of the audio item instead of the offset provided when the audio item was paused.

October 11, 2017:

Updates

  • Added support to automatically detect if the AVS Java Sample App should start in headless mode.
  • Added support for Raspbian Stretch.

Known Issues

  • Error running the WakeWordAgent with Stretch on Pi 2.

July 6, 2017:

Updates

  • The sample app has been updated to support Notifications.
    • Enable the Quote Maker skill, located in the Alexa Skills Store to test Notifications with the AVS Sample App.
  • Added a login/logout button.

June 21, 2017:

Updates

  • The sample app now supports Display Cards.
    • TemplateRuntime directives will be displayed in the sample app as JSON.
    • To enable Display Cards:
      • Login to the Amazon Developer Portal and navigate to your product: Alexa > AVS.
      • Click Edit, then click Device Capabilities.
      • Select Display Cards, then select Display Cards with Media.

May 31, 2017:

Updates

  • The Raspberry Pi + Microsemi AcuEdge Development Kit for Amazon AVS is now available for purchase. Learn more »

May 4, 2017:

Updates

  • The Conexant 4-mic Development Kit for Amazon AVS is now available, making it easier and more cost-effective to build far-field products with Amazon Alexa. Learn more »

April 27, 2017:

Updates

April 20, 2017:

Updates

  • The companion service persists refresh tokens between restarts. This means you won't have to authenticate each time you bring up the sample app. Read about the update on the Alexa Blog ».
  • The Listen button has been replaced with a microphone icon.
  • The sample app uses new Alexa wake word models from KITT.ai.

Maintenance

  • ALPN version has been updated in POM.xml.
  • Automated install no longer requires user intervention to update certificates.

Bug Fixes

  • The sample app ensures that the downchannel stream is established before sending the initial SynchronizeState event. This adheres to the guidance provided in Managing an HTTP/2 Connection with AVS.
  • Locale strings in the sample app user interface have been updated to match the values in config.json.
  • Fixed no volume in Linux bug.
  • WiringPi is now installed as part of automated_install.sh.
  • Fixed 100% CPU bug.

Known Issues

  • To log out of the java sample app you must delete your refresh_tokens file in the /samples/companionService folder. Otherwise, the sample app will authenticate on each reboot. Click here for log out instructions.

Important considerations

  • Review the AVS Terms & Agreements.

  • The earcons associated with the sample project are for prototyping purposes only. For implementation and design guidance for commercial products, please see Designing for AVS and AVS UX Guidelines.

  • Usage of Sensory & KITT.AI wake word engines: The wake word engines included with this project (Sensory and KITT.AI) are intended to be used for prototyping purposes only. If you are building a commercial product with either solution, please use the contact information below to enquire about commercial licensing -

  • IMPORTANT: The Sensory wake word engine included with this project is time-limited: code linked against it will stop working when the library expires. The library included in this repository will, at all times, have an expiration date that is at least 120 days in the future. See Sensory's GitHub page for more information on how to renew the license for non-commercial use.


Contribute

About

This project demonstrates how to access and test the Alexa Voice Service using a Java client (running on a Raspberry Pi), and a Node.js server.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%