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