메인 콘텐츠로 건너뛰기

A 이벤트 패킷

인식 처리가 완료되고 인식 결과가 수용되었을 때 서버에서 클라이언트로 전송됩니다.

형식

타입 JSON

A <result>

<result>에는 다음과 같은 JSON이 포함되어 있습니다.

설명
results"발화 구간의 인식 결과" 배열 ※배열 형식이지만 요소 수는 항상 1개입니다.
confidence신뢰도(0 ~ 1의 값. 0: 신뢰도 낮음, 1: 신뢰도 높음)
starttime발화 시작 시간 (음성 데이터의 시작이 0)
endtime발화 종료 시간 (음성 데이터의 시작이 0)
tags미사용(빈 배열)
rulename미사용(빈 문자열)
text인식 결과 텍스트
tokens인식 결과 텍스트의 형태소 배열
written형태소(단어)의 표기
confidence형태소의 신뢰도(인식 결과의 우도)
starttime형태소의 시작 시간 (음성 데이터의 시작이 0)
endtime형태소의 종료 시간(음성 데이터의 시작이 0)
spoken형태소의 읽기 *3
utteranceid인식 결과 정보 ID *1
text"발화 구간의 인식 결과"의 모든 것을 결합한 전체 인식 결과 텍스트. *2
code결과를 나타내는 1문자 코드. 응답 코드와 메시지를 참조하십시오. *2
message오류 내용을 나타내는 문자열. 응답 코드와 메시지를 참조하십시오. *2

*1

인식 결과 정보 ID는 WebSocket 음성 인식 프로토콜의 경우 발화 구간별 인식 결과 정보에 부여된 ID가 됩니다. HTTP 음성 인식 프로토콜의 경우 1 세션에서 업로드된 (여러 발화 구간을 포함할 수 있는) 음성 데이터 전체의 인식 결과 정보에 부여된 ID가 됩니다.

*2

인식 성공 시는

body.code == "" 및  body.message == "" 및  body.text != ""

인식 실패 시는

body.code != "" 및  body.message != "" 및  body.text == ""

이 됩니다.

*3

일본어 엔진의 인식 결과의 spoken은 히라가나입니다. 영어 엔진의 인식 결과의 spoken은 읽기가 아닙니다(무시해 주십시오). 중국어 엔진의 인식 결과의 spoken은 병음(pinyin)입니다.

JSON에 포함되는 code와 message의 목록

codemessage설명
"+""received unsupported audio format"지원되지 않는 음성 데이터 형식의 음성 데이터를 수신
"-""received illegal service authorization"부적절한 APPKEY(서비스 인증 키 문자열)을 수신
"!""failed to connect to recognizer server"음성 인식 서버 내에서 통신 실패(DSRM 또는 DSRS 연결 실패)
">""failed to send audio data to recognizer server"음성 인식 서버 내에서 통신 실패(DSRS로 음성 데이터 전송 실패)
"<""failed to receive recognition result from recognizer server"음성 인식 서버 내에서 통신 실패(DSRS로부터 인식 결과 수신 실패)
"#""received invalid recognition result from recognizer server"음성 인식 서버 내에서 통신 실패(DSRS에서 수신한 인식 결과의 형식이 잘못됨)
"$""timeout occurred while receiving audio data from client"클라이언트로부터 음성 데이터 수신 중 무통신 타임아웃 발생
"%""received too large audio data from client"클라이언트로부터 수신한 음성 데이터 바이트 수가 너무 큼(WebSocket 인터페이스에서는 발생하지 않음)
"o""recognition result is rejected because confidence is below the threshold"인식 결과 전체의 신뢰도가 신뢰도 임계값을 하회하여 인식 실패 ※ 수신한 음성 데이터 전체에서 발화가 1개도 검출되지 않아 인식 결과를 반환할 수 없는 경우에도 이 오류가 반환됩니다. 발화 검출에 실패하는 원인으로는 음성 데이터의 손실이나 음성 데이터 형식의 지정 오류가 고려됩니다.
"b""recognition result is rejected because recognizer server is busy"음성 인식 서버가 혼잡하여 인식 실패
"x""recognition result is rejected because grammar files are not loaded"사전이 로드되지 않아 인식 실패
"c""recognition result is rejected because the recognition process is cancelled"인식 처리 중단 요청으로 인해 인식 실패
"t""recognition result is rejected because timeout occurred during recognition process"인식 처리가 타임아웃되는 등 인식 처리가 중단되어 인식 실패
"?""recognition result is rejected because fatal error occurred in recognizer server"음성 인식 서버에서 인식 중 치명적인 오류가 발생하여 인식 실패
"s""recognition result is rejected because recognition process was not started before timeout occurred"클라이언트로부터 수신한 음성 데이터가 음성 데이터 큐에 들어간 후 일정 시간 내에 인식 처리가 시작되지 않아 인식 실패
"e""recognition result is rejected because recognition process was not finished before timeout occurred"클라이언트로부터 수신한 음성 데이터가 음성 데이터 큐에 들어간 후 일정 시간 내에 인식 처리가 완료되지 않아 인식 실패
""""인식 성공

응답 예시

{
"results": [
{
"tokens": [
{
"written": "www",
"confidence": 1.0,
"starttime": 16020,
"endtime": 16916,
"spoken": "\u3068\u308a\u3077\u308b\u3060\u3076\u308b"
}
],
"confidence": 0.997,
"starttime": 15700,
"endtime": 17188,
"tags": [],
"rulename": "",
"text": "www"
}
],
"utteranceid": "20191127/ja_ja-amivoicecloud-16k-user@016ead249db00a3011a68536-1127_225504",
"text": "www",
"code": "",
"message": ""
}