Method: speech.recognize

동기 음성 인식을 수행합니다. 모든 오디오가 전송되고 처리된 후 결과를 수신합니다.

HTTP 요청

POST https://speech.googleapis.com/v1p1beta1/speech:recognize

URL은 gRPC 트랜스코딩 구문을 사용합니다.

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

JSON 표현
{
  "config": {
    object (RecognitionConfig)
  },
  "audio": {
    object (RecognitionAudio)
  }
}
필드
config

object (RecognitionConfig)

필수 항목입니다. 인식기에 요청 처리 방식을 지정하는 정보를 제공합니다.

audio

object (RecognitionAudio)

필수 항목입니다. 인식할 오디오 데이터입니다.

응답 본문

speech.recognize 메서드에서 클라이언트에 반환되는 유일한 메시지입니다. 결과가 0개 이상의 순차적 SpeechRecognitionResult 메시지로 포함됩니다.

성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.

JSON 표현
{
  "results": [
    {
      object (SpeechRecognitionResult)
    }
  ],
  "totalBilledTime": string,
  "speechAdaptationInfo": {
    object (SpeechAdaptationInfo)
  },
  "requestId": string,
  "usingLegacyModels": boolean
}
필드
results[]

object (SpeechRecognitionResult)

오디오의 순차적 부분에 해당하는 텍스트 변환 결과의 순차적 목록입니다.

totalBilledTime

string (Duration format)

가능한 경우 해당 요청에서 요금이 청구되는 오디오 초입니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

speechAdaptationInfo

object (SpeechAdaptationInfo)

대답의 적응 동작에 관한 정보를 제공합니다.

requestId

string (int64 format)

요청과 연결된 ID입니다. 지정된 요청에만 해당하는 고유 ID입니다.

usingLegacyModels

boolean

요청에서 기존 ASR 모델을 사용했는지 여부입니다 (컨포머 모델을 사용하도록 자동으로 이전되지 않음).

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 Authentication Overview를 참조하세요.

SpeechRecognitionResult

오디오의 일부분에 해당되는 음성 인식 결과입니다.

JSON 표현
{
  "alternatives": [
    {
      object (SpeechRecognitionAlternative)
    }
  ],
  "channelTag": integer,
  "resultEndTime": string,
  "languageCode": string
}
필드
alternatives[]

object (SpeechRecognitionAlternative)

하나 이상의 인식 가설 (maxAlternatives에 지정된 최대값까지)이 포함될 수 있습니다. 이러한 대안은 인식기에서 지정한 정확성 순위에 따라 정렬되며 최상위 (첫 번째) 대안이 가장 가능성이 높습니다.

channelTag

integer

다중 채널 오디오의 경우 해당 채널의 오디오를 인식한 결과에 해당하는 채널 번호입니다. audioChannelCount = N이라면 출력 값의 범위는 '1'~'N'입니다.

resultEndTime

string (Duration format)

오디오 시작을 기준으로 이 결과가 끝나는 시점의 시간 오프셋입니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

languageCode

string

출력 전용입니다. 이 결과에서 언어의 BCP-47 언어 태그입니다. 오디오에서 사용되었을 가능성이 가장 높은 것으로 감지된 언어 코드입니다.

SpeechRecognitionAlternative

대체 가설로서 n-best 목록이라고도 합니다.

JSON 표현
{
  "transcript": string,
  "confidence": number,
  "words": [
    {
      object (WordInfo)
    }
  ]
}
필드
transcript

string

사용자가 말한 단어를 나타내는 스크립트 텍스트입니다. 공백을 사용하여 단어를 구분하는 언어의 경우 첫 번째 결과가 아니면 스크립트에 선행 공백이 있을 수 있습니다. 구분 기호를 사용하지 않고 각 결과를 연결하여 전체 스크립트를 얻을 수 있습니다.

confidence

number

신뢰도 추정치로서 0.0에서 1.0 사이입니다. 숫자가 클수록 인식된 단어가 정확할 가능성이 높아집니다. 이 필드는 비 스트리밍 결과의 최상위 대안 또는 isFinal=true인 스트리밍 결과의 최상위 대안에 대해서만 설정됩니다. 이 필드는 정확성이 보장되지 않으며 경우에 따라서는 제공되지 않을 수도 있습니다. 기본값 0.0은 confidence가 설정되지 않았음을 나타내는 센티널 값입니다.

words[]

object (WordInfo)

인식된 각 단어의 단어별 정보 목록입니다. 참고: enableSpeakerDiarization가 true이면 오디오의 시작 부분부터 모든 단어가 표시됩니다.

WordInfo

인식된 단어의 단어별 정보입니다.

JSON 표현
{
  "startTime": string,
  "endTime": string,
  "word": string,
  "confidence": number,
  "speakerTag": integer,
  "speakerLabel": string
}
필드
startTime

string (Duration format)

오디오 시작을 기준으로 발화 시작 시점의 시간 오프셋입니다. 이 필드는 enableWordTimeOffsets=true인 경우에만 설정되며 최상위 가설에만 설정됩니다. 시험용 기능이며 시간 오프셋의 정확성은 일정하지 않을 수 있습니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

endTime

string (Duration format)

오디오 시작을 기준으로 발화 끝 시점의 시간 오프셋입니다. 이 필드는 enableWordTimeOffsets=true인 경우에만 설정되며 최상위 가설에만 설정됩니다. 시험용 기능이며 시간 오프셋의 정확성은 일정하지 않을 수 있습니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

word

string

이 정보 세트에 해당하는 단어입니다.

confidence

number

신뢰도 추정치로서 0.0에서 1.0 사이입니다. 숫자가 클수록 인식된 단어가 정확할 가능성이 높아집니다. 이 필드는 비 스트리밍 결과의 최상위 대안 또는 isFinal=true인 스트리밍 결과의 최상위 대안에 대해서만 설정됩니다. 이 필드는 정확성이 보장되지 않으며 경우에 따라서는 제공되지 않을 수도 있습니다. 기본값 0.0은 confidence가 설정되지 않았음을 나타내는 센티널 값입니다.

speakerTag
(deprecated)

integer

출력 전용입니다. 오디오 내의 모든 화자에 고유한 정수 값이 할당됩니다. 이 필드는 화자 중 이 단어를 말한 것으로 감지된 화자를 지정합니다. 값의 범위는 '1'~diarizationSpeakerCount입니다. speakerTag는 enableSpeakerDiarization = 'true'인 경우에만 설정되며 최상위 대안에만 설정됩니다. 참고: 대신 speakerLabel을 사용하세요.

speakerLabel

string

출력 전용입니다. 오디오 내 모든 고유한 화자에게 할당된 라벨 값입니다. 이 필드는 이 단어를 말한 것으로 감지된 화자를 지정합니다. medical_conversation과 같은 일부 모델의 경우 실제 화자 역할(예: '환자' 또는 '의료인')일 수 있지만 일반적으로 화자를 식별하는 숫자입니다. 이 필드는 enableSpeakerDiarization = 'true'인 경우에만 설정되며 최상위 대안에만 설정됩니다.

SpeechAdaptationInfo

결과에서 음성 적응 사용에 관한 정보

JSON 표현
{
  "adaptationTimeout": boolean,
  "timeoutMessage": string
}
필드
adaptationTimeout

boolean

음성 적응을 적용할 때 시간 초과가 발생했는지 여부입니다. true인 경우 적응이 응답 스크립트에 영향을 주지 않았습니다.

timeoutMessage

string

설정된 경우 음성 적응 요청 중 시간 초과된 부분을 지정하는 메시지를 반환합니다.