This project is an attempt at an open source and customizable version of Apple's SIRI and Microsoft's Cortana.
I want an open source AI companion, because I the freedom to customize that comes with open source software. For instance, it would have been a long time before SIRI or Cortana would have been able to count my pushups for me, but with this framework I made it happen.
The code is written in Clojure, but I plan on building a rest API to access the main features
How do various components of the AI work?
I have separated the AI into several modules:
- The brochas-area uses Microsoft's speech recognition to translate commands
- The temporal-lobe parses the commands and extracts key words
- The prefrontal-cortex chooses the best action based off the information it receives.
- The visual-cortex uses OpenCV to detect moving objects and faces.
- The voice module uses IBM Watson's text to speech to talk
Features that are currently available:
- Alarms & timers that can say whatever you want them to say (Used for meditation, or checking to make sure you are on task).
- A voice activated YouTube player to play music without looking away from what you are doing.
- Hotkeys to turn the AI on and off.
- Ability to greet you when the AI sees your face after a period of time.
- Ability to read you your calendar
- Ability to tweet messages.
- A pushup counter (my favorite).
Features that I plan on adding:
- Ability to read and check off todos
- Ability to record video on voice command
I will release documentation and ebook with the software that will show the basics of how to use and extend the AI.
Please leave some feedback if you would like to see other features!
Risks and challenges
One challenge is that you must sign up for the individual service API's yourself. I am only producing a kit to interface with the various API's. You must get the appropriate OAuth keys yourself. If you go over the free API quotas that each API has, then you would be responsible for setting all of that up yourself.
There is the advantage and problem of this code being written in Clojure. I encourage you to extend the code beyond just the REST API I will provide, however that will require learning Clojure which despite being worth the effort, is quite daunting at first
I also want to make sure that I under promise what I can deliver as far as the capability of the AI software, because I have seen other notable AI projects that have over promised and under delivered.Learn about accountability on Kickstarter
- (14 days)