Out in the Open: Build Your Own Siri With This Free Code

In the Iron Man movies, Tony Stark uses a voice-controlled computer assistant called J.A.R.V.I.S. It manages the lights and security system in his home, helps him pilot his Iron Man suits, and even assists with his research. Some of this is still very much in the realm of science fiction, but not all of it. Inspired by the Iron Man movies, two Princeton students have built a J.A.R.V.I.S. for the real world.
Photo Aleka Gurel
Photo:Aleka Gurel

In the Iron Man movies, Tony Stark uses a voice-controlled computer assistant called J.A.R.V.I.S. It manages the lights and security system in his home, helps him pilot his Iron Man suits, and even assists with his research. Some of this is still very much in the realm of science fiction, but not all of it. Inspired by the Iron Man movies, two Princeton students have built a J.A.R.V.I.S. for the real world.

"That was even the initial project name -- 'J.A.R.V.I.S.' -- until we decided that it was too unoriginal," says one of the project's creators, Charles Marsh. Instead, they now call it Jasper.

>It's like Siri, but instead of running on your smartphone, it operates from a small, stand-alone unit with a microphone and an internet connection

No, Jasper isn't as sophisticated as its science fictional inspiration. It's more like Siri or Google Now, but instead of running on your smartphone, it operates from a small, stand-alone unit with a microphone and an internet connection. And it's open source, meaning anyone can take the designs and build their own and modify it as need be.

Jasper acts as an "always on" system. When you say its name, it will respond with a beep indicating that's it's ready for instructions. So far, it can do things like tell you whether you have new Facebook notifications or Gmail messages, play songs from Spotify and, of course, tell you what the weather is like. It also offers a developer interface that lets outside programmers add new tools that can be triggered by additional keywords.

Marsh built the tool alongside a fellow Princeton student named Shubhro Saha. Most of the development happened over the summer, while Marsh was interning at Microsoft in Seattle and Saha at an online advertising outfit AppNexus in New York City. "Every night after work, we’d hold a Google Hangout to discuss design decisions, bugs, TODOs, and everything else we needed to get done," Marsh remembers.

But like most open source projects, Jasper stands on the shoulders of existing open source code. Much of the voice recognition system, for example, is built on CMUSphinx, CMUCLTK and Phonetisaurus. "We saw Jasper as a great way to show developers what’s possible within the realm of open source," he says. "We were amazed by how far we could get with these free, open solutions, and we wanted others to be similarly inspired."

If you're inspired, one option is to help the two expand the reach of Jasper. You can build your own with little more than a Raspberry Pi mini-computer, a speaker, and a microphone. Jasper's source code has only been out for a day, but Marsh says they've already heard from several developers interested in building on top of it. "One individual mentioned that he was looking into powering his entire home with Jasper after wiring it with microphones," he says. "Another asked us about automating vehicles in his factory with Jasper-powered voice control. Another even mentioned using Jasper in the classroom as a tool to teach kids about programming."

For the time being, Marsh says, he and Saha have no plans to build a business around the tool. They simply wants others to join in. "When we were planning out the Jasper vision, what we really saw was a platform for hackers: its beauty lay in its extensibility," he explains. "Nothing excited us more than to see what other programmers could do with the device." Such is the beauty of open source.