I've been running Sphinx-pocket (speech recognition engine) on an old pentium4 PC in my garage. That's a way better approximation of Jarvis, even if I do say so myself...
Actually if anyone knows of a way to lookout for the word Jarvis without hogging the CPU...? The current setup uses a button (connected to an arduino running firmata to give the old PC some gpio pins) which is monitored by a daemon and triggers sphinx on a debounced button-up event.
I'd like some low CPU way to find potential candidate input from the mic that sounds like it could be an instruction worth passing to sphinx?
Great find. They're using pocket sphinx as well I see.
Their mic module listens for 1 second, establishes a threshold volume, then for the next 9 seconds it listens for a disturbance above a weighted threshold. They're sampling at a reasonably high rate.
Either way I'm going to try their code and see the performance. The approach should be faster than mine but I didn't see how they handle the edge case of a command coming in over the 10 sec boundary when it restarts listening.
I don't have the answer for you but if you'd like a real-world PoC the Kinect does exactly what you're describing only with the word "Xbox." Does it quite well too I might add...
I made a Cyman Digital Butler which runs on Android devices and on computers through a Chrome app. I feel it's a better Jarvis approximation too. On both of them, Cyman can listen out for whichever nickname you choose. (Of course, the nickname I gave was Jarvis for mine ;) ) I find using the Chrome APIs or Android APIs quite good if you were interested. I haven't really looked at sphinx
Okay man, we get it! There is absolutely no need to spam every single thread discussion on this article with shameless plugging about your "Cyman Digital Assistant".
Comments by ugoano:
Comment 1: I'd strongly advise you to check out the Cyman System website. The Cyman Digital Butler has a few video demonstrations, and I built it with Jarvis' personality in mind. Might be what you're looking for?
Comment 2: I built an digital butler app inspired by Iron Man's JARVIS assistant called CyMan. We've got a great community and dedicated helpers in our Google+ community. Feedback on that community has been excellent! If you ever wanted to give it a try...
Comment 3: My assistant (Cyman Digital Butler) has a list of example commands you can try, gives an idea of the abilities Cyman has. So you could say "open the ... website" to get the url for example. Although we've got a great community to help, we're in the middle of creating a wiki. Perhaps the Jarvis you're using needs a wiki too.
Comment 4: I made a Cyman Digital Butler which runs on Android devices and on computers through a Chrome app. I feel it's a better Jarvis approximation too. On both of them, Cyman can listen out for whichever nickname you choose. (Of course, the nickname I gave was Jarvis for mine ;) ) I find using the Chrome APIs or Android APIs quite good if you were interested. I haven't really looked at sphinx
Comment 5: Yep, check out the Cyman Digital Butler for Android. With the paid version, when you get an incoming text you can set it so he reads out who sent it, then you can say "read message", or "reply" and then your reply. You can also initiate messages, and there are helpful features to help with complex names. Like if you said "my wife is called ...". You could then later say "send a text to my wife". I worked pretty hard on it!
Sorry dude, got a little over excited when I see particular issues that I feel I (hopefully) have addressed, so make sure those particular people know of my attempt. If I was just spamming, I'd go for all of 'em :)
I've been running Sphinx-pocket (speech recognition engine) on an old pentium4 PC in my garage. That's a way better approximation of Jarvis, even if I do say so myself...
Actually if anyone knows of a way to lookout for the word Jarvis without hogging the CPU...? The current setup uses a button (connected to an arduino running firmata to give the old PC some gpio pins) which is monitored by a daemon and triggers sphinx on a debounced button-up event.
I'd like some low CPU way to find potential candidate input from the mic that sounds like it could be an instruction worth passing to sphinx?