음성 인식에 사용할 설치된 언어를 선택하는 방법을 알아봅니다.
여기서는 시스템에 설치된 언어를 열거하고, 기본 언어를 식별하고, 인식할 다른 언어를 선택합니다.
사전 요구 사항:
이 항목은 음성 인식을 기반으로 합니다.
음성 인식 및 인식 제약 조건에 대한 기본적인 이해가 있어야 합니다.
Windows 앱을 개발하는 것을 접하는 경우 여기서 설명하는 기술을 숙지하기 위해 이러한 항목을 살펴보세요.
- 첫 번째 앱 만들기
- 이벤트 및 라우트된 이벤트 개요을 통해 이벤트에 대해 알아보세요.
사용자 환경 지침:
유용하고 매력적인 음성 지원 앱을 디자인하는 방법에 대한 유용한 팁은 Speech 디자인 지침을 참조하세요 .
기본 언어 식별
음성 인식기에서는 시스템 음성 언어를 기본 인식 언어로 사용합니다. 이 언어는 디바이스 설정 > 시스템 > 음성 > 음성 언어 화면에서 사용자가 설정합니다.
SystemSpeechLanguage 정적 속성을 확인하여 기본 언어를 식별합니다.
var language = SpeechRecognizer.SystemSpeechLanguage;
설치된 언어 확인
설치된 언어는 디바이스마다 다를 수 있습니다. 특정 제약 조건에 대해 언어를 사용하는 경우 언어의 존재를 확인해야 합니다.
메모 새 언어 팩을 설치한 후에 다시 부팅해야 합니다. 지정된 언어가 지원되지 않거나 설치가 완료되지 않은 경우 오류 코드 SPERR_NOT_FOUND(0x8004503a)에 대한 예외가 발생합니다.
SpeechRecognizer 클래스의 두 정적 속성 중 하나를 확인하여 디바이스에서 지원되는 언어를 확인합니다.
SupportedTopicLanguages- 미리 정의된 받아쓰기 및 웹 검색 문법과 함께 사용되는 Language 개체의 컬렉션입니다.
SupportedGrammarLanguages- 목록 제약 조건 또는 SRGS(Speech Recognition Grammar Specification) 파일과 함께 사용되는 Language 개체의 컬렉션입니다.
언어 지정
언어를 지정하려면 SpeechRecognizer 생성자에 Language 개체를 전달합니다.
여기서는 "en-US"를 인식 언어로 지정합니다.
var language = new Windows.Globalization.Language("en-US");
var recognizer = new SpeechRecognizer(language);
비고
SpeechRecognizer의 Constraints 컬렉션에 SpeechRecognitionTopicConstraint을 추가한 다음, CompileConstraintsAsync을 호출하여 토픽 제약 조건을 구성할 수 있습니다. 인식기가 지원되는 토픽 언어로 초기화되지 않으면 SpeechRecognitionResultStatusTopicLanguageNotSupported가 반환됩니다.
목록 제약 조건은 SpeechRecognitionListConstraint 을 SpeechRecognizer 의 Constraints 컬렉션에 추가한 다음, CompileConstraintsAsync을 호출하여 설정됩니다. 사용자 지정 목록의 언어를 직접 지정할 수 없습니다. 대신, 목록은 인식기의 언어를 사용하여 처리됩니다.
SRGS 문법은 SpeechRecognitionGrammarFileConstraint 클래스로 표현되는 개방형 표준 XML 형식입니다. 사용자 지정 목록과 달리 SRGS 태그에서 문법의 언어를 지정할 수 있습니다. SRGS 태그와 동일한 언어로 초기화되지 않은 경우, CompileConstraintsAsync는 TopicLanguageNotSupported의 SpeechRecognitionResultStatus으로 인해 실패합니다.
관련 문서
견본
Windows developer