다음을 통해 공유


음성 인식기 언어 지정

음성 인식에 사용할 설치된 언어를 선택하는 방법을 알아봅니다.

중요 API: 지원 주제 언어, 지원 문법 언어, 언어

여기서는 시스템에 설치된 언어를 열거하고, 기본 언어를 식별하고, 인식할 다른 언어를 선택합니다.

사전 요구 사항:

이 항목은 음성 인식을 기반으로 합니다.

음성 인식 및 인식 제약 조건에 대한 기본적인 이해가 있어야 합니다.

Windows 앱을 개발하는 것을 접하는 경우 여기서 설명하는 기술을 숙지하기 위해 이러한 항목을 살펴보세요.

사용자 환경 지침:

유용하고 매력적인 음성 지원 앱을 디자인하는 방법에 대한 유용한 팁은 Speech 디자인 지침을 참조하세요 .

기본 언어 식별

음성 인식기에서는 시스템 음성 언어를 기본 인식 언어로 사용합니다. 이 언어는 디바이스 설정 > 시스템 > 음성 > 음성 언어 화면에서 사용자가 설정합니다.

SystemSpeechLanguage 정적 속성을 확인하여 기본 언어를 식별합니다.

var language = SpeechRecognizer.SystemSpeechLanguage; 

설치된 언어 확인

설치된 언어는 디바이스마다 다를 수 있습니다. 특정 제약 조건에 대해 언어를 사용하는 경우 언어의 존재를 확인해야 합니다.

메모 새 언어 팩을 설치한 후에 다시 부팅해야 합니다. 지정된 언어가 지원되지 않거나 설치가 완료되지 않은 경우 오류 코드 SPERR_NOT_FOUND(0x8004503a)에 대한 예외가 발생합니다.

 

SpeechRecognizer 클래스의 두 정적 속성 중 하나를 확인하여 디바이스에서 지원되는 언어를 확인합니다.

언어 지정

언어를 지정하려면 SpeechRecognizer 생성자에 Language 개체를 전달합니다.

여기서는 "en-US"를 인식 언어로 지정합니다.

var language = new Windows.Globalization.Language("en-US"); 
var recognizer = new SpeechRecognizer(language); 

비고

SpeechRecognizerConstraints 컬렉션에 SpeechRecognitionTopicConstraint을 추가한 다음, CompileConstraintsAsync을 호출하여 토픽 제약 조건을 구성할 수 있습니다. 인식기가 지원되는 토픽 언어로 초기화되지 않으면 SpeechRecognitionResultStatusTopicLanguageNotSupported가 반환됩니다.

목록 제약 조건은 SpeechRecognitionListConstraintSpeechRecognizerConstraints 컬렉션에 추가한 다음, CompileConstraintsAsync을 호출하여 설정됩니다. 사용자 지정 목록의 언어를 직접 지정할 수 없습니다. 대신, 목록은 인식기의 언어를 사용하여 처리됩니다.

SRGS 문법은 SpeechRecognitionGrammarFileConstraint 클래스로 표현되는 개방형 표준 XML 형식입니다. 사용자 지정 목록과 달리 SRGS 태그에서 문법의 언어를 지정할 수 있습니다. SRGS 태그와 동일한 언어로 초기화되지 않은 경우, CompileConstraintsAsyncTopicLanguageNotSupportedSpeechRecognitionResultStatus으로 인해 실패합니다.

견본