https://github.com/cantino/huginn
or Node-RED for JavaScript (this one is backed by IBM and has a neat drag and drop UI)
I think once the voice processing is done, the hard part is getting it to actually do something useful.
jarvis.py", line 53, in <module> data = recordAudio() File "jarvis2.py", line 19, in recordAudio audio = r.listen(source) File "/Users/user/anaconda/lib/python2.7/site-packages/speech_recognition/__init__.py", line 377, in listen buffer = source.stream.read(source.CHUNK, exception_on_overflow = False) TypeError: read() got an unexpected keyword argument 'exception_on_overflow'
$ mkdir jarvis; cd jarvis
$ vi jarvis.py
paste, then cleanup and read closely for badness $ chmod +x jarvis.py
$ brew doctor
$ brew update
$ brew install python3
$ pip install --upgrade pip
$ pip3 install --upgrade pip setuptools
$ pip3 install --upgrade gTTS
$ pip install --upgrade gTTS
$ brew install portaudio
$ pip3 install pyaudio
$ pip install SpeechRecognition
$ brew install flac
$ brew install mpg321
$ ./jarvis.py
Hi Mike, what can I do for you?
Say something!
You said: how are you
I am fine
Say something!
^Only process when the double Jarvis exchange has occurred. And then keep on processing, waiting for more leading "Jarvis, <command>"
Putting this onto a RaspberryPi would be cool. Could even train it verbally. "Jarvis, 'let's try something new'"
This is such a cool little simple toy with great potential.
///edit: hmmm this might be a different project. Yay for namespace collisions...
I think this is the actual personal assistant project: https://github.com/ajminich/Jarvis