Amazon Provides DIY Echo Plans for Raspberry Pi
github.com
github.com
As someone who's spent a fair amount of time with hardware, I think this is what will make me tinker with the Alexa service - I am interested to see what it can do and I like keeping up with Amazon's hardware projects. I've got all the parts lying around to throw this together without spending anything, so it's a neat way for them to grab some interest from a different user demographic. This also should be fairly easy to get running on a BeagleBone too, which I tend to lean towards (more I/O, PRU can be useful)
You have to click on the "start listening" button and then the "stop listening" button.
This is not always listening app. You've to click "start listening".
EDIT: I'm wondering if this is a legal thing, i.e. they don't want any tom, dick or harry creating "always listening" devices associated with their brand, or they just want to differentiate their Echo product and not have competitors
Oh, I think the proper word was cue, not queue, by the way.
Maybe? Maybe you'd be comfortable? There's a world where you wrote the code yourself and still don't trust that it's not sending data back?
I've spoken with other people about feeling this way. I think that the difference here is actually 100% psychological, and that always-listening devices like the Echo are exactly as trustworthy as the company that makes them.
I am currently standing next to at least 4 different devices with microphones and internet connections that are on or in "sleep" mode. Just because they aren't "listening" to me in a way that is obvious (e.g., they respond to a command) doesn't mean that they're not recording every sound I make. There are in fact trojans designed to do exactly that.
Either you trust the manufacturer of these devices or you don't. The fact that there's a secondary processor on the Echo that does low-power constant voice recognition for the word "Alexa" (and similarly for some phones which can be activated with "OK Google") doesn't make it suddenly more likely to be storing all of your audio, all the time.
The only salient difference is just that it makes it obvious that it was in fact listening, whereas any internet-connected device around you could be listening to you right now and simply never let on.
I'm keeping my Echo plugged in. :)
- A cheap device (DIY if possible) in the form factor of a small plug-in unit. Ideally the device itself should be practically "invisible" in each room, and won't require any special home wiring. This is definitely in the realm of possibility for a Raspberry Pi (or similar).
- A microphone for the device that works at least as well as the Echo's far-field mic. I have not been able to find any good options for this, apart from some obscure parts that are too expensive for me to test, let alone buy for every room.
- Software that allows for voice-activated operation. There's probably a suitable workaround for doing this with the Alexa Voice Service now, though it may require more CPU power than is available on the Raspberry Pi.
- Ideally, I could host the voice service myself and wouldn't have to worry about the privacy implications of going through someone like Amazon. I know there are several existing software packages that claim to do this, but none that I've found can match the quality of Echo/Alexa for everyday interaction.
- Audio feedback does not need to be high quality, but at least audible. A small speaker within the device is probably enough. For other areas of the house, it would be nice for the output to be connected to a bluetooth speaker in the room or a home audio system (if available).
The Echo Dot appears to be a pretty close match for this (though I haven't tried it) - at least in terms of functionality, but the form factor still seems a bit off. I'd rather have a self-contained plug-in unit than something that sits on a desk or table.
[1] Or most of the house anyway
But why? What do you want to automate?
That's the part I never understood about this stuff. What is there to automate in the first place?
* lights * alarm clock (setting, turning it off and on, 15 more minutes) * be able to turn on my xbox/fire tv and tell it I want to watch <x>, then it figures out how * taking the dog out when it's 1am and I just want to go to bed (okay this one might take a little longer).
Have:
Adding things to my shopping list (via Alexa - currently in the kitchen and bathroom - two most frequent rooms where I'm like "hey I need more XXXX")
Changing the temperature (Nest via phone app and command line tool I wrote, and now Alexa just did a native integration)
Finding out my schedule for the day.
Finding out the weather forecast for the day.
Playing music (via Sonos or Alexa)
Locking front door when I'm going to bed.
Getting notified of movement or sound in the house while I away (Nest Cam and Smart Things)
......
Like the OP I'd love to have the voice control available in any room of the house. I'd love to have better security features (i.e. if I drive up my driveway at 3 AM turn on the outside lights, if a stranger drives up my driveway at 3 AM WAKE ME UP WITH AN ALARM). I'd love better voice controlled Sonos music selection. Composing emails, having handsfree phone or video calls, warming up the oven at a certain time, etc...
For adding to shopping list, check out Amazon Dash.
I don't wear a watch around the house, and I don't really like smart watches honestly - I like big heavy metal automatics. Likewise I enjoy being able to leave my phone on the charger somewhere else. I dunno. I mean long term dream would be integrating things like "smart" mirrors, semi-smart AI-esque assistants, and so on. Then again, I'm currently in a zero-tech house on the beach in Costa Rica, with a barely there internet connection, so it's not like any of this is that important...
For me, the Amazon Echo is more about having a connection to the world without looking at a screen. Getting answers to random questions (or utilities like timers), latest traffic conditions for travel, weather, etc are all really great applications for a voice interface. If that could also be combined with a good communication platform (voice calls, text/email messaging, etc), it would be even better.
E.g. Home automation: Every day at sunset, lower the blinds
E.g. Home control : You say "House, lower the blinds now".
If I lived alone with no pets I'd love to be able to automate the temperature to save money when I wasn't home. But there are usually people in my house, and there are always pets there, so I have to keep it pretty temperate in there at all times.
Other automatable things (lights, lawn sprinklers) are so easily accomplished with simple analog timers that I really do not see the attraction in controlling them via an app. Maybe it's just the programmer in me thinking... at this point in my life, I'm very jaded when it comes to software.
Security is a big one, I guess. It would be nice to be able to monitor that remotely. Though honestly I already have a dog in the house which is probably more effective than 90% of the solutions on the market.
My big thing is whole-house streaming audio, and we've had that for years with Airplay and Sonos and now with Chromecast as well. So that's cool.
But it's very rare that it goes beyond that; usually we hear the beep and one of us will yell "never mind!", and then the Echo will go silent. Sometimes it will cancel itself, too. I think that the always-listening part is less discriminating than the active voice recognition, and that it can re-parse the last couple of seconds and decide, in retrospect, that you didn't say "Alexa."
That said, I just recently said to my wife, "I wonder if Alexa knows 'sudo make me a sandwich'". The timing was such that it parsed "sudo make me a sandwich" and answered, "Well, if you ask like that, how can I refuse?" :)
We had a good laugh. Funny thing was, looking at the app later, it was actually parsed as "Pseudo make me a sandwich." I bet Google Now would have corrected it to sudo. :)
It's literally a tutorial on configuring Alexa Voice Services + their sample code on Debian.
The way you interact with it is by clicking on a button in a Java app. No trigger phrase like Echo.
On the software side, supposedly they're using Nuance for recognition. Nuance isn't cutting edge: In the tests I've done, Nuance has a Word Error Rate (WER) that's 10%-20% higher than Google's, but it's still much better than something like Pocketsphinx or any other open source recognizer.
There are a lot of factors that go into making a speech interface a good experience for users: Good recognition accuracy even with background noise, good voice activity detection (even with background noise), very accurate word spotting, low latency. It's hard to hit all these things well enough to make the interface usable.
[1] https://ifttt.com/products/do/button [2] http://nodered.org/
Also you need a microphone array to do it reliable (the Echo has 7 microphones).
In short, always listening isn't difficult on non-battery devices, it's just a software problem.
There's a phrase detection function you can configure to trigger audio streaming to the cloud.
The only limitation appears to be you have to click a "start listening" button to get it to start recording audio. You can't simply say "Alexa" to get the raspberry pi + alexa web service to listen for your query.
Anyone have any ideas for a work around/ solution to this?
I've heard the anecdotes about Alexa responding erroneously when people weren't home and doing things like turning the furnace on, etc. That combined with the general privacy concerns make me much more comfortable with being able to push a button to get her to listen – but I'd rather it be a button on my person – like on my fitbit, watch, etc. – easy, always available – plus maybe a way to turn it on for listening over a duration – say while cooking.
You can perhaps trigger alexa to start listening through it by wiring the voice recognition to click the "start listening" button.
It could be set up to provide whatever signals a button can provide.
I've been looking for an excuse to tinker with a raspberry pi for a while - this seems like something I could have some fun with then give away to someone less paranoid/concerned with the privacy issues.
The Echo hardware was just a way to get the ball rolling with this platform.
Longer term, conversational AI is clearly the next huge thing in sales and customer interaction, and they probably want to start progressively building grounds in that domain
As Woz says, "bigger than the iPhone." That sounds like a hell of a prediction to me. Woz knows all. :-)
Miss opportunity for Amazon to push Let's Encrypt...
[0]: https://aws.amazon.com/de/blogs/aws/new-aws-certificate-mana...