In response to a thread on rdfweb-dev earlier this week I created a wiki page for capturing FOAF Application Ideas. The idea being to capture various application suggestions, no matter how detailed, in a central place so that the creativity doesn’t get lost in the mailing list or buried in the #foaf chat logs.
It was also a prompt for myself to write up a few of the ideas that I’ve chatted about on IRC or had circulating around my head over the last few months.
One of these is something I’ve been calling “FOAF Secretary”. It’s an application that borrows some ideas from Edd’s work (foafbot, FOAF Dashboard integration) but adds a few twists.
The important one being the incorporation of speech synthesis and recognition, something which seems relatively straight-forward to do using the Java Speech API.
The general goal is that rather than having an IRC based conversational interface, one would actually converse with the agent. The agent would also provide the facility to give a precis of someone or a group based on the available FOAF data: hence the “secretary” bit in the title (better naming ideas welcomed).
A little digging has uncovered the FreeTTS and Festival Speech Synthesis System for handling the speech generation, and there’s been some work on generating dialogue responses from RDF/XML which ought to prove useful as a starting point.
After digging out the APIs earlier today I quickly hacked up a simple “hello world” test that will take a FOAF file (e.g. HelloWorld.rdf and generate speech from it, in the form: “X knows the following people…”). The code isn’t worth posting but here’s some output you can listen to: ldodds.wav.
The voice isn’t great quality but there are means to import other voices into FreeTTS, and I’ve yet to try out Festival. But it’s a start.