What's New in the Grammar Development Tools

The Microsoft Speech Platform SDK 11 provides new functionality in the Microsoft Grammar Development Tools to help you validate, debug, test, and optimize grammars for voice applications. Here is a summary of the new functionality:

The following tools are new for version 11 of the Grammar Development Tools.

Check Phrase Tool

This new tool takes a phrase and a grammar as input and outputs whether the phrase is in the grammar. Check Phrase emits the custom pronunciations associated with a found phrase.

See Check Phrase Reference Manual.

Confusability Tool

This new tool identifies phrases in a grammar that are phonetically similar. This helps you to detect phrases that could ultimately cause users to have a poor experience. Confusability accepts multiple grammar files as input and performs its analysis on the entire set of specified input files.

  • You can choose whether or not the tool emits confusable results for phrases whose semantics match. By default, warnings and results are only emitted when semantics are different.

  • For advanced analysis, the /SemanticPath option allows you to filter the results to compare only the semantic nodes that you specify.

See Confusability Reference Manual.

The following is a summary of enhancements made to Grammar Development Tools since the previous release of Microsoft Speech Platform SDK.

Grammar Validator

  • Validates the syntax for the grammar element's sapi:alphabet attribute and the token element's sapi:pron and sapi:display attributes.

  • Emits a range of warnings when validating a grammar, including the detection of recursion and unreachable rules.

See Grammar Validator Reference Manual.

Phrase Generator

  • Generates a subset of phrases based on weights in the grammar, and you can optionally choose not to expand specified rule references.

See Phrase Generator Reference Manual.


  • You can choose whether or not to reuse the engine state in the structure of the input EMMA, rather than from an option at the command line. That is, the recognition engine state is now automatically reused only when utterances are contained within an emma:sequence block. In addition, the /ReuseEngineState command-line option has been removed.

See Simulator Reference Manual.

Simulator Results Analyzer

  • Now provides additional data for tuning your grammars, including out-of-grammar phrase detection and new error-rate categories to give you improved analysis and metrics for simulated recognition.

  • Adds new XML elements (AudioType, RecoResultSemantics, and TranscriptSemantics) to the tool's output to make it easier to analyze results without needing to refer back to the Simulator's output file.

  • The Excel template for generating graphs and tables from the output of Simulator Results Analyzer has been discontinued. See Generating Simulations and Performing Analysis.

See Simulator Results Analyzer Reference Manual.

Support for custom pronunciations. There is expanded support for custom pronunciations both inline in grammars and in lexicon files that are linked from grammars. See Custom Pronunciations Support.

Explicit handling of SRGS "special" rule behavior. Improved handling and more descriptive output for grammars that contain the NULL, VOID, and GARBAGE rules have been added across the Grammar Development Tools. See Special Rules Support.

Support for cookie pass-through. You can now define cookies to use in both the Simulator's recognition configuration file and the EMMA input file. See Simulator Reference Manual and Setting Up the Grammar Development Tools.

New installation option. You can choose the path for the installation of the Speech Platform SDK 11.

Windows XP support for SDK tools. The Grammar Development Tools (with the exception of PrepareGrammar.exe) are now supported on computers running Windows XP, but only for some providers. Using the "local" provider is not supported on Windows XP. See Speech Recognition Engine Configuration File Settings for more information.

Important noteImportant

All functionality of the SDK outside of the Grammar Development Tools is NOT supported on Windows XP.

Leveraging of phrases based on URL. The set of tools will allow you to reference grammars via URL.

Floating point representation. Scientific notation for floating point numbers (such as 0.1E+1) will not be supported.

In addition, there are other enhancements such as improved error messaging, updated command-line help in the console, updated command-line syntax, improved consistency across the command-line tools, and new samples to help you get started using the Grammar Development Tools.