Determining microphone setting sweet spot

Last reviewed: 8/7/2009

HOW Article ID: H080903

The information in this article applies to:

  • ProfileKit 3


Speech recognition quality is directly impacted by the audio stream. If the microphone level is too high or too low, then the recognition quality is compromised.

ProfileKit 3 provides a simple way to object the Speech API-specific audio level at which minimal noise detection occurs.

More Information

Background noise can interfere with recognition. This can be noise from conversations and audio from radios or televisions. It can be noise from light fixtures or air conditioning systems. The ChantPM class provides a new method or obtaining the microphone sweet spot: GetSweetSpot.

GetSweetSpot sets the inbound audio device level and returns the value mapped to the specific speech API range of values. The returned value can be used with the ChantSR SetNumberProperty method to set the CNPVolume value (not supported by Dragon NaturallSpeaking). This may be required for SAPI 5 recognizers on some systems since it will disregard the inbound audio level settings.

The following example illustrates obtaining the microphone sweet spot:

// Get the audio level
int volume = NChantPM1.GetSweetSpot(-1, ChantEngineAPI.CESAPI5SR, ChantAcousticEnvironment.CAEOffice);
// Set the audio level for the recognizer
NChantSR1.SetNumberProperty(ChantNumberProperty.CNPVolume, volume);

Refer to programming language specific syntax in the help file Class Library Reference.