Amazon has released an example allowing you to create an Alexa endpoint on a Raspberry Pi 3 (or 2B). It's free and open source, so you can tear it apart, see how it works and modify it as you see fit!
These days, artificially intelligent, voice-activated assistants are big business. Apple has Siri, Google knows its name, and Amazon has Alexa. Unfortunately, getting to play around with any of these in any serious manner means getting a job with Google, Apple or Amazon. At least, until now.
Amazon has released an example using Amazon Voice Services to interface with Alexa, which can be run on pretty much any desktop computer, including (wonderfully) the Raspberry Pi 3 or 2B. The entire example is open source and written in Java. The instructions online are thorough, detailed and correct. It requires that you create (or link your Amazon account to) a free developer account, and very good instructions are provided for that process as well.
It offers options for listening: you can set it up to be a push-to-talk device using the GUI on screen or a GPIO pin, or you can enable a wake word service to activate the system on the keyword “Alexa”.
Image from the AVS Sample App wiki
The entire setup is free for use unless you’re developing it into a product.
Couple this with Shawn’s post from a few months ago about using Alexa with IFTTT, and you’ve got a very hacker-friendly setup for playing with Amazon Voice Services. The one downside is that you must manually register the device with AVS every time you boot it, so it doesn’t (quite) do the job of replacing an Echo. However, if you already have an RPi as part of a home automation system, adding AVS capability might be worth it, and I’m sure a more savvy user than myself could figure out a way to automate the startup procedures.
I used a Raspberry Pi 3 from our storefront stock, our pre-installed NOOBS microSD card, one of our miniature “hamburger” speakers and this Kinobo microphone from Amazon. Total cost overall is probably comparable to an Amazon Echo device, but it’s just so much cooler to build it yourself! Also, by running it on a Raspberry Pi, you have the Pi available for other home automation tasks.
Take a look and let us know what you think, especially if you figure out how to automate the boot process! Please share your thoughts in the comments below.