Saturday, September 24, 2016

Playing with Alexa

It is amazing how time's fly !
Are already almost two months since my last post !

Many things happened of course, busy life, work work work and only recently I restarted to play with something new, for fun.

Amazon made public a demo project to use a Raspberry Pi to be like an Echo, the Amazon  vocal command toy.
So I decided to try, I did put my hands on a Raspberry Pi 3 (in order to have embedded WiFi and Bluetooth), a nice USB microphone and a speaker (as suggested in the Amazon project) and one evening, with a friend, we followed the instructions and installed Alexa on a Raspberry.

Here few notes about


It took about 4 hours to install everything. The longest time was spent updating Raspbian, probably the update alone was about 1 hour and half.
The installation of tools and environment (the project is in Java, uses Node.js and Maven) took the other long part and the configuration the rest.
And yes, we did enjoy ourself watching Youtube (comedians) while waiting :)

Is it working ?

YES ! Amazingly it did work immediately and all considered is not bad at all !
It is possible to hear some static/digital noise in the speaker, especially if a monitor and USB keyboard is connected to the Raspberry, but the audio quality is not bad.

Let see some pro and cons


  • Relatively cheap
    A Raspberry Pi, a speaker and a microphone is what is needed. Many of us have this stuff in some box by sure :)
  • Easy to install
    The instructions are quite clear, some not updated to the last version parts but for somebody who plays with Raspberry or somebody with a basic computer science knowledge is not a problem.
  • It works
    Well yes, is a pro :)


  • You need an Amazon account. No problem for me but is important to realize that Alexa become a part of the Amazon account.
  • Is not an Echo !
    This is important !! The project is a demo and has some not intuitive/cumbersome way to activate Alexa, so don't expect Echo performances !
    In details :
    • A X11 graphic environment is needed ! Specifically they suggest to use VNC in order to connect from other computers.
      Is not a real embedded system like Echo.
    • Everytime the Raspberry is turned On is necessary to open terminals and start a local server plus a client.
    • When the client starts it is requested an https connection to retrieve a certificate.
      A browser is needed thus plus some manual operations.
      Once retrieved the certificate Echo works until the Raspberry is shutted off or the application is stopped
    • Some functionalities are disabled by default, like streaming music.
      Need to investigate if is possible to enable them.


So far I tried different things. The default of course is asking Alexa things like the time, the weather, news, etc.
And I have to say I'm impressed with the capability to recognize my accent !
I tried many vocal command systems in the past and all of them, ALL OF THEM, always failed to recognize my English.
I estimate for Alexa a recognizing average of 90/95% of what I say !
Simply amazing !!

Then I was able to interface Alexa with my google calendar and now I can handle it via voice. Cool.
Another interface was with IFTTT, so I can now create different triggers. So far I installed a trigger to call my cell phone.

So .. what is for ?

Fun ! :)
And is a relatively cheap way to test the capabilities of Echo.
I'll investigate few things in the next week or months (no time as usual ..) to see if is possible to modify the code to build something more close to the real Echo with maybe some custom capabilities. 

For example connecting a bluetooth microphone, controlling I/O, interfacing something personal like my Logitech Squeezebox, enabling the streaming music, connecting a bluetooth speaker and so on.

Surely the evaluation aspect of this project is worth alone the time spent to put together the gadget and playing with it

No comments:

Post a Comment