Coder Social home page Coder Social logo

e.v.e.'s Introduction

E.V.E.

Description

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!

Dependencies

  • 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.

Usage

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.

Activation Commands:

"Okay Computer"

E.V.E. will listen for a voice command, which is described in further detail below.

"Computer Shut Down"

E.V.E. will shut down.

"Computer Go Sleep"

E.V.E. will enter sleep mode and listen for 'computer wake up' to reactivate.

Voice Commands:

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.

"open [webpage]"

opens specified webpage.

"google/search [query]"

googles specified query.

"youtube [query]"

plays first youtube video returned by query.

"youtube search [query]"

returns list of videos found by query.

"Computer, [query]"

Conversational AI responds to query

"[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'.

"radio [artist]"

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)

"...no stop..."

accidental recording; do nothing.

"..screenshot..."

takes a screenshot

"...news..."

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!)

Installation

These installation instructions work for Ubuntu Linux.

Install building tool chain:

$ sudo apt-get install build-essential

Install julius and julius-voxforge:

$ sudo apt-get install julius julius-voxforge

Download and install portaudio

from here

Install ffmpeg (for pydub):

$ sudo apt-get install ffmpeg

Install python packages using pip:

$ pip install -r requirements.txt

Install pyaiml

$ git clone git://pyaiml.git.sourceforge.net/gitroot/pyaiml/pyaiml
$ python setup.py install

Getting a Wolfram Alpha API Key(AppID):

  1. Sign up for a wolfram alpha account
  2. Request an API key(AppID)
  3. In the terminal, 'export WOLFRAM_API_KEY='AAAAAA-AAAAAAAAAA''

Run E.V.E.:

$ git clone https://github.com/thomasweng15/E.V.E..git
$ python eve.py

Other Setup:

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!

Next Steps

  1. improve aiml set for chatbot
  2. provide Arduino communication/control as an action to be triggered by voice command.
  3. improve conversation mode
  4. make typing an option for voice commands.

Contributors

  • Thomas Weng
  • Tevin Zhang
  • Rob McCann

e.v.e.'s People

Contributors

tevino avatar thomasweng15 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

e.v.e.'s Issues

Nothing happens after successful recording

Hey guys,

I spent some time installing E.V.E. but I can't figure out how to fix the following problem:
E.V.E. recognizes my "Okay Computer" command and activates with "start recording".
But when I try several commands, nothing happens after "recording done".
There are no Wolfram API calls visible inside the dev center so it seems to be a problem between recording and the API call.

Any suggestions?

There is no response

xuy@xuy-VirtualBox:~/E.V.E.$ python eve.pyLoading brain from ./data/aiml/standard.brn... done (98289 categories in 2.38 seconds)
Kernel bootstrap completed in 2.38 seconds

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++ Welcome to E.V.E. ++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  •                                                          +
    
  •             Say 'okay computer' to start!                +
    
  •                                                          +
    
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Saying: Hello there!
Activating...


like this, I can not get any following result after Saying: Hello there!

Errors while running eve.py

salimane at salimane-zenbook  in ~/htdocs/E.V.E.
± ./eve.py                                                                                             [master●:8d2816d:git]
Loading...
Loading brain from ./brain/standard.brn... done (93096 categories in 2.03 seconds)
Kernel bootstrap completed in 2.03 seconds
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++  Welcome to E.V.E.  ++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                                                              +
+                 Say 'okay computer' to start!                +
+                                                              +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Saying: Hello there!
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started


Recognizing audio input

From Matt (olanmatt):
When I try to run the code it does not crash, but it doesn't seem to recognize any audio input from either one of my test devices (Linux Mint and Fedora). I simply get a nice greeting from EVE and then try as I might... nothing more.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.