E.V.E. is a talking Jarvis computer. Say "okay computer" when it is running to activate listening, and then you can tell it to do what you want.
E.V.E. accepts natural questions and commands, such as:
- "What was the temperature in London on the 13th July 1982?"
- "Get me a YouTube video of the Star Trek Into Darkness trailer"
- "What sports do you like to play?"
See 'Usage' for a full list of what E.V.E. can do.
This project was cloned from a similar project by Rob McCann.
The project is developed for Linux, but has the potential to be multi-platform. Perhaps you can help!
- julius and julius voxforge packages
- ffmpeg package
- python: pyaudio
- python: requests
- python: pydub
- python: PyAIML
Other requirements:
- Wolfram Alpha API key
- Internet connection and web browser
- A microphone
See 'Installation' for detailed installation instructions.
Run the project by entering 'python eve.py' into the terminal in the E.V.E. directory. E.V.E. will start up and then listen for a spoken activation command (e.g. 'Okay Computer').
Note: You may find several lines of ALSA error messages after starting up eve.py. If the error messages do not terminate the program and return to the terminal prompt, then EVE can accept commands and function normally. The errors do not affect the running of the program, and I am working on removing the messages.
E.V.E. will listen for a voice command, which is described in further detail below.
E.V.E. will shut down.
E.V.E. will enter sleep mode and listen for 'computer wake up' to reactivate.
As mentioned above, the program is able to understand more naturally structured queries than the ones listed below. This feature is still experimental, but for the most part you can utter commands in conversational language:
- 'find me a youtube video of Rick Astley'
- 'I need some study music, please play the Beatles'
One restriction that still exists is that you should not say anything conversational or extraneous at the end of your input, as that will become appended to your query.
opens specified webpage.
googles specified query.
plays first youtube video returned by query.
returns list of videos found by query.
Conversational AI responds to query
runs query against wolfram alpha. If wolfram does not find a response, the conversational AI will respond. As a result, you can ask conversational questions such as "do you like sports?" directly as a voice command, without needing to prefix it with 'computer'.
opens Last.fm radio to play similar artists. (Current music streaming solutions all require premium accounts. Last.fm radio doesn't even require user authentication)
accidental recording; do nothing.
takes a screenshot
opens a news website of your choosing (default is currently set to Bing News as I personally think the layout is really good. But you can change it to whatever you want!)
These installation instructions work for Ubuntu Linux.
$ sudo apt-get install build-essential
$ sudo apt-get install julius julius-voxforge
$ sudo apt-get install ffmpeg
$ pip install -r requirements.txt
$ git clone git://pyaiml.git.sourceforge.net/gitroot/pyaiml/pyaiml
$ python setup.py install
- Sign up for a wolfram alpha account
- Request an API key(AppID)
- In the terminal, 'export WOLFRAM_API_KEY='AAAAAA-AAAAAAAAAA''
$ git clone https://github.com/thomasweng15/E.V.E..git
$ python eve.py
Ensure that your microphone is set up and that the input volume
is not too low or too high. You can check this using the "Sound"
utility in your settings menu under the "Input" tab.
Installation complete! Take a look at "Usage" to run the program!
- improve aiml set for chatbot
- provide Arduino communication/control as an action to be triggered by voice command.
- improve conversation mode
- make typing an option for voice commands.
- Thomas Weng
- Tevin Zhang
- Rob McCann