So this was a weekend project I wanted to try out - enabling that Jasper system based on voice recognition and text to speech on Edison (read more at their website). It allows you to create a system, which reacts to your voice commands, can reply using voice as well and you can add your own modules by writing them in Python. It's nice and really works (though the TTS sounds really creepy ) and can really surprise your friends if you teach it to do useful stuff.
I've got that done (in the half-baked mode, i.e. without packing everything into nice opkg packages and so on, just compiling and directly installing) and just want to share that in case someone else goes after that - to save you quite some time in compiling and hunting down all the dependencies. I'm not personally interested in continuing further than that, but feel free to ask if you need any help.
Just to make it clear, this is not a finished how-to, these are more like working notes, which will be useful if you're going to follow this way.
By going to http://repo.opkg.net/edison/misc/jasper you'll find a tar.bz2 file with two dirs inside:
- home/local - that's what I used instead of the /usr/local (by creating a symlink to /home/local) when compiling & "make install"-ing the dependencies;
- home/root/jasper - that's where all the sources and compilation results are (which you can "make install" right away + Jasper scripts themselves (in home/root/jasper/jasper);
Both take more space than default partitioning has for you on Edison's rootfs, so you'll either need to repartition yours, or do the symlinking stuff like I did. Or rebuild the dependencies into /home/something instead of /usr/local.
On the Edison OS side, you'll naturally need sound in and out, which most probably means USB audio and that in turn means you'll need to install a kernel supporting it, see this blog post for instructions.
Then you'll need to install the following packages: "alsa-utils libportaudio2 libasound2 bison espeak"
As far as Python is concerned, you'll need to install some prerequisites using pip (install it using standard get-pip.py, works fine):
pip install -r /home/root/jasper/jasper/client/requirements.txt
pip install --allow-external pyaudio --allow-unverified pyaudio pyaudio
There're also a couple of modules located in that tar.bz2 file, which are under home/local/lib/python2.7 - you need to either move them to /usr/lib/python2.7, or add that location into your PYTHONPATH.
And finally, there's a set of exports to add into your ~/.profile file on the board, to make sure Jasper finds its pieces:
root@edison1:~# cat ~/.profile