Web Speech API

Web Speech API를 사용하면 음성 데이터를 웹 앱에 통합할 수 있습니다. Web Speech API는 두 부분으로 구성됩니다. SpeechSynthesis (텍스트 음성 변환) 및 SpeechRecognition (비동기 음성 인식)입니다.

Web Speech API의 개념과 사용법

Web Speech API를 사용하면 웹 앱에서 음성 데이터를 처리할 수 있습니다. 이 API에는 두 가지 구성 요소가 있습니다.

  • 음성인식은 음성 입력(일반적으로 장치의 기본 음성 인식 서비스를 통해)에서 음성 맥락을 인식하고 적절하게 응답하는 기능을 제공하는 SpeechRecognition 인터페이스를 통해 접근합니다. 일반적으로 인터페이스의 생성자를 사용하여 장치의 마이크를 통해 음성이 입력될 때, 이를 감지하는 데 사용할 수 있는 여러 이벤트 핸들러가 있는 새 SpeechRecognition 객체를 생성합니다. SpeechGrammar 인터페이스는 앱이 인식해야 하는 특정 문법 집합을 위한 컨테이너를 나타냅니다. 문법은 JSpeech 문법 형식(JSGF)을 사용하여 정의됩니다.
  • 음성 합성은 프로그램이 (일반적으로 장치의 기본 음성 합성기를 통해) 텍스트 콘텐츠를 읽을 수 있게 해주는 텍스트 음성 변환 컴포넌트인 SpeechSynthesis 인터페이스를 통해 접근합니다. 다양한 음성 유형은 SpeechSynthesisVoice 객체로 표현되고, 말하고자 하는 텍스트의 다른 부분은 SpeechSynthesisUtterance 객체로 표현됩니다. 이러한 객체를 SpeechSynthesis.speak() 메서드에 전달하여 음성을 가져올 수 있습니다.

이러한 기능 사용에 대한 자세한 내용은 Web Speech API 사용하기 문서를 참조하세요.

Web Speech API 인터페이스

음성 인식(Speech recognition)

SpeechRecognition

인식 서비스를 위한 컨트롤러 인터페이스로, 인식 서비스에서 전송된 SpeechRecognitionEvent도 처리합니다.

SpeechRecognitionAlternative

음성 인식 서비스에서 인식한 단일 단어를 나타냅니다.

SpeechRecognitionErrorEvent

인식 서비스의 오류 메시지를 표시합니다.

SpeechRecognitionEvent

resultnomatch 이벤트에 대한 이벤트 객체로, 중간 또는 최종 음성 인식 결과와 관련된 모든 데이터를 포함합니다.

SpeechGrammar

인식 서비스에서 인식하기를 원하는 단어 또는 단어 패턴입니다.

SpeechGrammarList

SpeechGrammar 객체 목록을 나타냅니다.

SpeechRecognitionResult

단일 인식 일치를 나타내며, 여러 개의 SpeechRecognitionAlternative 객체를 포함할 수 있습니다.

SpeechRecognitionResultList

continuous 모드에서 결과를 캡처하는 경우, SpeechRecognitionResult 객체 목록 또는 단일 객체를 나타냅니다.

음성 합성(Speech synthesis)

SpeechSynthesis

음성 서비스를 위한 컨트롤러 인터페이스로, 기기에서 사용할 수 있는 합성 음성에 대한 정보를 검색하고, 음성을 시작 및 일시 중지하고, 기타 명령을 내리는 데 사용할 수 있습니다.

SpeechSynthesisErrorEvent

음성 서비스에서 SpeechSynthesisUtterance 객체를 처리하는 동안 발생하는 오류에 대한 정보가 들어있습니다.

SpeechSynthesisEvent

음성 서비스에서 처리된 SpeechSynthesisUtterance 객체의 현재 상태에 대한 정보가 들어 있습니다.

SpeechSynthesisUtterance

음성 요청을 나타냅니다. 여기에는 음성 서비스가 읽어야 하는 콘텐츠와 읽기 방법에 대한 정보(e.g. 언어, 높낮이, 음량 등)가 포함됩니다.

SpeechSynthesisVoice

시스템이 지원하는 음성을 나타냅니다. 모든 SpeechSynthesisVoice에는 언어, 이름 및 URI에 대한 정보를 포함한 고유한 상대 음성 서비스가 있습니다.

Window.speechSynthesis

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

같이 보기