정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Windows Phone 8의 음성 인식기 설정 사용자 지정

2014-06-18

적용 대상: Windows Phone 8 및 Windows Phone Silverlight 8.1만

음성이 예상될 때 입력이 없거나 인식 가능한 입력이 없으면 음성 인식기가 그에 대해 응답하는 방식을 제어하는 음성 인식기의 설정을 조정할 수 있습니다. 이 설정은 음성 인식 작업의 시작 또는 결말에서 예상되는 음성을 기다리는 동안 인식 기능이 동작하는 방식에 영향을 줍니다.

이 항목에는 다음 단원이 포함되어 있습니다.

다음 표에서는 음성 인식기 설정을 나열하고 설명합니다.

설정

설명

SpeechRecognizerSettingsInitialSilenceTimeout()

무음만 입력될 경우 음성 인식기가 음성 입력을 대기하는 시간 범위입니다. 인식기는 이 간격이 끝나기 전에 인식 가능한 음성이 수신되지 않으면 인식 작업을 끝냅니다. 기본 설정은 5초입니다.

예를 들어 인식 작업이 시작된 후 사용자가 말을 시작하기를 기다리는 시간을 높이거나 낮추는 방식으로 SpeechRecognizerSettingsInitialSilenceTimeout() 설정의 값을 조정하려 할 수 있습니다.

SpeechRecognizerSettingsBabbleTimeout()

음성 인식기가 배경 소음과 같은 음성 이외의 입력만 수신할 경우 계속 수신하도록 허용되는 시간 간격입니다. 배경 소음에는 현재 음성 인식기가 로드하여 활성화한 문법의 활성 상태 규칙과 일치하지 않는 비음성 입력이 포함됩니다.

인식기는 이 소리 입력 시간 제한 내에 비음성 입력만 수신되면 인식 작업을 끝냅니다. 기본 설정은 0초입니다(기능이 활성화되지 않음).

SpeechRecognizerSettingsEndSilenceTimeout()

음성이 완료되고 입력으로 무음만 수신된 후에 음성 인식기가 인식 작업을 종료하기 위해 대기하는 시간 간격입니다. 인식기가 음성 입력을 수신했지만 현재 로드하여 활성화한 문법의 규칙과 완전히 일치하지는 않습니다. 기본 설정은 150밀리초입니다. 앱은 보통 이 설정의 기본값을 사용합니다.

다음 코드 예제에서는 SpeechRecognizerSettingsInitialSilenceTimeout()SpeechRecognizerSettingsBabbleTimeout()의 설정을 지정하는 방법을 보여 줍니다. 일반적으로 앱은 SpeechRecognizerSettingsEndSilenceTimeout()에 대한 설정을 수정하지 않습니다.

// Declare the SpeechRecognizerUI object at the class level.
SpeeechRecognizer recoWithUI;

private async void Reco1_Click(object sender, RoutedEventArgs e)
{

  // Initialize the SpeechRecognizerUI object.
  SpeechRecognizerUI recoWithUI = new SpeechRecognizerUI();

  // Set timeout settings.
  recoWithUI.Recognizer.Settings.InitialSilenceTimeout = TimeSpan.FromSeconds(6.0);
  recoWithUI.Recognizer.Settings.BabbleTimeout = TimeSpan.FromSeconds(4.0);
  recoWithUI.Recognizer.Settings.EndSilenceTimeout = TimeSpan.FromSeconds(1.2);


  // Create a string array to use in a grammar. 
  string[] genre = { "rock", "jazz", "classical", "world", "gospel", "Brazilian" };

  // Create a list grammar from the string array and add it to the grammar set.
  recoWithUI.Recognizer.Grammars.AddGrammarFromList("genres", genre);

  // Display text to prompt the user's input.
  recoWithUI.Settings.ListenText = "What kind of music?";

  // Give an example of ideal speech input.
  recoWithUI.Settings.ExampleText = " 'rock', 'jazz', 'classical' ";
            
  // Load the grammar set and start recognition.
  SpeechRecognitionUIResult recoResult = await recoWithUI.RecognizeWithUIAsync();
}

시간 제한 설정은 하나의 SpeechRecognizer 또는 SpeechRecognizerUI 인스턴스에 적용되며, 인스턴스가 활성화되어 있는 동안 지속됩니다. 새 SpeechRecognizer 또는 SpeechRecognizerUI 인스턴스의 시간 제한은 기본값으로 설정됩니다.

주의주의:

시간 제한 설정은 미리 정의된 사전 또는 웹 검색 문법 사용 시 효과가 없습니다.

표시: