A developer by the name of Brian Kane has made millions of people feel slightly unsettled by hooking up Amazon’s Alexa into an animatronic singing fish called Billy The Bass. No details as to how this was actually done are provided with the video but you can see some kind of development board in the lower left part of the frame indicating this is probably a legit hack as opposed to just syncing Alexa’s voice to the fish movements manually. The question is, does this simply process audio in real time for lip syncing, or is it precalculated?
Precalculated methods have been used in the past in the form of text-to-speech readers. But this is using the voice of Alexa and it’s more difficult to figure out how a precalculating method would work. Modern microcontrollers are powerful enough to analyze audio on the fly, and that may be what’s going on here. You just need some type of WiFi dev board and an Amazon Dot for input, using it the microcontroller to flap the jaw as necessary.
A more refined version might make the Billy Bass its own Alexa device and for that you have to go through the Alexa Skill Set. It is a set of APIs providing access to a whole host of things ranging from playing music to setting an alarm. You can also write your own ‘skill’ which is how the interface with a microcontroller is built. Communication with Alexa is done over HTTP requests so you could probably use any development board with a WiFi chip on it for this type of project.
One of the main attractions of the Amazon Echo is the seven microphones it has mounted on its rim. This lets it pick up sound from any direction even if there is music playing. There have been some attempts at a voice based home automation service for the Raspberry Pi, Jasper is one example. Whatever microphone you hook up to a Pi still probably won’t be nearly as good as the Echo. Picking up normal speaking level voice from across the room is tricky and the Echo seems to have cracked it. For clarification, the Echo is the physical device containing the microphones and speakers. The echo streams your speech to a server where the web service ‘Alexa’ analyzes it and can respond and perform tasks etc.
While the Echo and Alexa are still in the early stages of the whole IoT and home automation scene and the whole thing is riddled with Amazon specific terminology like ‘skills’ and ‘lambda functions’, it is a step in the right direction. By making it easier to hook up a microcontroller to these types of services, it will hopefully be fertile grounds for new types of projects we’ve not seen before.