The Microsoft.com Speech website Microsoft Speech SDK

SAPI 5.1

Compliance Tests

 

 

1         Contents

1      Contents. 1

2      Table of Tables. 1

3      Compliance Testing Overview.. 3

3.1       SAPI Compliance Required Tests  3

3.2       SAPI Compliance Feature List Tests  3

3.3       Minimum Requirements  3

4      Using the compliance testing tool4

5      Compliance Tests. 5

5.1       Test Result Log:5

6      Compliance Testing Configuration Options. 5

6.1       SAPI 5.0 Compliance Testing Application Toolbar6

6.2       SAPI 5.0 Compliance Testing Application Menu Choices  7

6.3       SAPI 5.0 Compliance Testing Logging Options  9

6.4       SAPI 5.0 Compliance Testing Run Options  10

6.5       SAPI 5.0 Compliance Test Selection Options  11

7      SAPI Compliance: SR.. 13

7.1       Required Tests  13

7.2       Feature Tests  23

7.3       SR Sample Engine  27

7.4       Compliance Test Customization  29

7.5       Multilingual Support29

7.6       OS Language Incompatibility  31

8      SAPI Compliance: TTS. 32

8.1       Required Tests  32

8.2       Feature Tests  34

8.3       TTS Sample Engine  35

8.4       Multilingual Support36

8.5       OS Language Incompatibility  43

 

2         Table of Tables

Table 1: Events Compliance Test14

Table 2: Lexicon Compliance Test16

Table 3: Command and Control Compliance Test20

Table 4: Required Compliance Tests. 22

Table 5: Events Feature Compliance Test23

Table 6: Grammar Feature Compliance Test25

Table 7: Feature Compliance Tests. 26

Table 8: Sample Engine Required Compliance Test results. 28

Table 9: Sample Engine Feature Compliance Test results. 28

Table 10: Strings to be localized. 31

Table 12: Speak Flag Tests. 32

Table 13: Speak Tests. 33

Table 14: Lexicon Tests. 33

Table 15: SAPI XML tests. 33

Table 16: Events Tests. 34

Table 17: Sample Engine Required Test Results. 36

Table 18: Sample Engine Feature List Test Results. 36

Table 19: Strings to be localized for compliance tests. 42

Table 21: Required Compliance Tests Failed. 43

Table 22: Feature Compliance Tests Not Supported. 43

 


 

3         Compliance Testing Overview

This paper, directed toward engine vendors, describes the SAPI 5.0 compliance testing tool by answering the following questions:

·         What does SAPI compliance for SAPI 5.0 imply?

·         What are the SAPI compliance tests?

·         What does each test look for?  

The goals of the compliance tool are to help engine vendors test their speech engines for SAPI compliance and port these speech engines to SAPI 5.0. The tests also help vendors to support various SAPI features that are not required for compliance. These tests do not test the speech or performance quality of the engines.  All compliance tests assume that SAPI will do parameter validation, and as such, they do not check the engine’s ability to handle invalid parameters such as null, bad pointers, or values out of range.

 

To run the compliance tests, the SPcomp.exe tool is used and either the Text-to-Speech (TTS) or the Speech Recognition (SR) test suite is selected. This tool generates a log report indicating the results of the compliance tests.

 

There are two types of SAPI 5 compliance tests:

1)      required tests

2)      feature list tests

 

The compliance tests do not necessarily test the DDI directly, instead, the use the SAPI API function calls to test the engine’s response to the DDI. The default engine is always used as the engine in the compliance test. Currently, the supported languages for the compliance tests are English, Japanese and Simplified Chinese[1]. Please check Microsoft® Speech.NET Technologies for language pack updates and information. 

 

3.1       SAPI Compliance Required Tests

The results of the required tests are of a pass/fail nature. These tests were designed to help an engine reach a minimal amount of functionality with the SAPI DDI layer. In order to be SAPI compliant, the engine must pass all required SAPI tests.

 

3.2       SAPI Compliance Feature List Tests

The results of the feature list tests are either “Supported” or “Unsupported”. Feature list tests were designed to help engine vendors port advanced features to SAPI 5.0. To be SAPI compliant, the engine does not need to pass any feature list test, although it is recommended that all features be implemented if possible.

 

3.3       Minimum Requirements

The minimum requirements for speech recognition for dictation are a 200 mhz Pentium with 64 MB for win 95/98 or 96 MB for NT. The recommended computer is a 300 Mhz Pentium II with 128 megs of RAM or better.

 


 

4         Using the compliance testing tool

The SAPI 5.0 compliance test tool, SPcomp.exe, enables you to load compliance test suites and determine the test result logging options. Please see Compliance Tests for more options.

The SPcomp.exe test tool creates the .pro file for a given test suite. Perform compliance tests by starting the SPcomp.exe application and loading a test suite from a .pro file. The .pro file loads the associated dynamic link library (.dll), which contains the SR or TTS compliance tests.

To start the SAPI 5.0 compliance test tool SPcomp.exe from Windows Explorer, double-click the compliance tool icon. Alternatively, you can perform each compliance test from the command line by running the compliance test tool and command line syntax.

For example, the command line syntax for running the SRcomp compliance test in the srcompreq.pro test suite is as follows:

C:> SPcomp.exe srcompreq.pro

SPcomp.exe srcompreq.pro

Starts the compliance test tool and loads the speech recognition (SR) required tests from the SRcomp.dll.

SPcomp.exe srcompopt.pro

Starts the compliance test tool and loads the speech recognition (SR) feature list tests from the SRcomp.dll.

SPcomp.exe ttscompreq.pro

Starts the compliance test tool and loads the text-to-speech (TTS) required tests from the TTScomp.dll.

SPcomp.exe ttscompopt.pro

Starts the compliance test tool and loads the text-to-speech (TTS) feature list tests from the TTScomp.dll.

 


 

5         Compliance Tests

The SAPI 5.0 compliance tests verify that you have successfully implemented the required features to be considered compatible with SAPI 5.0. Your engine must successfully complete each of the following four compliance tests with 100 percent pass rate to be compliant with SAPI 5.0.

1.      srcompreq.bat
  —Speech Recognition (SR) required test batch file.

2.      srcompopt.bat
  —Speech Recognition (SR) feature list test batch file.

2.      ttscompreq.bat
  —Text-to-speech (TTS) required test batch file.

4.      ttscompopt.bat
  —Text-to-speech (TTS) feature list test batch file.

5.1       Test Result Log:

The SAPI 5.0 compliance tool generates a result log and you can configure it to display the result log information or you can save it to a file. The test result log contains pass or fail state information for each segment of the test suite. If a compliance test fails, you can review the result log to determine the origin of the failure.

Example result log with a 100% pass rate for all tests.

Total:
=============================================================================
     PASS    FAIL    SUPPORTED    UNSUPPORTED    ABORTED    SKIPPED
-----------------------------------------------------------------------------
     1       0       0            0              0          0
=============================================================================
Status: PASS

 

 

6         Compliance Testing Configuration Options

The SAPI 5.0 compliance test application user interface (UI) enables you to configure the testing options. The following section provides additional compliance test configuration information.

·         SAPI 5.0 Compliance Testing Application Toolbar

·         SAPI 5.0 Compliance Testing Application Menu Choices

·         SAPI 5.0 Compliance Testing Logging Options

·         SAPI 5.0 Compliance Testing Run Options

·         SAPI 5.0 Compliance Test Selection Options

6.1       SAPI 5.0 Compliance Testing Application Toolbar

The main window of the SAPI 5.0 compliance testing application contains a toolbar from which you can access the configuration options. Additionally, the configuration options are also available from the menu bar located at the top of the compliance testing application window.

Pause on an icon to display tooltip text. Click an icon to view the information associated with the feature.

Load the test DLL

Loads a test dynamic-link library (DLL).

You can run compliance tests using one of the following methods:

1.      From the SAPI Engine Compliance Tool, click File, and then click Load Test DLL.

2.      Load the test DLL into SPcomp.exe from the command line.
For more information, see Using the compliance testing tool.

Note: loading a compliance test with either method results in automatically unloading any previously loaded compliance tests.

Load the test settings

Loads one of the pre-configured test suites.

You can run compliance tests using one of the following methods:

1.      From the SAPI Engine Compliance Tool, click File, and then click Load Settings.

2.      Load the test DLL into SPcomp.exe from the command line.
For more information, see Using the compliance testing tool.

Note: loading a compliance test with either method results in automatically unloading any previously loaded compliance tests.

Save settings

Saves the configuration settings for the compliance test application.

Copy

Selects and copies content from the display log.

Clear Window

Clears the display contents of the result log.

Find

Searches for a specific word or phrase within the result log.

Find Next

Searches for the next occurrence of a specific word or phrase within the result log.

Run Test

Begins the compliance test.

Stop Test

Stops the compliance test.

Set Run Options

Configures the compliance test options.

Select Tests

Chooses which compliance test contained in the test suite to.

Set Logging

Determines location of the compliance test log information.

 

6.2       SAPI 5.0 Compliance Testing Application Menu Choices

The SAPI 5.0 compliance testing application configuration choices are accessible through the menu system. The following items are covered in this section:

·         File menu

·         Edit menu

·         Test menu

·         Options menu

·         Help menu

 

6.2.1        File menu

Click File to set configuration options to load settings, save settings, or load the appropriate test DLL. Use the arrow keys to view various menu choices. Press ENTER to select a menu choice.

6.2.2        Edit menu

Click Edit to copy text from the result log and search for text within the result log. Use the arrow keys to view various menu choices. Press ENTER to select a menu choice.

6.2.3        Test menu

Click Test to run the test or select a test. Use the arrow keys to view various menu choices. Press ENTER to select a menu choice.

6.2.4        Options menu

Click Options to view the various configuration settings. Use the arrow keys to view various menu choices. Press ENTER to select a menu choice.

6.2.5        Help menu

Click Help and then click About to display the SAPI 5.0 Engine Compliance Tool Version dialog box. Use the arrow keys to view the various menu choices. Press ENTER to select a menu choice.

6.3       SAPI 5.0 Compliance Testing Logging Options

From the Options menu, choose Logging Settings to set SAPI 5.0 compliance test result log configuration options.

Window

Displays the test result information in the main window of the compliance testing application.

Log File

Saves the test result information as text in a log file.

The log file is located at the same directory as SPcomp.exe tool and the file name will be the following style:

spcomp@442.log

The numbers "442" in the file name are generated by the SPcomp.exe tool and will be incremented by one each time you restart SPcomp.exe tool and run the test. A new log file is generated each time you start SPcomp.exe tool and run a compliance test.

Detailed

Specifies detailed result log information.

Summary

Specifies summary result log information.

 

6.4       SAPI 5.0 Compliance Testing Run Options

From the Options menu, click Run Options to configure SAPI 5.0 compliance testing run options.

Random

Randomizes the test order.

Close after execution

Closes the compliance testing application after the test sequence.

Stress

This option should not be selected for compliance tests.

Run count

Specifies the number of interactions the selected test should run.

Disable screen saver

Disable the screen saver.

Quiet

Runs the selected test in quiet mode.

Random Seed

The random seed value set here is used for the next time you run the compliance test.

Note: When troubleshooting a failed compliance test, you need to enter the same seed value information that was used for the failed compliance test before you repeat the compliance test procedure.

You can obtain the compliance test seed value from the "Random Seed" field information in the SPcomp@xxx.log file that was generated during the unsuccessful compliance test.

 

6.5       SAPI 5.0 Compliance Test Selection Options

From the Test menu, click Select Test to configure SAPI 5.0 compliance test choices.

Test Cases

Displays the current test suite.

Selected Test Cases

Displays the current selected tests.

Add Case(s)

Adds test items to the list of selected test cases.
Alternatively, to add test cases, right-click the test case in the test case display window and click Add Item.

Remove Case

Removes the selected test case from the current test. However, removing the selected test does not affect the need to successfully pass this test case to satisfy SAPI compliancy.

Alternatively, to remove test cases, right-click the test cases in the selected test case display window and click Remove Case.

Remove All

Removes all test cases.


 

7         SAPI Compliance: SR

SAPI compliant SR engines must be able to perform the following[2]:

§         Generate certain SR events

§         Interact with the SAPI lexicon

§         Handle Command and Control (C&C) grammars

§         Generate Phrase Elements

§         Support auto pause on recognition

§         Support rule synchronization

§         Support multiple instances of the engine

§         Support multiple application contexts

 

7.1       Required Tests

7.1.1        Events

Events will be checked for with .wav files. The test will feed the wav file to the engine and expect a specific event notification to occur. Please note that whether or not the engine can fire a specific event depends on the confidence threshold of the engine. Engine vendors could change the .wav quality to meet their requirement.

 

For English:

 

Test

Description

Resource IDs

Description

SoundStart

Test will check if a sound start event occurs.

IDS_WAV_SOUNDSTART

Input .wav file, tag_l.wav

IDR_L_GRAMMAR

Input CFG grammar

SoundEnd

Test will check if a sound end event occurs.

IDS_WAV_SOUNDEND

Input .wav file, tag_l.wav

IDR_L_GRAMMAR

Input CFG grammar

PhraseStart

A .wav file with audio the engine can do recognition on. Test insures that a phrase start event occurs

IDS_WAV_PHRASESTART

IDR_L_GRAMMAR

Input .wav file, tag_l.wav

Input CFG grammar

Recognition

A .wav with audio that the engine can do recognition on. Test insures that a recognition event occurs.

IDS_WAV_RECOGNITION_1

IDR_L_GRAMMAR

Input .wav file, tag_l.wav

Input CFG grammar

False Recognition

A wav file and a mismatching C&C grammar are loaded. Test insures that false recognition event occurs.

IDS_WAV_RECOGNITION_1

IDR_RULE_GRAMMAR

Input .wav file, tag_l.wav

Input CFG grammar

SoundStart/

SoundEnd

Test will check that the sound start event occurs before the sound end event.

IDS_WAV_SOUNDSTARTEND

IDR_L_GRAMMAR

Input .wav file, tag_l.wav

Input CFG grammar

PhraseStart/

Recognition

Test will check that the phrasestart event occurs before the recognition event.

IDS_WAV_RECOGNITION_1

IDR_L_GRAMMAR

Input .wav file, tag_l.wav

Input CFG grammar

SoundStart/

PhraseStart/

Recognition/

SoundEnd/

A wav file with audio that the engine can do recognition on. Test insures that the audiooffsets of these events are correct in terms of value comparison.

IDS_WAV_RECOGNITION_1

IDR_L_GRAMMAR

Input .wav file, tag_l.wav

Input CFG grammar

Table 1: Events Compliance Test

 

7.1.2        Lexicon

It is expected that changes in the user and application lexicon will be synchronized with the engine both when the engine starts up and after it has loaded a command and control grammar.


 

 

Test

Description

Resource IDs

Description

User Lexicon Before C&C Grammar Loaded

A made-up word with its customized pronunciation is added to the user lexicon. After command and control grammar is loaded, audio will be sent with the word added and the expected result is checked for.

IDS_WAV_SYNCH_BEFORE_LOAD

IDR_SNORK_GRAMMAR

IDS_RECO_SYNCH_BEFORE_LOAD

IDS_RECO_NEWWORD_PRON

Input .wav file, lexicon.wav

Input CFG grammar

The lexicon form of new word

The pronunciation of the new word in user lexicon

User Lexicon After C&C Grammar Loaded

After command and control grammar is loaded, a made-up word with its customized pronunciation is added to the user lexicon. Audio will be sent with the word added and the expected result is checked for.

IDS_WAV_SYNCH_AFTER_GRAM

IDR_SNORK_GRAMMAR

IDS_RECO_SYNCH_AFTER_GRAM

IDS_RECO_NEWWORD_PRON

Input .wav file, lexicon.wav

Input CFG grammar

The lexicon form of new word

The pronunciation of the new word in user lexicon

Application Lexicon and C&C Grammar

A made-up word with its customized pronunciation is added to the application lexicon. After command and control grammar is loaded, audio will be sent with the word added and the expected result is checked for.

IDS_WAV_APPLEX

IDR_SNORK_GRAMMAR

IDS_APPLEX_WORD

IDS_APPLEX_PROP

 

Input .wav file, lexicon.wav

Input CFG grammar

The lexicon form of new word

The pronunciation of the new word in application lexicon

User lexicon before application lexicon

A made-up word is added to both user lexicon and application lexicon using the different customized pronunciations. After command and control grammar is loaded, audio will be sent with the word’s pronunciation in user lexicon and the expected result is checked for.

IDS_WAV_USERLEXBEFOREAPPLEX

IDR_SNORK_GRAMMAR

IDS_USERLEXBEFOREAPPLEX_WORD

IDS_USERLEXBEFOREAPPLEX_USERPROP

IDS_USERLEXBEFOREAPPLEX_APPPROP

Input .wav file, lexicon.wav

Input CFG grammar

The lexicon form of new word

The pronunciation of the new word in user lexicon

The pronunciation of the new word in application lexicon

Table 2: Lexicon Compliance Test


 

7.1.3        Command and Control Grammar

Testing the engine for grammar compliance is perhaps the most complex set of tests. The engine must process a grammar correctly.  Each test will use a grammar specifically tailored for the particular feature.


 

 

Test

Description

Resource IDs

Description

L Tag

A three-element list grammar is loaded. Audio with the middle item to be recognized with the sent to the engine and the result checked for this item.

IDS_RECO_L_TAG

IDS_WAV_L_TAG

IDR_L_GRAMMAR

Expected Result

Input .wav file, tag_l.wav

Input CFG grammar

Expected Rule

A grammar with two identical rules is loaded. The first rule will be activated. Audio that triggers this rule is sent and test verifies that the engine uses the first rule. The first rule is then de-activated and the second rule is activated. The same audio is sent and the test verifies that the engine uses the second rule.

IDS_RECO_EXPRULE_FIRSTRULE

IDS_RECO_EXPRULE_SECONDRULE

IDS_WAV_EXPRULE_TAG

IDR_EXPRULE_GRAMMAR

First Rule’s Name

Second Rule’s Name

Input .wav file, tag_exprule.wav

Input CFG grammar

P Tag

A simple grammar with a single phrase. Audio is sent and recognition is expected. Audio that does not contain the phrase is sent and no recognition is expected.

IDS_RECO_P_TAG

IDS_WAV_P_TAG

IDR_P1_GRAMMAR

Expected Result

Input .wav file, tag_p.wav

Input CFG grammar

 

O Tag

A grammar will be defined with a phrase and an optional phrase preceding and following it. Three audio streams will be sent. One with the first optional phrase, one for the second, and the third that does not contain any optional phrases. The appropriate recognition result is checked for in each case.

IDS_RECO_O_TAG_1

IDS_RECO_O_TAG_2

IDS_RECO_O_TAG_3

IDS_WAV_O_TAG_1

IDS_WAV_O_TAG_2

IDS_WAV_O_TAG_3

FirstOptionalWord

Required word

Second Optional word

Input .wav file containing the first optional word, tag_o1.wav

Input .wav file containing the second optional word, tag_o2.wav

Input .wav file without optional words, tag_o3.wav

RULEREF Tag

A grammar with a phrase with a rule reference and a rule defined will be loaded. Audio that triggers the rule will be sent and the result checked.

IDS_RECO_RULE_TAG

IDS_WAV_RULE_TAG

IDR_RULE_GRAMMAR

Expected Result

Input .wav file, tag_rule.wav

Input CFG grammar

/Disp/lex/pron format

Test ensures engine can support customized pronunciation provided in the command and control grammar file.

IDS_CUSTOMPROP_NEWWORD_PRON

IDS_CUSTOMPROP_NEWWORD_DISP

IDS_CUSTOMPROP_NEWWORD_LEX

IDS_CUSTOMPROP_RULE

IDS_WAV_CUSTOMPROP

The customized pronunciation form of the new word

The customized display form of the new word

The customized lexicon form of the new word

The dynamic grammar rule name

Input .wav file, lexicon.wav

Table 3: Command and Control Compliance Test

 

7.1.4        Phrase Elements, Auto Pause, Rule invalidation, multiple instances and contexts.

 


 

 

Test

Description

Resource IDs

Description

Phrase Elements

The audio offsets of SPPHRASEELEMENTs in one SPPHRASE are correctly filled in, which means that the audio offset of the first SPPHRASEELEMENT is less than the audio offset of the second SPPHRASEELEMENT, the audio offset of the second SPPHRASEELEMENT is less than the third one, etc.

IDS_WAV_RULE_TAG

IDR_RULE_GRAMMAR

Input .wav file, tag_rule.wav

Input CFG grammar

Auto Pause

The test makes sure engine can support auto pause feature provided by SAPI.

IDS_AUTOPAUSE_DYNAMICWORD1

IDS_AUTOPAUSE_DYNAMICWORD2

IDS_AUTOPAUSE_DYNAMICRULE1

IDS_AUTOPAUSE_DYNAMICRULE2

IDS_WAV_AUTOPAUSE

The word in the first rule

The word in the second rule

The name of the first rule

The name of the second rule

Input .wav file, autopause.wav

Top-level rule invalidation

Test verifies that engine can synchronize the rule information after SAPI notifies engine of top-level rule invalidation.

IDS_INVALIDATETOPLEVEL_DYNAMICWORDS

IDS_INVALIDATETOPLEVEL_DYNAMICRULE

IDS_WAV_INVALIDATETOPLEVEL_OLD

IDS_INVALIDATETOPLEVEL_DYNAMICNEWWORDS

IDS_WAV_INVALIDATETOPLEVEL_NEW

The words in the dynamic grammar

The rule name in the dynamic grammar

Input .wav file used before invalidation, tag_exprule.wav

The new words in the dynamic grammar

Input .wav file used after invalidation

None-top-level rule invalidation

Test verifies that engine can synchronize the rule information after SAPI notifies engine of non-top-level rule invalidation.

IDS_INVALIDATENONTOPLEVEL_RULE1

IDS_INVALIDATENONTOPLEVEL_RULE2

IDS_INVALIDATENONTOPLEVEL_TOPLEVELRULE

IDS_INVALIDATENONTOPLEVEL_OLDWORD1

IDS_INVALIDATENONTOPLEVEL_OLDWORD2

IDS_WAV_INVALIDATENONTOPLEVEL_OLD

IDS_INVALIDATENONTOPLEVEL_NEWWORD1

IDS_INVALIDATENONTOPLEVEL_NEWWORD2

IDS_WAV_INVALIDATENONTOPLEVEL_NEW

The first rule name

The second rule name

The top-level rule name

The word in the first rule used before invalidation

The word in the second rule used before invalidation

Input .wav file used before invalidation, tag_exprule.wav

The word in the first rule used after invalidation

The word in the second rule used after invalidation

Input .wav file used after invalidation, tag_rule.wav

Multiple recognition contexts

Multiple recognition contexts will be created with different grammars. The test will verify that the recognition event is generated by the correct recognition contexts.

IDS_RECO_P_TAG

IDS_WAV_MULT_RECO

IDR_P1_GRAMMAR

IDR_P2_GRAMMAR

The result expected in the second grammar

Input .wav file, multireco.wav

The first grammar used by the first recocontext

The second grammar used by the second recocontext

Multiple recognition engine instances

Basic tests are run separately on different threads to see if engine can support multi instances.

NA

NA

Table 4: Required Compliance Tests


 

7.2       Feature Tests

Some of the features exposed through SAPI are useful from a competitive advantage point of view. Features are not required by SAPI compliance, but may be an attractive function for engine vendors to implement. SAPI features are:

§         Interference and hypothesis events

§         Dictation functionalities

§         Advanced command and control features

§         Command and control alternate

§         Engine properties

§         Inversed text normalization

 

 

 

7.2.1        Events

Events will be checked for with .wav. The test will feed the .wav  to the engine and expect a specific event notification to occur. Please note that whether or not the engine can fire a specific event depends on the confidence threshold of the engine. Engine vendors may change the .wav files if it is felt that the .wav quality does not meet their requirements (Refer to Section 7.4).

 

Test

Description

Resource IDs

Descriptions

Interference

A wav file with noises. Test will check that an interference event occurs.

IDS_WAV_INTERFERENCE

IDR_L_GRAMMAR

Input .wav file, tag_l.wav

Input CFG grammar

Hypothesis

A .wav file with audio that engine can do recognition on. Test insures a hypothesis event occurs.

IDS_WAV_HYPOTHESIS

IDR_EXPRULE_GRAMMAR

Input .wav file, tag_exprule.wav

Input CFG grammar

Table 5: Events Feature Compliance Test

 

7.2.2        Dictation functionalities

This the required features if Engine wants to support dictation grammar. This include some basic functionalities for dictation grammar. This includes lexicon, dictation tag, dictation alternates.

 

Test

Description

Resource IDs

Descriptions

User Lexicon Before dictation Grammar Loaded

A made-up word with its customized pronunciation is added to the user lexicon. After dictation grammar is loaded, audio will be sent with the word added and the expected result is checked for.

IDS_WAV_SYNCH_BEFORE_LOAD

IDS_RECO_SYNCH_BEFORE_LOAD

IDS_RECO_NEWWORD_PRON

Input .wav file, lexicon.wav

The lexicon form of new word

The pronunciation of the new word in user lexicon

User Lexicon After dictation Grammar Loaded

After dictation grammar is loaded, a made-up word with its customized pronunciation is added to the user lexicon. Audio will be sent with the word added and the expected result is checked for.

IDS_WAV_SYNCH_AFTER_DICT

IDS_RECO_SYNCH_AFTER_DICT

IDS_RECO_NEWWORD_PRON

Input .wav file, lexicon.wav

The lexicon form of new word

The pronunciation of the new word in user lexicon

Dictation Tag

A rule with dictation tag is loaded. Audio is feed and the test verifies the recognition event is generated.

IDS_DICTATIONTAG_WORDS

IDS_DICTATIONTAG_RULE

IDS_WAV_DICTATIONTAG

The word before the dictation tag

The dynamic grammar rule name

Input .wav file, tag_exprule.wav

Dictation alternates

Test ensures that engine can generate alternate results for dictation grammar. The test makes sure that engine has its own alternate object and the object can generate some alternate results.

IDS_WAV_EXPRULE_TAG

Input .wav file, tag_exprule.wav

 

Table 5: Dictation Compliance Test

 

7.2.3        Grammar

Each test will use a grammar specifically tailored for the particular feature. Some tests would use dynamic grammar instead of the static grammar.


 

 

Test

Description

Resource IDs

Descriptions

 

WildCard Tag

A rule with wildcard tag is loaded. Audio is feed and the test verifies the recognition event is generated.

IDS_WILDCARD_WORDS

IDS_WILDCARD_RULE

IDS_WAV_WILDCARD

 

The word before the wildcard tag

The dynamic grammar rule name

Input .wav file, tag_rule.wav

TextBuffer Tag

A grammar with <TextBuffer> tag will be loaded. Test fills in the content of TextBuffer on the fly. Audio with both static part and dynamic part of the grammar would be feed and the result would be checked.

IDS_CFGTEXTBUFFER_WORDS

IDS_CFGTEXTBUFFER_BUFFERWORD

IDS_CFGTEXTBUFFER_RULE

IDS_WAV_CFGTEXTBUFFER

The words before TEXTBUFFER tag

The word for TEXTBUFFER tag

The rule name

Input .wav file, tag_exprule.wav

Use the correct grammar

Two unambiguous grammars are loaded to test if engine can use the correct grammar to do recognition.

IDS_RECO_RULE_TAG

IDS_WAV_RULE_TAG

IDR_L_GRAMMAR

IDR_RULE_GRAMMAR

Expected result for the second grammar

Input .wav file, tag_rule.wav

The first grammar

The second grammar

Use the most recently activated grammar

Two ambiguous grammars are loaded to test if engine can use the most recently activated grammar to do the recognition.

IDS_WAV_RULE_TAG

IDR_RULE_GRAMMAR

 

Input .wav file, tag_rule.wav

Input CFG grammar

Table 6: Grammar Feature Compliance Test

 

7.2.4        Alternates, engine properties, inversed text normalization

 


 

Test

Description

Resource IDs

Descriptions

Command and Control alternates

Test ensures that the engine can generate alternate results for command and control grammar

IDS_ALTERNATESCFG_BESTWORD

IDS_ALTERNATESCFG_ALTERNATE1

IDS_ALTERNATESCFG_ALTERNATE2

IDS_ALTERNATESCFG_WORDS

IDS_WAV_ALTERMATESCFG

The best choice of the CFG grammar

Alternate word in CFG grammar

Alternate word in CFG grammar

Others words in the CFG grammar

tag_exprule.wav

Engine numeric properties

If engine supports the numeric properties specified by SAPI

NA

 

Engine text properties

If engine can return S_FALSE on the text properties that are not supported.

NA

 

Inversed Text Normalization

The test uses a wav file and expects engine to pass back a result containing digits together with the normal result. Please note that this is a very specific ITN test and is not coverage of ITN related issues.

IDS_RECO_GETITNRESULT

IDS_WAV_GETITNRESULT

IDR_RULE_GRAMMAR

Expected ITN result

Input .wav file, tag_rule.wav

Input CFG grammar

Table 7: Feature Compliance Tests


 

7.3       SR Sample Engine

The sample engine is not fully SAPI compliant due to the fact that it does not have the full range of functionality that a true SR engine would have. Table 8 indicates which compliance tests will pass. Table 9 indicates which features are supported.

 

 

Test

Result

Description

Events

 

 

SoundStart

Pass

 

SoundEnd

Pass

 

PhraseStart

Pass

 

FalseRecognition

Fail

The sample engine doesn’t generate this event based on the real SR job.

Recognition

Pass

 

SoundStart/SoundEnd order

Pass

 

PhraseStart/Recognition order

<