Home > Articles > Programming > Windows Programming

  • Print
  • + Share This
This chapter is from the book

How the Speech Engine Works

If you have ever utilized a dictation program to create documents, you know that the program requires a training process to accurately interpret your speech. The training process usually consists of several sessions where the user reads prompts slowly and clearly. The speech engine matches the sounds recorded to the words in the prompt script. Unfortunately, this process usually discourages the use of speech-based products.

The speech engine that is part of the Speech Application SDK works differently. It utilizes what are called grammar rules to interpret what the user is saying. Rather than requiring the engine to be open to any spoken text, the speech application is restricted to certain phrases defined in multiple grammar files. Each grammar file is associated with a particular user interaction.

While this enables the application to accurately interpret the user’s speech without a training process, it does require more work by the application developer. The developer must try to anticipate every spoken phrase the user may utter. This is not as much of an issue for the sample application in this chapter. Trained employees and not the general public will use the telephony application. Therefore, it is easier to anticipate and restrict what phrases are appropriate.

The Speech Application SDK allows for the use of dynamic grammars. This is necessary when the content is not known ahead of time, as when the user is reading values from the database. This process will be even more relevant in Chapter 4, where an application used to register students will be examined.

In general, applications built with the Speech Application SDK are least like "real AI," in which the system can act and react like a human would. Even though they offer the user a natural interface, the inputs and outputs must be defined in advance. Nevertheless, they are still an important step toward better enabling mobile workers. These applications offer an enhanced method for accessing data that would not be available using traditional applications.

  • + Share This
  • 🔖 Save To Your Account