Search This Blog

Friday, August 24, 2007

Voice Enabling XML, Part 1: Develop a Voice-Enabled RSS Reader

This article is the first of a four-part series on developing VoiceXML
applications. It shows how to convert RSS feeds to voice and topic
requests to voice instructions with VoiceXML. The input to the
application is RSS data, and the output is VoiceXML that can be read
and spoken by compatible voice applications. The reader will learn
about VoiceXML basics and the RSS XML format, in addition to translating
RSS to VXML using XSLT, writing a Perl script to generate the VXML,
adding interactivity to a VXML file, and generating VXML using Java
servlets. Part 2 of the series will look at developing a voice-enabled
calendar. VoiceXML is the name given to the standard for voice-based
XML output, although the file format itself is called VXML. VXML itself
is powerful when married with a suitable VoiceXML browser that will
convert the VoiceXML content into text -- that is, Text-To-Speech
(TTS) -- and is also capable of recognizing voice commands (voice
recognition). RSS is a hot topic these days, as it provides an easy
way to stream data online. It is just one of a number of different
syndication formats in XML. RSS is an XML-based solution for publishing
information that is often used with blogs and other sites. The RSS
format enables you to generate an easy list of articles or information,
and you can combine the sources of many RSS feeds (aggregation). The
result is an easily formatted list of articles or stories, with an URL
for the full article, summary information, and classification
information for each item. The RSS feed as a whole also includes
classification and further detail and classification data. In this
article, you start with a simple XSL transform and then move to more
advanced Perl- and Java-based solutions to generate the output. The
scripts themselves are relatively basic; the power is in the VXML
that is generated in the process, and in the voice browser that uses
the VXML to provide the voice-based interface. You see how you can
use the interactivity in the VXML and dynamic scripts together to
produce quite complicated voice-based applications with relative ease.

No comments: