So far in our introductory series on SALT (Speech Application Language Tags) we have learned the basic architecture of SALT-based applications. In the previous
article in the series we took a closer look at the components of Microsoft .NET
Speech SDK (Beta 2) and a brief introduction to the core Microsoft .NET as well. In this article, we will continue our exploration of SALT by actually
walking step-by-step through the process of developing a telephony/multimodal
application using SALT and the Microsoft .NET Speech SDK. As a reminder, the version of the SDK used in this article is Beta 2 which is available from Microsoft at
Note: This article assumes that you have installed the .NET Speech SDK Beta 2
on a development box. Actually, for computers you would like to use as just
clients you can just install the Internet Explorer Speech Add-in. This add-in is
located in the "downloadsMicrosoft Internet Explorer Speech Add-insetup.exe"
file. This would allow your workstation to be used as a viewer for
multimodal/speech-only SALT applications.
Developing Pure SALT Applications
If we revisit our simplest SALT example from our previous
article "SALT by Example", let’s take a look at a basic "pure" SALT Application.
As per the speech tags, if we load this application in a SALT browser (either
over the telephony interface or through a desktop SDK), we should get "Hello
World" played in the speakers using the Text-to-Speech technology. In our last
article we learned that a key component of the .NET Speech SDK is the .NET
Speech SDK plug-in for Internet Explorer. To make Internet Explorer aware of the
plug-in, we need to modify our "pure SALT" code to look something like this. This will instantiate the underlying Internet Explorer speech Add-in and then use the SALT browser to play it on a development workstation where the Add-in has
Testing SALT Applications
If you have successfully installed the .NET Speech SDK (or are just
running a SALT application via the IE Speech add-in) and the volume of your speakers are up, then you should be listening to the magical “Hello World” application.
An alternative mechanism for deploying SALT applications is to
add a mime-type (speech/salt) for the page. For instance one of the
ways to test static SALT content is to change the extension of the file (for
instance .salt) and then to associate a mime-type with that extension on your
application server. Alternatively, this can be dynamically done as well. Once
the mime type is defined, the Speech Add-in doesn’t require the object tag at all.
Beyond "Pure SALT": .NET Speech SDK
The approach of developing a "Pure SALT" application is really useful when
you are intending to create SALT-based applications without the .NET Speech SDK,
Microsoft Visual Studio .NET, ASP.NET etc. This approach is still useful if
you are using perl, PHP, J2EE etc. server-side platforms to create Speech
applications. However, as we have seen so far, one of the key highlights of the
overall SALT-related industry activity is the rich set of toolsets that
Microsoft has provided for the development of SALT-based Speech applications.
Here again we have a couple of choices. The easiest one is to use
Microsoft Visual Studio .NET with the .NET Speech SDK Beta 2 installed and add
the SALT controls to our existing web application (or a new application). The
alternative is to utilize the controls programmatically using ASP.NET. I don’t
know about you, but I typically like to get a better idea as to what I am using,
so I usually write the simple code myself and then use visual tools.
We will continue our exploration of SALT by first writing an ASP.NET-based
Speech Application without using the Visual Studio .NET toolset. Then we will
leverage the visual tools to develop a much more interactive application
(including validating grammars etc.) in the next article. Till then, Happy "pure" SALT’ing!
About Hitesh Seth
A freelance author and known speaker, Hitesh is a Editor-in-Chief for XML
Journal and regularly writes on emerging technology topics such as J2EE, Microsoft .NET, XML,
Wireless Computing, Speech Applications, Web Services & Enterprise/B2B
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 [email protected].