SPDUI_MicTraining

Microsoft Speech SDK

The Microsoft.com Speech website Microsoft Speech SDK SAPI 5.1

SPDUI_MicTraining (C/C++)

SpeechMicTraining (Automation)


SPDUI_MicTraining defines the string for displaying a speech recognition (SR )engine's microphone training UI.

It is not a SAPI 5 compliance requirement for an SR engine to implement this UI for SPDUI_MicTraining.

When to Implement

When writing an SR engine for the desktop or a graphical environment, users might want to adapt the engine either before the first use, or when recognition accuracy is poor. Microphone quality can greatly benefit recognition accuracy, even for a speaker-independent engine.

Use Speech properties in Control Panel to change settings for all installed SAPI 5-compliant SR engines. Click Configure Microphone on the SR tab to adapt the microphone and directly access each SR engine's Microphone Training UI using SPDUI_MicTraining. If the SR engine does not support Microphone Training UI (see ISpTokenUI::IsUISupported), Configure Microphone will be unavailable.

When to Access

The application could monitor the user's speech experience by recognition accuracy. If a user encounters too many false recognitions or recognition corrections, the application could recommend that the user re-adapt the SR engine to their microphone (see ISpRecognizer::DisplayUI).

Also, an SR engine can send a SPEI_REQUEST_UI event to the application if it determines that the user needs to perform additional recognizer training. For example, if the input is too quiet or too loud. Typically the UI type will be SPDUI_MicTraining to ensure that the SR engine is adapted to the current input audio settings.


#define SPDUI_MicTraining        L"MicTraining"

Example

The following code snippet illustrates the use of ISpTokenUI::IsUISupported using SPDUI_MicTraining.

    HRESULT hr = S_OK;

    // get the default speech recognizer token
    hr = SpGetDefaultTokenFromCategoryId(SPCAT_RECOGNIZERS, &cpObjectToken);
    // Check hr

    // get the object token's UI
    hr = cpObjectToken->QueryInterface(&cpTokenUI);
    // Check hr

    // check if the default speech recognizer has UI for performing Microphone Training 
    hr = cpTokenUI->IsUISupported(SPDUI_MicTraining, NULL, NULL, NULL, &fSupported);
    // Check hr

    // if fSupported == TRUE, then default speech recognizer has UI for Microphone Training 

The following code snippet illustrates the use of ISpRecognizer::DisplayUI using SPDUI_MicTraining.

    HRESULT hr = S_OK;

    // display microphone training UI for the current recognizer
    hr = cpRecognizer->DisplayUI(MY_HWND, MY_APP_MIC_TRAINING, SPDUI_MicTraining, NULL, NULL);
    // Check hr