음성 인식기 언어 지정

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

중요 한 api: SupportedTopicLanguages, SupportedGrammarLanguages, Language

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

사전 요구 사항:

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

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

Windows 앱을 개발 하는 데 익숙하지 않은 경우이 항목을 살펴보고 여기에 설명 된 기술을 숙지 하세요.

사용자 환경 지침:

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

기본 언어 식별

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

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

var language = SpeechRecognizer.SystemSpeechLanguage; 

설치 된 언어 확인

설치 된 언어는 장치 마다 다를 수 있습니다. 특정 제약 조건에 종속 된 언어가 있는지 확인 해야 합니다.

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

 

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

언어 지정

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

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

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

설명

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

SpeechRecognizer제약 조건 컬렉션에 SpeechRecognitionListConstraint 를 추가 하 고 CompileConstraintsAsync를 호출 하 여 목록 제약 조건을 구성 합니다. 사용자 지정 목록의 언어는 직접 지정할 수 없습니다. 대신 목록은 인식기의 언어를 사용하여 처리됩니다.

SRGS 문법은 SpeechRecognitionGrammarFileConstraint 클래스가 나타내는 오픈 표준 XML 형식입니다. 사용자 지정 목록과 달리 SRGS 태그에서 문법의 언어를 지정할 수 있습니다. 인식기가 SRGS 태그와 동일한 언어로 초기화 되지 않은 경우 CompileConstraintsAsyncSpeechRecognitionResultStatusTopicLanguageNotSupported 와 함께 실패 합니다.

샘플