Two Princeton University undergrads have developed an open-source platform for building always-on, voice-controlled applications for any device.

Created by Charlie Marsh and Shubhro Saha, both Princeton University undergraduates, Jasper provides applications with voice control that is always active. As with other voice-control software, such as Apple’s Siri and Microsoft’s newly announced Cortana, users control a Jasper-enabled application by speaking its name, followed by a command.

Applications integrated with Jasper can perform an array of actions such as performing Internet searches, updating social media platforms, notifying the user of e-mails, or controlling a music player. The developer API is configurable in a standard (user initiates contact with Jasper) or notification (Jasper notifies the user of something) mode to create custom controls for an application on any given device. The platform is integrated with services such as Facebook, Gmail and Spotify, the last of which Marsh and Saha wrote a specific set of commands for.

“[Jasper] has a dead-simple API,” said Marsh in a promotional video. “As a developer, you can build your own voice-enabled applications to control anything.”

Marsh and Saha included several default commands in Jasper’s documentation to demonstrate what it’s capable of once connected to a wireless network:
• Time: “What’s the time?”
• Weather: “How’s the weather? What’s the weather like tomorrow?”
• News: “What’s in the news?”
• Gmail: “Do I have any e-mail?”
• Hacker News: “What’s on Hacker News?”
• Facebook Notifications: “Facebook notifications?”
• Birthday: “Who has a birthday today?”
• Jokes: “Tell me a knock-knock joke.”
• Life: “What is the meaning of life?”

Jasper was created using a collection of open-source libraries. It uses PocketSphinx to perform speech recognition; eSpeak to generate its voice; and Phonetisaurus for on-the-fly creation of dictionary and vocabulary models to conform to the user’s speech.

The platform’s hardware consists of a Raspberry Pi Model B computer along with a generic microphone and network adapter, and Jasper runs on the Debian-based Raspbian operating system.

Jasper’s APIs and documentation are available on GitHub.