Siri clone using Google's clandestine speech-to-text reducer
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
project.clj Trying out Evan's `let?' macro Jan 31, 2012


We’d like to make a Factually-aware Siri-clone using Google’s clandestine speech-to-text (and text-to-speech) APIs; to that end, we implemented the trivial grammar “find $x$ in $y$” and “find $x$ near me.”

Commands are spoken and results are read back.


Iris is on Clojars; add the following to your :dependencies:

[iris "1.0.0-SNAPSHOT"]

and use with:

(:use iris.core)


Iris has three main functions: listen, consider, answer which depend upon the dynamic variables: *factual-key* and *factual-secret*; Iris can be invoked followingly:

(binding [*factual-key* factual-key
          *factual-secret* factual-secret]
  (answer (consider (listen))))

Command-line interface

Set the environment variables FACTUAL_KEY, FACTUAL_SECRET (GEOBYTES_EMAIL and GEOBYTES_PASSWORD are only required to implement “near me”) and issue lein run:

FACTUAL_KEY=<factual-key> FACTUAL_SECRET=<factual-secret> lein run

Future work

It would be nice to implement a real natural-language interface to Factual’s data; and integrate it with the Global Place demo.