Web Speech API
Web Speech API를 사용하면 음성 데이터를 웹 앱에 통합할 수 있습니다. Web Speech API는 두 부분으로 구성됩니다. SpeechSynthesis
(텍스트 음성 변환) 및 SpeechRecognition
(비동기 음성 인식)입니다.
Web Speech API의 개념과 사용법
Web Speech API를 사용하면 웹 앱에서 음성 데이터를 처리할 수 있습니다. 이 API에는 두 가지 구성 요소가 있습니다.
- 음성인식은 음성 입력(일반적으로 장치의 기본 음성 인식 서비스를 통해)에서 음성 맥락을 인식하고 적절하게 응답하는 기능을 제공하는
SpeechRecognition
(en-US) 인터페이스를 통해 접근합니다. 일반적으로 인터페이스의 생성자를 사용하여 장치의 마이크를 통해 음성이 입력될 때, 이를 감지하는 데 사용할 수 있는 여러 이벤트 핸들러가 있는 새SpeechRecognition
(en-US) 객체를 생성합니다.SpeechGrammar
(en-US) 인터페이스는 앱이 인식해야 하는 특정 문법 집합을 위한 컨테이너를 나타냅니다. 문법은 JSpeech 문법 형식(JSGF)을 사용하여 정의됩니다. - 음성 합성은 프로그램이 (일반적으로 장치의 기본 음성 합성기를 통해) 텍스트 콘텐츠를 읽을 수 있게 해주는 텍스트 음성 변환 컴포넌트인
SpeechSynthesis
(en-US) 인터페이스를 통해 접근합니다. 다양한 음성 유형은SpeechSynthesisVoice
(en-US) 객체로 표현되고, 말하고자 하는 텍스트의 다른 부분은SpeechSynthesisUtterance
(en-US) 객체로 표현됩니다. 이러한 객체를SpeechSynthesis.speak()
(en-US) 메서드에 전달하여 음성을 가져올 수 있습니다.
이러한 기능 사용에 대한 자세한 내용은 Web Speech API 사용하기 (en-US) 문서를 참조하세요.
Web Speech API 인터페이스
음성 인식(Speech recognition)
SpeechRecognition
(en-US)-
인식 서비스를 위한 컨트롤러 인터페이스로, 인식 서비스에서 전송된
SpeechRecognitionEvent
(en-US)도 처리합니다. SpeechRecognitionAlternative
(en-US)-
음성 인식 서비스에서 인식한 단일 단어를 나타냅니다.
SpeechRecognitionErrorEvent
(en-US)-
인식 서비스의 오류 메시지를 표시합니다.
SpeechRecognitionEvent
(en-US)-
result
(en-US) 및nomatch
(en-US) 이벤트에 대한 이벤트 객체로, 중간 또는 최종 음성 인식 결과와 관련된 모든 데이터를 포함합니다. SpeechGrammar
(en-US)-
인식 서비스에서 인식하기를 원하는 단어 또는 단어 패턴입니다.
SpeechGrammarList
(en-US)-
SpeechGrammar
(en-US) 객체 목록을 나타냅니다. SpeechRecognitionResult
(en-US)-
단일 인식 일치를 나타내며, 여러 개의
SpeechRecognitionAlternative
(en-US) 객체를 포함할 수 있습니다. SpeechRecognitionResultList
(en-US)-
continuous
(en-US) 모드에서 결과를 캡처하는 경우,SpeechRecognitionResult
(en-US) 객체 목록 또는 단일 객체를 나타냅니다.
음성 합성(Speech synthesis)
SpeechSynthesis
(en-US)-
음성 서비스를 위한 컨트롤러 인터페이스로, 기기에서 사용할 수 있는 합성 음성에 대한 정보를 검색하고, 음성을 시작 및 일시 중지하고, 기타 명령을 내리는 데 사용할 수 있습니다.
SpeechSynthesisErrorEvent
(en-US)-
음성 서비스에서
SpeechSynthesisUtterance
(en-US) 객체를 처리하는 동안 발생하는 오류에 대한 정보가 들어있습니다. SpeechSynthesisEvent
(en-US)-
음성 서비스에서 처리된
SpeechSynthesisUtterance
(en-US) 객체의 현재 상태에 대한 정보가 들어 있습니다. SpeechSynthesisUtterance
(en-US)-
음성 요청을 나타냅니다. 여기에는 음성 서비스가 읽어야 하는 콘텐츠와 읽기 방법에 대한 정보(e.g. 언어, 높낮이, 음량 등)가 포함됩니다.
SpeechSynthesisVoice
(en-US)-
시스템이 지원하는 음성을 나타냅니다. 모든
SpeechSynthesisVoice
에는 언어, 이름 및 URI에 대한 정보를 포함한 고유한 상대 음성 서비스가 있습니다. Window.speechSynthesis
(en-US)-
SpeechSynthesisGetter
라는[NoInterfaceObject]
인터페이스의 일부로 지정되고Window
객체에 의해 구현되는speechSynthesis
속성은 음성 합성 컨트롤러에 대한 접근을 제공하므로 음성 합성 기능의 진입점이 됩니다.
에러
Speech API에는 보고되는 오류(예를 들면, "language-not-supported"
및 "language-unavailable"
)에 대한 자세한 대용은 다음 문서를 참조하세요.
예제
Github의 Web Speech API 예제에는 음성 인식 및 합성을 설명하는 데모가 포함되어 있습니다.
명세서
Specification |
---|
Web Speech API # speechreco-section |
Web Speech API # tts-section |
브라우저 호환성
api.SpeechRecognition
BCD tables only load in the browser
api.SpeechSynthesis
BCD tables only load in the browser