색인
EmbeddedAssistant
(인터페이스)AudioInConfig
(메시지)AudioInConfig.Encoding
(열거형)AudioOut
(메시지)AudioOutConfig
(메시지)AudioOutConfig.Encoding
(열거형)ConverseConfig
(메시지)ConverseRequest
(메시지)ConverseResponse
(메시지)ConverseResponse.EventType
(열거형)ConverseResult
(메시지)ConverseResult.MicrophoneMode
(열거형)ConverseState
(메시지)
EmbeddedAssistant
Google Assistant API를 구현하는 서비스
Converse | |
---|---|
삽입된 어시스턴트 서비스와 대화를 시작하거나 계속합니다. 각 호출은 1회 왕복을 수행하여 서비스에 오디오 요청을 보내고 오디오 응답을 받습니다. 오디오를 전송하는 동안 양방향 스트리밍을 사용하여 대화는 하나 이상의 gRPC 연결이며, 각각 여러 스트리밍 요청 및 응답으로 구성됩니다. 예를 들어 사용자가 내 쇼핑 목록에 추가라고 말하면 어시스턴트가 무엇을 추가하고 싶으신가요?라고 응답합니다. 첫 번째 gRPC 메시지의 스트리밍된 요청 및 응답 순서는 다음과 같습니다.
사용자가 베이글이라고 말하면 어시스턴트가 네, 쇼핑 목록에 베이글을 추가했습니다라고 응답합니다. 이는 또 다른 gRPC 연결 호출로
응답의 정확한 순서가 보장되지는 않지만, 순차적 ConverseResponse.audio_out 메시지에는 항상 오디오의 순차적 부분이 포함됩니다.
|
AudioInConfig
후속 요청에 제공될 audio_in
데이터를 처리하는 방법을 지정합니다. 권장 설정은 Google Assistant gRPC API 권장사항을 참고하세요.
필드 | |
---|---|
encoding |
필수 모든 |
sample_rate_hertz |
필수 모든 |
인코딩
음성 메시지에서 전송된 데이터의 오디오 인코딩입니다. 오디오는 1채널 (모노)이어야 합니다. 지원되는 언어는 'en-US'입니다.
열거형 | |
---|---|
ENCODING_UNSPECIFIED |
지정되지 않음 결과 google.rpc.Code.INVALID_ARGUMENT 을 반환합니다. |
LINEAR16 |
압축되지 않은 16비트 부호 Little Endian 샘플(리니어 PCM)입니다. 이 인코딩에는 헤더가 없고 원시 오디오 바이트만 포함됩니다. |
FLAC |
FLAC (무료 무손실 오디오 코덱)은 손실이 발생하지 않아 인식 성능이 저하되지 않고 필요한 대역폭이 LINEAR16 의 약 절반에 불과하므로 권장되는 인코딩입니다. 이 인코딩에는 FLAC 스트림 헤더 다음에 오디오 데이터가 포함됩니다. 16비트와 24비트 샘플을 지원하지만 STREAMINFO 의 모든 필드가 지원되지는 않습니다. |
AudioOut
쿼리에 대한 어시스턴트의 응답이 포함된 오디오입니다. 오디오 데이터의 순차적인 청크가 순차적 ConverseResponse
메시지로 수신됩니다.
필드 | |
---|---|
audio_data |
출력 전용: 쿼리에 대한 어시스턴트의 응답이 포함된 오디오 데이터입니다. 오디오 데이터의 순차적인 청크가 순차적 |
AudioOutConfig
서버가 audio_out
메시지를 반환할 때 사용할 원하는 서버 형식을 지정합니다.
필드 | |
---|---|
encoding |
필수 모든 |
sample_rate_hertz |
필수 |
volume_percentage |
필수 기기 오디오 출력의 현재 볼륨 설정입니다. 유효한 값은 1~100입니다 (1~100%에 해당). |
인코딩
오디오 메시지에서 반환된 데이터의 오디오 인코딩입니다. 아래 명시된 경우를 제외하고 모든 인코딩은 헤더가 없는 원시 오디오 바이트입니다.
열거형 | |
---|---|
ENCODING_UNSPECIFIED |
지정되지 않음 결과 google.rpc.Code.INVALID_ARGUMENT 을 반환합니다. |
LINEAR16 |
압축되지 않은 16비트 부호 Little Endian 샘플(리니어 PCM)입니다. |
MP3 |
MP3 오디오 인코딩입니다. 샘플링 레이트는 페이로드에 인코딩됩니다. |
OPUS_IN_OGG |
ogg 컨테이너에 래핑된 Opus 인코딩 오디오입니다. 이렇게 하면 기본적으로 Android 및 Chrome과 같은 일부 브라우저에서 재생할 수 있는 파일이 생성됩니다. 동일한 비트 전송률을 사용하지만 인코딩 품질은 MP3보다 상당히 높습니다. 샘플링 레이트는 페이로드에 인코딩됩니다. |
ConverseConfig
ConverseRequest
메시지를 처리하는 방법을 지정합니다.
필드 | |
---|---|
audio_in_config |
필수 후속 수신 오디오를 처리하는 방법을 지정합니다. |
audio_out_config |
필수: 반환될 오디오의 형식을 지정하는 방법을 지정합니다. |
converse_state |
필수: 현재 대화상자 상태를 나타냅니다. |
ConverseRequest
클라이언트에서 보낸 최상위 메시지입니다. 클라이언트는 일반적으로 ConverseRequest
메시지를 2개 이상 보내야 합니다. 첫 번째 메시지는 config
메시지를 포함해야 하며 audio_in
데이터를 포함해서는 안 됩니다. 이후의 모든 메시지는 audio_in
데이터를 포함해야 하며 config
메시지를 포함해서는 안 됩니다.
필드 | ||
---|---|---|
통합 필드 converse_request . 각 ConverseRequest 에는 이러한 필드 중 하나만 지정해야 합니다. converse_request 은 다음 중 하나여야 합니다. |
||
config |
|
|
audio_in |
인식할 오디오 데이터입니다. 오디오 데이터의 순차적인 청크가 순차적 |
ConverseResponse
클라이언트가 수신한 최상위 메시지입니다. 하나 이상의 ConverseResponse
메시지가 클라이언트로 다시 스트리밍됩니다.
필드 | ||
---|---|---|
통합 필드 converse_response . 이러한 필드 중 정확히 하나가 각 ConverseResponse 에 채워집니다. converse_response 은 다음 중 하나여야 합니다. |
||
error |
출력 전용 이 옵션을 설정하면 작업의 오류를 지정하는 |
|
event_type |
출력 전용: 이벤트 유형을 나타냅니다. |
|
audio_out |
출력 전용: 쿼리에 대한 어시스턴트의 응답이 포함된 오디오입니다. |
|
result |
출력 전용 사용자의 음성 검색어에 대한 시맨틱 결과입니다. |
EventType
이벤트 유형을 나타냅니다.
열거형 | |
---|---|
EVENT_TYPE_UNSPECIFIED |
지정된 이벤트가 없습니다. |
END_OF_UTTERANCE |
이 이벤트는 서버가 사용자 발화의 끝을 감지했으며 추가 발언을 기대하지 않음을 나타냅니다. 따라서 서버는 추가 오디오를 처리하지 않습니다. 하지만 나중에 추가 결과가 반환될 수 있습니다. 클라이언트는 추가 오디오 데이터 전송을 중단하고 gRPC 연결을 반쯤 닫은 후 서버가 gRPC 연결을 닫을 때까지 추가 결과를 기다려야 합니다. |
ConverseResult
사용자 음성 검색어에 대한 시맨틱 결과입니다.
필드 | |
---|---|
spoken_request_text |
출력 전용 사용자가 말한 내용에 대해 인식된 스크립트입니다. |
spoken_response_text |
출력 전용 어시스턴트의 음성 응답 텍스트입니다. IFTTT 작업의 경우에만 반환됩니다. |
conversation_state |
출력 전용 후속 |
microphone_mode |
출력 전용 이 |
volume_percentage |
출력 전용 볼륨 수준을 업데이트했습니다. "볼륨 높여 줘" 또는 "볼륨 4로 설정해 줘"와 같은 음성 명령이 인식되지 않는 한 이 값은 0이거나 생략 (변경되지 않음을 나타냄)합니다. 이 경우 값은 1에서 100 사이가 됩니다 (1% 에서 100%로 새롭게 확대되는 볼륨 수준에 해당). 일반적으로 클라이언트는 |
MicrophoneMode
Converse
RPC가 완료된 후 가능한 마이크 상태입니다.
열거형 | |
---|---|
MICROPHONE_MODE_UNSPECIFIED |
지정된 모드가 없습니다. |
CLOSE_MICROPHONE |
서비스는 사용자의 후속 질문을 기대하지 않습니다. 사용자가 마이크를 다시 활성화할 때까지 마이크가 꺼진 상태를 유지해야 합니다. |
DIALOG_FOLLOW_ON |
서비스에서 사용자의 후속 질문을 예상합니다. AudioOut 재생이 완료되면 (새 오디오를 전송하는 새로운 Converse RPC 호출을 시작하여) 마이크를 다시 열어야 합니다. |
ConverseState
현재 대화상자 상태에 관한 정보를 제공합니다.
필드 | |
---|---|
conversation_state |
필수 이전 |