| By Casey Chesnut | Article Rating: |
|
| May 11, 2005 09:00 AM EDT | Reads: |
16,289 |
The Web model has made people accustomed to being able to access information from just about anywhere at anytime. The problem is that we don't always have a Web browser available. The solution is to provide a voice interface to the application because most people have access to a telephone all the time. Microsoft provides a Speech platform for developing and running speech-enabled applications. Microsoft Speech Server (MSS) is the part of the platform that's used to deploy and run distributed speech applications. This article will offer an overview of Speech Server and associated technologies.
Speech Server is a Speech Applica-tion Language Tag (SALT)-compatible server that's capable of doing Speech Recognition (SR) and Text-To-Speech (TTS). SALT is a specification for extending existing Web specifications to support speech. More information can be found at www.saltforum.org. Speech Server is used when a device isn't powerful enough to do SR or TTS on its own. The two most prominent scenarios are:
- voice-only telephone apps
- multimodal Pocket PC apps
Multimodal apps are new. Currently they're web apps that are speech-enabled. Imagine the bank scenario again, but this time you're paying bills online. You have your bills in a stack in front of you, and the Web page is listing your payees. The non-speech-enabled scenario involves you using your mouse to click the payee, picking up the bill to see the amount, using the keyboard to enter the amount to be paid...then repeating the process. A multimodal app would involve you speaking the name of the payee, and then speaking the amount to be paid...you never having to touch the mouse or keyboard, or put the bills down. You can see the obvious benefit. But it becomes more beneficial when introducing mobile devices that don't have optimum user input capabilities, such as a Pocket PC or a slate Tablet PC. The next sections will further explain both voice-only and multimodal applications.
Voice-Only
To support voice-only telephony apps, the Speech Server requires a hardware board (<$1,000) installed in your ser-ver. It's a low-cost Dialogic board by Intel that can be plugged into the Public Switched Telephone Network (PSTN). It handles the processing of incoming and outgoing calls. If you're just experimenting with voice-only apps, then the Speech Application SDK (described below) provides a Telephone Application Simulator that you can test without the Dialogic board. Another accessible alternative is to use a hosted provider. In that case, somebody else would provide the Speech Ser-ver setup, and all you have to do is create (and possibly host) the speech-enabled Web application. Then you can call into their Speech Server and access your voice application. I must say it's a lot of fun to call up and have a conversation with an application you've written. It's fun to say hello back to your own Hello World app. But one wonders whether it's impolite to hang up on your app instead of saying goodbye.Multimodal
A multimodal application is different from the voice-only scenario. It doesn't require a hardware board to connect to the PSTN because all data is passed over TCP. From the graphic above, the Pocket PC user browses to the Web page first. The Web server returns a Web page with SALT. At this point, the Speech Add-in for Pocket Internet Explorer kicks in (it has to be installed on the Pocket PC), and initiates a session with the Speech Server by using SOAP commands. The Web page could require voice input from the user, or need to do TTS output. For input, the user would hit a hardware button to start recording his answer through the PPC microphone. The PIE Speech add-in does some processing of the voice input, including compression, and then transmits that to the Speech Server over TCP. The Speech Ser-ver then processes the voice according to a grammar and returns the result as XML. The Speech add-in displays the result in the Web page, and possibly posts back to the Web server. If the Web page needed to do TTS output, then the Speech add-in would send the text to the Speech Server. Speech Server would connect to TTS and return the synthesized voice over TCP to be played back on the PPC's speaker. The user thinks he's connected to the Web server, but behind the scenes the Speech add-in is connecting to the Speech Server for additional processing. The Speech add-in connects to the Speech Server through SOAP commands, as well as directly on a TCP port.A Speech Server isn't necessary in all multimodal scenarios. Tablet and desktop PCs are powerful enough to do SR and TTS locally. They don't need to offload the processing power to a server. In that case, they only need to access the Web server that's hosting the speech application. But they do need an add-in to make their browsers speech-capable. The add-in for IE is called the Speech Add-in for Microsoft Internet Explorer. Sadly, the IE Speech add-in is only available through the 200-megabyte Speech Application SDK download. My hope is that the recently announced IE7 will be deployed with the Speech Add-in.
Settings
Speech Application SDK
The Speech Application SDK is closely related to Speech Server. The Speech SDK is used to develop speech applications that use SALT. The Speech SDK installs into Visual Studio .NET adding project types, controls, Web scripts, designers, samples, debugging tools, and documentation. The developer skill set for voice applications is rather broad. You need to be familiar with ASP.NET, XML, SALT, XPATH, client-side scripting, grammars, prompt databases, and VUI (voice UI) design. The Speech SDK supports developing and debugging both voice-only and multimodal applications. More information about the Speech SDK can be found at the Microsoft Speech home page (see www.microsoft.com/speech/).Speech Add-In for Pocket Internet Explorer
The Speech Add-in for PIE lets the user browse speech-enabled Web applications on a Pocket PC. It's included as an installer with Speech Server. Under the covers it interprets the SALT in the Web pages, communicates with the Speech Server through SOAP and TCP, displays an audio meter when recording input, does some processing and compression of voice input, and plays back synthesized output from the Speech Server. It gracefully handles any lost connections to the Speech Server, when you still have access to the Web server so the Web application still works (just without voice).It will only work on Pocket PC 2003 devices, and only over a Wi-Fi or Ethernet connection. The PIE Speech add-in won't work on SmartPhones. Finally, the PIE Speech add-in is intended for controlled wireless networks. Meaning it can be used in office situations and warehouses. It's not intended for you to be able to do voice browsing when you happen to be at a public Wi-Fi hot spot (e.g., Starbucks). The pic below shows the Speech Add-in for PIE collecting audio for speech recognition.
Speech Add-In for Internet Explorer
The Speech Add-in for IE is like the Speech Add-in for PIE. The difference is that the Speech Add-in for IE doesn't require Speech Server. It does all the SR and TTS processing on the client machine. And it doesn't have the same connection restrictions. All it needs is a connection to the Web server that's rendering SALT-enabled Web pages. The desktop Speech Add-In for Internet Explorer comes with the Speech Application SDK.Language Pack 1.1 Betas
The Speech Platform currently has three products in beta. One beta is version 1.1 of the Speech Application SDK. The other two betas are language packs for North American Spanish and Canadian French. The current RTM version of Speech Server only supports English. But with the language packs Speech Ser-ver can be extended to support more languages. A standard call center scenario can let a user choose which language he wants to use as in press 1 for English or 2 for Spanish. Having grown up in Texas, I know this required at many companies.Conclusion
This has been a high-level overview of Speech Server and how it fits in the Microsoft Speech Platform. I hope that it has made it clear how flexible Speech Server is to handle the different application requirements that you might have, including voice-only call center or multimodal Pocket PC scenarios. If you want to con-tinue investigating Speech Server, I have published a continuation of this article showing the step-by-step process to install Speech Server and develop a multimodal Pocket PC application using the Speech Application SDK. It can be found at www.brains-N-brawn.com/speechMulti/.
Published May 11, 2005 Reads 16,289
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Casey Chesnut
Casey Chesnut is an independent consultant specializing in Seamless Computing (Mobility, Web Services, Speech, Location). This includes the Compact Framework, WS-*, Tablet PC, Speech SDK, MapPoint, and Artificial Intelligence. His blog and other articles can be found at www.brains-N-brawn.com.
- Kindle 2 vs Nook
- Wave on Ulitzer: Confessions of a Google Wave Fanboy
- Confessions of a Ulitzer Addict
- Cloud Computing Best Practices
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Infrastructure-as-a-Service Will Mature in 2010: Microsoft's David Chou
- Windows 7 – Microsoft’s First Step to the Cloud
- Cloud Computing & Federal IT - What Does the Future Hold?
- Jill Tummler Singer, Deputy CIO of CIA, Keynotes at GovIT Expo
- Cloud Expo and the End of Tech Recession
- Kindle 2 vs Nook
- The Difference Between Web Hosting and Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Wave on Ulitzer: Confessions of a Google Wave Fanboy
- Confessions of a Ulitzer Addict
- Cloud Computing Best Practices
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Eval JavaScript in a Global Context
- Infrastructure-as-a-Service Will Mature in 2010: Microsoft's David Chou
- Windows 7 – Microsoft’s First Step to the Cloud
- Google Maps and ASP.NET
- Crystal Reports XI & How It Has Changed
- Converting VB6 to VB.NET, Part I
- Creating Controls for.NET Compact Framework in Visual Studio 2005
- Where Are RIA Technologies Headed in 2008?
- How to Write High-Performance C# Code
- AJAX World RIA Conference & Expo Kicks Off in New York City
- Implementing Tab Navigation with ASP.NET 2.0
- i-Technology Photo Exclusive: Bill Gates & Steve Jobs In "Nerds"
- .NET Archives: Getting Reacquainted with the Father of C#
- i-Technology Viewpoint: "SOA Sucks"
- Programmatically Posting Data to ASP .NET Web Applications



































