Melissa – An Approach to Open-Source Virtual Assistants
After the purchase of a Raspberry Pi 2, I was browsing the web looking for interesting projects for learning more about and making the most of my Raspberry Pi. I have always been infatuated by Iron Man’s Jarvis, the AI butler of Tony Stark. I started to search furiously through the internet looking for resources which I could use to build my project. I came across many open source virtual assistants, but felt that they were too complicated to understand by novice programmers. This gave me the inspiration to build Melissa, a lovely virtual assistant for OS X and linux systems.
Melissa has three components, a STT engine (Speech-to-Text), a logical engine and a TTS engine (Text-to-Speech). The logical engine has been written by me in Python. Melissa takes the command from the users in the form of either speech or text, processes it and gives the output in the form of computerised speech. It uses the Google Speech Recognition for STT and either OS X’s say or linux’s espeak for TTS. The latest version of Melissa runs via terminal, however, an issue on building a UI has been filed and is being worked upon. Another repository hosts the web interface of Melissa which is in beta mode.
The code of Melissa has been written in such a way that it is really elementary for the beginners to follow through. The whole software has been divided into a large number of small modules, which makes it really easy to add new features. The current installation process, is however, a bit complicated. Melissa has some really cool features such as conversation module, note taking module, news reader, wikipedia module, image uploader, music player, twitter module, weather module as well as a blink(1) module. The blink(1) module allows the user to control the USB light by voice. It is basically a small proof of concept of how Melissa can be used in home automation as well.
A book titled “Building a Virtual Assistant For Raspberry Pi” written by me and published by Apress Media (which should be out soon) teaches important concepts about a virtual assistant, portrays the step by step procedure of building a virtual assistant and presents a vision of how the software should be modified and improved in order to make it even better. After all, having a helping hand like Jarvis would definitely spike our personal productivity in our day to day lives. Also, softwares like these would prove to be very beneficial to many industries such as Internet of Things (IoT) and would help in smart interactions, home automations and help in keeping the people as well as the various devices and appliances wirelessly wired.
There is a call for contributors requesting their assistance in scaling this software and improving it to build one of the best open source virtual assistance systems. The code for Melissa is MIT licensed and resides at GitHub (https://github.com/melissa-ai). There are plans to develop a mobile version for Melissa using the Ionic Framework. This would allow interactions between the mobile and laptop devices. If you are interested, you can file an issue for more details on anything that you would like to know or you can reach me via social media.