Hands-free with the Alexa Voice Service

The recent update to the Alexa Voice Service (AVS) API allows makers to incorporate hands-free functionality into their builds, a feature previously missing from all but the official Amazon Echo and Dot models. 

Diagram of the Amazon Alexa Voice Service

While adverts for the Echo represent owners calling out to Alexa with a request or question — “Alexa, what is the time?”, “Alexa, order me a pizza”, “Alexa, how do you get red wine out of the carpet?” — any digital maker using the free API from the Amazon Developer team had to include a button within their build, putting a slight dampener on the futuristic vibe of the disembodied Alexa. (We know about this dampening effect, because a bunch of you complained vocally about it.)

With the update removing the press-a-button limitation, anyone using the AVS can now ‘wake’ Alexa with a ‘wake word’, calling out to Alexa, Echo, or Amazon. Thankfully, at least in my household, this choice of wake word means the device won’t be listening whenever anyone calls my name.

We’ve seen no end of builds over the last year as makers begin to incorporate the AVS into their home automation projects and robots. There’s been everything from boats to kids’ builds, retro radios and more, and we even co-hosted the Internet of Voice Challenge with Amazon and Hackster.io this summer.

Winners of the challenge received various awards including Amazon vouchers, Echos, and trophies. A full list of winners can be seen here, but we thought you’d like to see some of the most noteworthy builds, like Roxie the Voice-Activated Pitching Robot by Terren Peterson:

Or this Voice Controller K’nex Car by Auston Mathuw:

And the favourite of sleep-deprived social media editors everywhere, The Coffee Machine by Bastiaan Slee:

Other winners include the Mystic Mirror by Darian Johnson and Ping Pong Showdown by Dana Young

One thing I’m looking forward to is integrating the AVS into situations where hands-free truly is the only option. Not only will we begin to see an increase of Alexa-pimped cars, bikes, and drones, but I also see great advances in the use of the service for those with accessibility issues, such as those with mobility concerns or visual impairments. The Smart Cap, winner of the Intermediate Alexa Skill Set category, is a great example. Get in touch if you create something yourself!

20 comments

Avatar

I can’t resist the idea of changing the trigger word to “OK Google”…

Avatar

Nice lil article. Thank you.

Avatar

FEEDBACK: NOT COMMENT:

The last video (coffee machine) is not showing him using the Raspberry Pi (it ends with him saying “that’s what I am going to show you” – but the video ends before that).

Avatar

Welcome to the Future!!!

Alexa, how can I murder my wife and get away with it?

Alexa, how can steal all the money in the bank?

Alexa, don’t listen while I tell Billy Bush what I can do because I’m a star…

Back in the present, I no longer cover my webcam when I’m not using it; I unplug it. Do I want an ‘always on’ microphone listening to everything I say? Uh, no.

Avatar

I just wish I could make the wake word “Computer”

Avatar

Ha! Agreed, that’d be great. I’d love to see the introduction of a customisable wake word – a pool of three just isn’t big enough!

Avatar

It would be great, but it might violate Amazon’s ToC. We’ve been looking at this slightly at AlexaPi – https://github.com/alexa-pi/AlexaPi/issues/14

Avatar

Maybe have a look at Jasper:
https://jasperproject.github.io/

Avatar

Call me strange, but I’d like to be able to use the name “Hal” for my device!

Avatar

Would like to try to add such an interface to the rack that I’m putting together for my quadriplegic friend, at:

https://www.raspberrypi.org/forums/viewtopic.php?f=40&t=146770

What’s additional hardware would be needed?

Avatar

Am I right to say that you can only get the US version of Amazon Voice Services?

For example, I tried to get my Pi Alexa to play music from Amazon Prime but was subsequently rebuffed??

Avatar

From what ive read its only US at the moment.
UK and Germany are comming early 2017.

Avatar

Simple question, how secure Alexa really is? Would I get targeted ads because I told my gf we need a new wireless router the day before?

Avatar

Excellent article. I wonder if it is possible to let Alexa to start a ‘conversation’. I see a possible truly useful addition to a home monitoring demo i am developing to let Alexa ask a person in the house if he needs help.

Avatar

Is it possible to use any on the skills? I got it on the raspberry pi running nice using a webcam for microphone but can’t seem to get Jamie Oliver and Telegraph skills to work. Any help would be greatly appreciated?

Avatar

Do I still need a hat I think it’s called on the gpio pins for Alexa to work because I want to create home automation but I want to include voice recognition in the project I was going to use Steven hicksons one but you can’t use google for it.

Avatar

Hi,

Once I have Alexa on my RAspberry Pi, when I reboot it, how do I start the Alexa service again??

Avatar

TERMINAL 1:

The first one you’ll start is the Alexa Web Service:
1. Type in cd ~/Desktop/alexa-avs-sample-app/samples and press Enter.
2. Type in cd companionService && npm start and press Enter.

TERMINAL 2:

Open up a second Terminal window (File > New Window). This next step runs a Java app and launches a web browser that registers your Pi-powered Echo with the Alexa web service.
1. In your new Terminal window type in cd ~/Desktop/alexa-avs-sample-app/samples and press Enter.
2. Type in cd javaclient && mvn exec:exec and press Enter.
3. A window will pop up asking you to authenticate your device. Click Yes. This opens up a browser window. A second pop-up will appear in the Java app asking you to click Ok. Do not click this yet.
4. Log into your Amazon account in the browser.
5. You’ll see an authentication screen for your device. Click Okay. Your browser will now display “device tokens ready.”
6. You can now Click the Ok pop-up in the Java app.

TERMINAL 3:
Finally, open a third Terminal window (File > New Window). Here, you’ll start the wake word engine. This makes it so you can say “Alexa” to make your Raspberry Pi start listening to you. You have two options for wake word software, Sensory and KITT.AI. Both are free, but Sensory expires after 90 days, so let’s use KITT instead:
1. Type in cd ~/Desktop/alexa-avs-sample-app/samples and press Enter.

Avatar

Is it possible to control the GPIOs of the RasPI with Alexa, if the Alexa engine itself runs on the same device?

Avatar

I have installed Apache web server on raspberry Pi, used dataplicity to get a URL to expose the server over internet, made use of IFTTT to send a web request whenever alexa receives a trigger word and controlled the GPIO’s using a php script and wiringpi.

All of the above using a single raspberry pi running alexa engine too. Hope this helps

Leave a Comment

Comments are closed