Indice
EmbeddedAssistant
(interfaccia)AudioInConfig
(messaggio)AudioInConfig.Encoding
(enum)AudioOut
(messaggio)AudioOutConfig
(messaggio)AudioOutConfig.Encoding
(enum)ConverseConfig
(messaggio)ConverseRequest
(messaggio)ConverseResponse
(messaggio)ConverseResponse.EventType
(enum)ConverseResult
(messaggio)ConverseResult.MicrophoneMode
(enum)ConverseState
(messaggio)
EmbeddedAssistant
Servizio che implementa l'API Google Assistant.
Converse | |
---|---|
Avvia o continua una conversazione con il servizio di assistente incorporato. Ogni chiamata esegue un round trip, inviando una richiesta audio al servizio e ricevendo la risposta audio. Utilizza lo streaming bidirezionale per ricevere risultati, ad esempio l'evento Una conversazione consiste in una o più connessioni gRPC, ciascuna composta da diverse richieste e risposte in modalità flusso. Ad esempio, l'utente dice Aggiungi alla mia lista della spesa e l'assistente risponde Cosa vuoi aggiungere?. La sequenza di richieste e risposte in modalità flusso nel primo messaggio gRPC potrebbe essere:
L'utente dice poi bagel e l'assistente risponde Ok, ho aggiunto i bagel alla tua lista della spesa. Viene inviata come un'altra chiamata di connessione gRPC al metodo
Sebbene l'ordine esatto delle risposte non sia garantito, i messaggi ConverseResponse.audio_out sequenziali conterranno sempre parti sequenziali di audio.
|
AudioInConfig
Specifica come elaborare i dati di audio_in
che verranno forniti nelle richieste successive. Per le impostazioni consigliate, consulta le best practice relative all'API gRPC dell'Assistente Google.
Campi | |
---|---|
encoding |
Obbligatorio Codifica dei dati audio inviati in tutti i messaggi |
sample_rate_hertz |
Obbligatorio Frequenza di campionamento (in Hertz) dei dati audio inviati in tutti i messaggi |
Codifica
Codifica audio dei dati inviati nel messaggio audio. L'audio deve essere monocanale (mono). L'unica lingua supportata è "en-US".
Enum | |
---|---|
ENCODING_UNSPECIFIED |
Non specificato. Verrà restituito il risultato google.rpc.Code.INVALID_ARGUMENT . |
LINEAR16 |
Campioni L-endian firmati a 16 bit non compressi (PCM lineare). Questa codifica non include intestazioni, ma solo byte audio non elaborati. |
FLAC |
FLAC (Free Lossless Audio Codec) è la codifica consigliata perché è senza perdita di dati, pertanto il riconoscimento non è compromesso, e richiede solo circa la metà della larghezza di banda di LINEAR16 . Questa codifica include l'intestazione stream FLAC seguita dai dati audio. Supporta campioni a 16 e 24 bit, ma non tutti i campi in STREAMINFO sono supportati. |
AudioOut
L'audio contenente la risposta dell'assistente alla query. I blocchi sequenziali di dati audio vengono ricevuti in messaggi ConverseResponse
sequenziali.
Campi | |
---|---|
audio_data |
Solo output I dati audio contenenti la risposta dell'assistente alla query. I blocchi sequenziali di dati audio vengono ricevuti in messaggi |
AudioOutConfig
Specifica il formato che il server deve utilizzare per la restituzione dei messaggi audio_out
.
Campi | |
---|---|
encoding |
Obbligatorio La codifica dei dati audio da restituire in tutti i messaggi |
sample_rate_hertz |
Obbligatorio La frequenza di campionamento in Hertz dei dati audio restituiti nei messaggi |
volume_percentage |
Obbligatorio Impostazione del volume attuale dell'uscita audio del dispositivo. I valori validi sono compresi tra 1 e 100 (corrispondenti all'1%-100%). |
Codifica
Codifica audio dei dati restituiti nel messaggio audio. Tutte le codifiche sono byte audio non elaborati senza intestazione, ad eccezione di quanto indicato di seguito.
Enum | |
---|---|
ENCODING_UNSPECIFIED |
Non specificato. Verrà restituito il risultato google.rpc.Code.INVALID_ARGUMENT . |
LINEAR16 |
Campioni L-endian firmati a 16 bit non compressi (PCM lineare). |
MP3 |
Codifica audio MP3. La frequenza di campionamento è codificata nel payload. |
OPUS_IN_OGG |
Audio con codifica Opus racchiuso in un container ogg. Il risultato sarà un file che può essere riprodotto in modo nativo su Android e in alcuni browser (come Chrome). La qualità della codifica è notevolmente superiore a quella del formato MP3, pur utilizzando la stessa velocità in bit. La frequenza di campionamento è codificata nel payload. |
ConverseConfig
Specifica come elaborare i messaggi ConverseRequest
.
Campi | |
---|---|
audio_in_config |
Obbligatorio Specifica come elaborare il successivo audio in arrivo. |
audio_out_config |
Obbligatorio Specifica la formattazione dell'audio che verrà restituito. |
converse_state |
Obbligatorio Rappresenta lo stato corrente della finestra di dialogo. |
ConverseRequest
Il messaggio di primo livello inviato dal client. I client devono inviare almeno due messaggi ConverseRequest
, di solito numerosi. Il primo messaggio deve contenere un messaggio config
e non deve contenere dati audio_in
. Tutti i messaggi successivi devono contenere i dati audio_in
e non un messaggio config
.
Campi | ||
---|---|---|
Campo di unione converse_request . È necessario specificare esattamente uno di questi campi in ogni ConverseRequest . converse_request può essere solo uno dei seguenti: |
||
config |
Il messaggio |
|
audio_in |
I dati audio da riconoscere. Pezzi sequenziali di dati audio vengono inviati in messaggi |
ConverseResponse
Il messaggio di primo livello ricevuto dal client. Una serie di uno o più messaggi ConverseResponse
viene riprodotta in streaming al client.
Campi | ||
---|---|---|
Campo di unione converse_response . Esattamente uno di questi campi verrà completato in ogni ConverseResponse . converse_response può essere solo uno dei seguenti: |
||
error |
Output-only Se impostato, restituisce un messaggio |
|
event_type |
Solo output Indica il tipo di evento. |
|
audio_out |
Solo output: l'audio contenente la risposta dell'assistente alla query. |
|
result |
Solo output Il risultato semantico della query pronunciata dall'utente. |
EventType
Indica il tipo di evento.
Enum | |
---|---|
EVENT_TYPE_UNSPECIFIED |
Nessun evento specificato. |
END_OF_UTTERANCE |
Questo evento indica che il server ha rilevato la fine dell'espressione vocale dell'utente e non prevede comandi vocali aggiuntivi. Di conseguenza, il server non elaborerà audio aggiuntivo (anche se in seguito potrebbe restituire risultati aggiuntivi). Il client dovrebbe interrompere l'invio di dati audio aggiuntivi, chiudere a metà la connessione gRPC e attendere eventuali risultati aggiuntivi finché il server non chiude la connessione gRPC. |
ConverseResult
Il risultato semantico della query pronunciata dall'utente.
Campi | |
---|---|
spoken_request_text |
Solo output La trascrizione riconosciuta di ciò che ha detto l'utente. |
spoken_response_text |
Solo output Il testo della risposta vocale dell'assistente. Questo viene restituito solo per un'azione IFTTT. |
conversation_state |
Solo output Informazioni sullo stato per i |
microphone_mode |
Output-only Specifica la modalità del microfono dopo l'elaborazione di questa |
volume_percentage |
Solo output Livello del volume aggiornato. Il valore sarà 0 o omesso (che non indica alcuna modifica) a meno che non venga riconosciuto un comando vocale come "Alza il volume" o "Imposta il livello del volume 4", nel qual caso il valore sarà compreso tra 1 e 100 (corrispondente al nuovo livello del volume dall'1% al 100%). In genere, un client dovrebbe utilizzare questo livello di volume durante la riproduzione dei dati |
MicrophoneMode
Possibili stati del microfono dopo il completamento di una RPC Converse
.
Enum | |
---|---|
MICROPHONE_MODE_UNSPECIFIED |
Nessuna modalità specificata. |
CLOSE_MICROPHONE |
Il servizio non si aspetta una domanda successiva da parte dell'utente. Il microfono dovrebbe rimanere disattivato finché l'utente non lo riattiva. |
DIALOG_FOLLOW_ON |
Il servizio attende una domanda successiva da parte dell'utente. Il microfono dovrebbe essere riaperto al termine della riproduzione AudioOut (avviando una nuova chiamata RPC Converse per inviare il nuovo audio). |
ConverseState
Fornisce informazioni sullo stato attuale della finestra di dialogo.
Campi | |
---|---|
conversation_state |
Obbligatorio Il valore |