I recently purchased an Amazon Echo (as well as an Echo Dot), and have thoroughly enjoyed watching the girls use it to their hearts content (and using it every chance I get myself). I got even more excited when I realized that Amazon had created an API that would allow other developers to use the same service (at least Most of it) in their own applications/devices. After doing some Googling, I stumbled across Sam Machin’s version that he wrote for the Raspberry Pi. He called it AlexaPi. I jumped as soon as I found it and installed it on one of my Pi’s. I loved the new ability, but quickly discovered that it was lacking in some of the abilities that the Alexa Voice Service had. My goal with AlexaDotNet is to learn what’s needed so I can help fix these things in the AlexaPi script.
One thing that’s missing from AlexaPi is that some of the responses would come in as multiple audio files, and it would/could only play back the first one. Example, when I ask it what’s on my shopping list, it would tell me that I have two items, and then stop. If I were to ask that very same question to my Echo, it would say the same thing, but then it would proceed to tell me what those items were. To me, this was a big deal. I needed my Pi to be able to play every audio response it could!
The second thing I quickly realized that it couldn’t do was play any of the streaming audio services. For instance, if I asked it to play WKML on TuneIn, it would repeat the station name to me, and then quit. It would never actually start streaming the station.
AlexaPi is written in Python, and I just don’t have “enough” experience with Python to take the task head-on quite yet. So I did the next best thing I knew I could, I decided to write an app in Visal Basic.NET (hence the name, AlexaDotNet) to access the Alexa API so then I could see exactly what was needed in order to resolve the two issues I mentioned above.
Well, I’ve done it! I have a working copy of Alexa running in a .NET app that currently does everything the AlexaPi script does. I plan to release the source code (on my GitHub page) to the public as soon as I clean it up.
Here’s what the application is looking like at this moment:
Here’s a list of thing’s I’m looking to accomplish with this project (in no official order):
Get the full response from thing’s like the “to-do” list and the “shopping” list.(working again as of 3/16/2016)
- Get streaming music to work with all of the following services:
Amazon Prime Music(working as of 3/15/2016) TuneIn(working as of 3/16/2016) iHeartRadio(working as of 3/15/2016)
- Pandora (not supported with the API currently)
- Spotify (not supported with the API currently)
- Get the other following streaming services to work:
- Audible (can’t test as I don’t have a subscription)
Kindle Books(working as of 3/15/2016)