Windows 10 IoT Core Speech Recognition MunChan Park kaki104@daum.net Windows Platform Developm ent MVP www.facebook.com/groups/ w10app 유튜브 채널 Windows 10 IoT Core Speech Recognition
환경 및 준비 Windows 10 IoT Core version 10.0.16299.15 라즈베리파이3 가능하면 모두 영문 버전 사용을 추천 Windows 10 version 1709 (16299.125 ) 가능 하면 최신 버전으로.. Visual Studio 2017 version 15.5.2 Windows 10 IoT Core version 10.0.16299.15 라즈베리파이3 USB 마이크, Headset, 웹 캠 등 음 성 녹음 장치
참고 자료 Windows 10 IoT Core Microsoft/Windows-iotcore-samples Microsoft/Windows-universal-samples Speech interactions Microsoft Speech Platform Bing Speech API 라즈베리파이에서 한글 음성 인식하기 소스
Speech Recognition Constraints Predefined grammars(SpeechRecognitionTopicConstrai nt) 사전 정의 된 받아쓰기 및 웹 검색 문법은 크기가 크고 온라인 (장치가 아님)이기 때문에 성능이 장치에 설치된 사용자 지정 문법만큼 빠르지 않을 수 있습니다. Predefined dictation(Dictation) 사용자가 특정 언어로 말할 수있는 대부분의 단어와 구를 인식 할 수 있으며 짧은 구를 인식하도록 최적 화되어 있습니다. 자유 텍스트 받아쓰기는 사용자가 말할 수있는 사물의 종류를 제한하고 싶지 않을 때 유용합니다. 일반적인 용도로는 노트를 작성하거나 메시지 내용을 지시하는 것 Web-search grammars(WebSearch) 받아쓰기 문법과 마찬가지로 웹 검색 문법에는 사용 자가 말할 수있는 수많은 단어와 구가 들어 있습니 다. 그러나 사람들이 일반적으로 웹을 검색 할 때 사 용하는 용어를 인식하도록 최적화되어 있습니다. FormFilling 양식 입력을 지원합니다.
Speech Recognition Constraints Custom grammars Programmatic list constraints(SpeechRecogni tionListConstraint) 프로그래밍 방식의 목록 제약 조건은 단어 또 는 구 목록을 사용하여 간단한 문법을 만드는 방법을 제공합니다. 목록 제약 조건은 짧고 뚜 렷한 구를 인식하는 데 적합합니다. 문법의 모 든 단어를 명시 적으로 지정하면 음성 인식 엔 진이 일치를 확인하기 위해 음성을 처리해야하 므로 인식 정확도가 향상됩니다. 목록을 프로 그래밍 방식으로 업데이트 할 수도 있습니다. SRGS grammar(SpeechRecognitionGrammar FileConstraint) SRGS 문법은 프로그래밍 방식의 목록 제약과 달리 SRGS 버전 1.0에 정의 된 XML 형식을 사용하는 정적 문서입니다. SRGS 문법은 한 번의 인식으로 여러 가지 의미를 포착 할 수 있 도록함으로써 음성 인식 경험을 최대한 제어합 니다.
Speech Recognition 기초 Check MicrophonePermission Important APIs Windows.Media.SpeechRecognition Set up the audio feed App capability declarations Check MicrophonePermission Get SystemSpeechLanguage InitializeRecognizer Start Recoginizer Speak a sentence View results
SpeechRecognizer SupportedTopicLanguages 미리 정의된 문법 혹은 웹 서비스 문법을 지 원하는 언어 목록을 반환 사용자가 문법을 작성할 필요없이 앱에 음 성 인식을 제공합니다. 이러한 문법을 사용 할 때 원격 웹 서비스에서 음성 인식을 수행 하고 그 결과를 장치에 반환합니다 SupportedGrammarLanguages SpeechRecognitionGrammarFileConstr aint나 SpeechRecognitionListConstraint 개체의 사용자 지정 문법 지원 언어 컬렉션 을 가지고 옵니다.
List of speech recognition supported languages Speech Recognition is only available for the following languages: English (United States and United Kingdom), French, German, Japanese, Mandarin (Chinese Simplified and Chinese Traditional), and Spanish. 라즈베리파이에서 한글 음성 인식 하기 Bing Speech API pricing Bing Speech API—free, 5,000 transactions free per month
영어 말하기 연습 앱 개발 목표 : 기초 영어 말하기 연습을 하는 앱 개발 내용 : 한글로 된 하나의 문장이 화면에 표시되면, 해당 문장에 맞는 영어를 이야기 한다. 효과 : 내 발음이 얼마나 정확한지 확인 할 수 있음 기능 : 1. ListConstraint를 이용해서 학습할 문장을 입 력하고, 랜덤하게 하나씩 출력해서 발음이 맞는 지 확인 – 제공한 문장에서만 찾음 2. Predefined dictation 을 이용해서 좀더 정 확한 발음 확인 – free-text 검색이기 때문에 좀 더 정확한 발음이 필요
PC 환경 설정 확인 반드시 마이크 장치가 필 요합니다. All settings -> Time & Language -> Region & language -> English (United States) English (United States) -> Options -> Speech -> Do wnload 영어 말하기 기능과 관련 이 있는 듯 하지만..일단 다운로드 받아서 설치해 놓는 것으로 하겠습니다. 반드시 마이크 장치가 필 요합니다.
앱 개발 순서 Windows Template Studio를 이용해서 프로젝 트 생성 Navigation pane 사용 Code behind framework 사용 간단한 셈플 형태인 경우에만 사용합니다. 좀 더 복잡한 프로젝트인 경우에는 MVVM Light를 이용할 예정이며, 통합 프로젝트인 경우 Prism을 사용할 예정입니다. 앱 시작시 초기화 학습할 문장 불러오기 기초 발음 연습 페이지 구현 심화 발음 연습 페이지 구현 화면 디자인은 크게 신경 쓰지 않고 개발 합니다.
앱 개발 실습