Osiris: An Artificial Stupidity
I have a (tiny) problem. Namely, that I’m a good driver when my eyes are on the road, but if I look over at the radio or whatever, it’s any body’s guess whether I’ll actually stay on the road. It’s not much of a problem when I’m just changing the volume or whatever, but really, you don’t want me doing anything more complicated than that at 55 mph. Worse, like many geeks/makers, I think carputers are cool. Really though, it would be foolhardy (read: suicidal) for me to install one with the typical interface.
Enter “Osiris.”
I took a quick break from GentleCMS to write an “AI” that could probably be operated via standard speech recognition software and that could pipe its response output through text-to-speech. Operation of things like iTunes would be done via something like RubyOSA.
The design is loosely based on ALICE (WARNING: The Flash crap on the page is mind-bogglingly annoying.), but without the reliance on AIML. Instead, the “database” is actual executable Ruby code. I even wrote a simple script that partially translates from AIML to the .rb format that Osiris uses.
The nice thing is that the design is incredibly simple, almost to the point where it’s hard to believe it even works. I think it took maybe 5 hours of work to get the base code to its current point, although the existing response text took quite a bit longer.
As for the name, well, mostly I just thought it sounded kind cool, and I’ve been watching too much Stargate lately.
Anyways, as a carputer interface it’s likely to be mostly useful to just me and nobody else. However, I decided to make the API reasonably generic/modular, so it should be a cinch to adapt it for use in GAIM, IRC, console operation, etc. Whatever. And it’s fun to play with. It should be a piece of cake for any Rubyists to figure out how to write response code for it, and I’ll happily incorporate any response files anyone emails me into the main database. I’ll probably put some kind of simple demo AJAXy Rails chat app up on the http://osiris.rubyforge.org/ page soon. Demo app is up. Should let people get a feel for how it works.
I haven’t made an official release yet, but you can check it out of the Subversion repository if it piques your interest, although not all of the response files are checked in.
Now I just need a decent car to put a carputer in. :-P
Update: Michael Moen threw together a quick demo app for me, and he even made a logo for it. Thanks!!! Demo app has been taken down. Feel free to run it on your own machine.
Update: Forgot to mention this, but a couple days ago I got text-to-speech working with it for OS X (basically just piping the strings to the ‘say’ command). Just committed it to the repository. There’s something genuinely disconcerting about a robotic voice making various philosophical statements.
Leave a Response