This week in our Product Review section, we take a look at GetVocal SDK from
GetVocal, a division of Digital Voice Technologies.
Introduction
GetVocal SDK is an integrated VoiceXML editor/simulator that enables the creation
and testing of VoiceXML based applications. Built on top of Microsoft Speech
Recognition technologies (Microsoft TTS and ASR engines), the SDK supports the
latest VoiceXML 2.0 specifications (including the XML based Grammar formats). An
evaluation copy of the SDK is available from the GetVocal website.
Installation
The SDK supports a variety of operating systems, including Windows 98, ME, NT,
2000 & Windows XP. The installation program, which is based on the Windows
Installer, is pretty straight forward. Since the SDK utilizes Microsoft TTS & ASR
engines, Microsoft Speech SDK 5.1 is a key requirement for the installation and
must be installed prior to its installation.
First Looks

(click on the image to see a large view)
Creation of new VoiceXML content is done through a VoiceXML Application
Wizard which sets up the basic speech recognition parameters, such as support
for DTMF/Voice input modes, support for barge-in, wait time for user response,
confidence level of the ASR, sound sensitivity, recognition accuracy, timeout
intervals, terminating character for DTMF entry, etc. In the background this
process creates a set of property elements in the VoiceXML content and is used
in the actual execution in the SDK/gateway.
View Voice Application Wizard
After the basic VoiceXML file has been generated using the code generator
(which is based on the context sensitive menu), the user can build on the
VoiceXML content using various VoiceXML elements.

Once the VoiceXML application (including the grammars) have been developed,
the SDK can then be used to test the application. The SDK provides features such
as a virtual phone pad, debug mode with steps and breakpoints, variable watches and a runtime tag highlighter to aid in the testing/debugging of the VoiceXML
application. On the other hand, if you have developed a server side application
using technologies such as Java Server Pages (JSP), ASP/ASP.NET or Perl/PHP, the
SDK provides you with the ability to test a remote HTTP based VoiceXML
Application as well.
Standalone VoiceXML Editor
As part of the installation program two shortcuts are created - one which
links to the main SDK (which we saw earlier) and the second which is just the
editor. The standalone VoiceXML Editor (shown below), provides a simplified tool
for just editing VoiceXML files. It is the same editor used by the SDK and has
features such as color syntax highlighter and tag shortcut keys.

Single Port Gateway
The most distinct feature of the GetVocal SDK is that the SDK doubles as a single
port VoiceXML Gateway. What that means is that if you have installed the SDK on
a computer which has a Voice Modem with TAPI support, then apart from the regular
simulation of the VoiceXML content using the desktop environment, you can
actually "call" the SDK. The quality of the voice may not be the best (it
depends on how good your modem is) but this feature makes the tool an excellent
candidate for creating on the spot demonstrations and live testing.
Support for ActiveX/Java Components
For an application developed using Microsoft ActiveX/COM technology, GetVocal
SDK can go a little further in development. Based on the VoiceXML <object> tag, the
SDK provides support for instantiating and calling methods/properties on COM
compliant objects. Java classes are also supported by the same mechanism,
however for calling Java classes an additional step is required. Using the
JavaReg tool in the Microsoft SDK for Java 4.0, the user is required to expose
the Java class as a COM component.
Scripts based Automated Testing
Another useful tool provided by the SDK is the support for automated test
scripts-based regression testing. For instance, an example would be if we had developed a simple Voice Portal which provides integrated weather reports and latest news. We could develop a simple test script which includes the spoken phrases and DTMF
keystrokes (as shown below) and once the SDK is executed, it would automatically
take input from the test script and run accordingly.

Conclusion
In nutshell, the VoiceXML SDK provides a basic development environment for
VoiceXML based applications. Similar to the other VoiceXML tools
available, the SDK does provide integrated editor/code generator; the highlight
of the SDK is really its ability to utilize TAPI based interfaces and regular
Voice capable modems and function as a Single Port VoiceXML gateway. Integrated
project management, a better palette, support for dynamic (server side)
application generation, standalone grammar testing would be among my picks for
enhancement requests to future versions of the SDK.
About Hitesh Seth
Hitesh Seth is Chief Technology Evangelist for Silverline Technologies, a global
eBusiness and mobile solutions consulting and integration services firm. He is a
columnist on VoiceXML technology in XML Journal and regularly writes for other
technology publications including Java Developer's Journal and Web Services
Journal on technology topics such as J2EE, Microsoft .NET, XML, Wireless
Computing, Speech Applications, Web Services & Integration. Hitesh received his
Bachelors Degree from the Indian Institute of Technology Kanpur (IITK), India.
Feel free to email any comments or suggestions about the articles featured in
this column at
hitesh.seth@silverline.com.