Índice
EmbeddedAssistant
(interface)AudioInConfig
(mensagem)AudioInConfig.Encoding
(enum)AudioOut
(mensagem)AudioOutConfig
(mensagem)AudioOutConfig.Encoding
(enum)ConverseConfig
(mensagem)ConverseRequest
(mensagem)ConverseResponse
(mensagem)ConverseResponse.EventType
(enum)ConverseResult
(mensagem)ConverseResult.MicrophoneMode
(enum)ConverseState
(mensagem)
Assistente incorporado
Serviço que implementa a API do Google Assistente.
Converse | |
---|---|
Inicia ou continua uma conversa com o serviço de assistente incorporado. Cada chamada executa uma ida e volta, enviando uma solicitação de áudio ao serviço e recebendo a resposta de áudio. Usa streaming bidirecional para receber resultados, como o evento Uma conversa é uma ou mais conexões gRPC, cada uma consistindo em várias solicitações e respostas transmitidas. Por exemplo, o usuário diz Adicionar à minha lista de compras, e o Assistente responde O que você quer adicionar?. A sequência de solicitações e respostas transmitidas na primeira mensagem gRPC pode ser:
O usuário diz bagels, e o assistente responde OK, eu adicionei bagels à sua lista de compras. Ele é enviado como outra chamada de conexão gRPC ao método
Embora a ordem precisa das respostas não seja garantida, as mensagens sequenciais ConverseResponse.audio_out sempre conterão partes de áudio em sequência.
|
AudioConfig
Especifica como processar os dados de audio_in
que serão fornecidos nas solicitações subsequentes. Para configurações recomendadas, consulte as práticas recomendadas da API gRPC do Google Assistente.
Campos | |
---|---|
encoding |
Obrigatório Codificação de dados de áudio enviados em todas as mensagens de |
sample_rate_hertz |
Obrigatório Taxa de amostragem (em Hertz) dos dados de áudio enviados em todas as mensagens de |
Codificação
Codificação de áudio dos dados enviados na mensagem de áudio. O áudio precisa ser de um canal (mono). O único idioma aceito é "en-US".
Enums | |
---|---|
ENCODING_UNSPECIFIED |
Não especificado. Retornará o resultado google.rpc.Code.INVALID_ARGUMENT . |
LINEAR16 |
Amostras pouco elaboradas de 16 bits sem compactação (PCM Linear). Essa codificação não inclui cabeçalho, apenas os bytes de áudio brutos. |
FLAC |
FLAC (Free Lossless Audio Codec) é a codificação recomendada porque não tem perdas. Portanto, o reconhecimento não é comprometido e requer apenas cerca de metade da largura de banda do LINEAR16 . Essa codificação inclui o cabeçalho de stream FLAC seguido por dados de áudio. Ele é compatível com amostras de 16 e 24 bits, mas nem todos os campos em STREAMINFO são compatíveis. |
Saída de áudio
O áudio que contém a resposta do assistente à consulta. Os blocos sequenciais de dados de áudio são recebidos em mensagens ConverseResponse
sequenciais.
Campos | |
---|---|
audio_data |
Somente saída Dados de áudio que contêm a resposta do assistente à consulta. Os blocos sequenciais de dados de áudio são recebidos em mensagens |
Configuração de áudio
Especifica o formato desejado para o servidor retornar mensagens audio_out
.
Campos | |
---|---|
encoding |
Obrigatório Codificação dos dados de áudio a serem retornados em todas as mensagens |
sample_rate_hertz |
Obrigatório A taxa de amostragem em hertz dos dados de áudio retornados em mensagens |
volume_percentage |
Obrigatório Configuração de volume atual da saída de áudio do dispositivo. Os valores válidos são de 1 a 100 (correspondente a 1% a 100%). |
Codificação
Codificação de áudio dos dados retornados na mensagem de áudio. Todas as codificações são bytes de áudio brutos sem cabeçalho, exceto conforme indicado abaixo.
Enums | |
---|---|
ENCODING_UNSPECIFIED |
Não especificado. Retornará o resultado google.rpc.Code.INVALID_ARGUMENT . |
LINEAR16 |
Amostras pouco elaboradas de 16 bits sem compactação (PCM Linear). |
MP3 |
Codificação de áudio em MP3. A taxa de amostragem é codificada na carga útil. |
OPUS_IN_OGG |
Áudio com codificação Opus encapsulado em um contêiner ogg. O resultado será um arquivo que pode ser reproduzido nativamente no Android e em alguns navegadores (como o Chrome). A qualidade da codificação é consideravelmente superior à do MP3 com a mesma taxa de bits. A taxa de amostragem é codificada na carga útil. |
ConverseConfig
Especifica como processar as mensagens ConverseRequest
.
Campos | |
---|---|
audio_in_config |
Obrigatório Especifica como processar o áudio de entrada subsequente. |
audio_out_config |
Obrigatório Especifica como formatar o áudio que será retornado. |
converse_state |
Obrigatório Representa o estado atual da caixa de diálogo. |
ConverseRequest
A mensagem de nível superior enviada pelo cliente. Os clientes precisam enviar pelo menos duas e, normalmente, várias mensagens ConverseRequest
. A primeira mensagem precisa conter uma mensagem config
e não pode conter dados audio_in
. Todas as mensagens subsequentes precisam conter dados audio_in
e não podem conter uma mensagem config
.
Campos | ||
---|---|---|
Campo de união converse_request . Exatamente um desses campos precisa ser especificado em cada ConverseRequest . converse_request pode ser apenas de um dos tipos a seguir: |
||
config |
A mensagem |
|
audio_in |
Dados de áudio a serem reconhecidos. Os blocos sequenciais de dados de áudio são enviados em mensagens |
Contraresposta
A mensagem de nível superior recebida pelo cliente. É feito streaming de uma ou mais mensagens ConverseResponse
de volta para o cliente.
Campos | ||
---|---|---|
Campo de união converse_response . Exatamente um desses campos será preenchido em cada ConverseResponse . converse_response pode ser apenas de um dos tipos a seguir: |
||
error |
Somente saída Se definido, retorna uma mensagem |
|
event_type |
Somente saída Indica o tipo de evento. |
|
audio_out |
Somente saída O áudio que contém a resposta do assistente à consulta. |
|
result |
Somente saída O resultado semântico da consulta de fala do usuário. |
EventType
Indica o tipo de evento.
Enums | |
---|---|
EVENT_TYPE_UNSPECIFIED |
Nenhum evento especificado. |
END_OF_UTTERANCE |
Esse evento indica que o servidor detectou o fim da fala do usuário e não espera nenhuma fala adicional. Portanto, o servidor não processará áudio adicional, ainda que possa retornar resultados adicionais posteriormente. O cliente deve parar de enviar dados de áudio adicionais, fechar a metade da conexão gRPC e aguardar quaisquer resultados adicionais até o servidor fechar a conexão gRPC. |
ConverseResult
O resultado semântico da consulta falada do usuário.
Campos | |
---|---|
spoken_request_text |
Somente saída A transcrição reconhecida do que o usuário disse. |
spoken_response_text |
Somente saída O texto da resposta falada do assistente. Isso só é retornado para uma ação IFTTT. |
conversation_state |
Somente saída Informações de estado para |
microphone_mode |
Somente saída Especifica o modo do microfone depois que essa RPC |
volume_percentage |
Somente saída Nível de volume atualizado. O valor será 0 ou omitido (sem indicação de alteração), a menos que um comando de voz como "Aumentar o volume" ou "Definir nível de volume 4" seja reconhecido. Nesse caso, o valor será entre 1 e 100 (correspondente ao novo nível de volume de 1% a 100%). Normalmente, um cliente precisa usar esse nível de volume ao reproduzir os dados |
Microfone
Possíveis estados do microfone após a conclusão de uma RPC Converse
.
Enums | |
---|---|
MICROPHONE_MODE_UNSPECIFIED |
Nenhum modo especificado. |
CLOSE_MICROPHONE |
O serviço não está esperando uma resposta do usuário. O microfone deve ficar desativado até que o usuário o reative. |
DIALOG_FOLLOW_ON |
O serviço espera receber uma pergunta do usuário. O microfone deve ser reaberto quando a reprodução de AudioOut for concluída (iniciando uma nova chamada de RPC Converse para enviar o novo áudio). |
ConverseState
Fornece informações sobre o estado atual da caixa de diálogo.
Campos | |
---|---|
conversation_state |
Obrigatório O valor |