Risoluzione dei problemi e domande frequenti sul dispositivo

Cambiare la lingua del riconoscimento

Riavvia i server con il language pack per la lingua scelta.

Log

Il programma binario di Speech-to-Text ha quattro modalità di logging:

  • debug: log dettagliati che possono essere utili per il debug del programma binario. Ad esempio, le risposte del server vengono registrate in questa modalità.
  • prod: l'impostazione di produzione consigliata. I log contengono informazioni su versione binaria/build, avvii sessione, fine sessione, avvisi ed errori.
  • warning: i log conterranno solo avvisi o errori.
  • error: i log conterranno solo errori.

Il logging può essere controllato con il flag --min_log_level e tutti i log sono scritti in stdout.

In caso di problemi, esegui il server Speech-to-Text con il logging di debug:

./speech_to_text_server --host_ip=${STT_IP?} --port=${STT_PORT?}\
  --language_pack=${LANGUAGE_PACK?} --min_log_level="debug" \
  --api_key=${API_KEY?}

All'avvio, i log binari

  • build ID un ID che associa il programma binario a una build.
  • Language Pack ID un ID del Language Pack caricato dal server.

Durante la trascrizione: il server registra il client fornito request ID. Al termine di una sessione, il server registra uno stato della sessione.

Il logging dovrebbe essere sufficiente per risolvere i problemi causati da un utilizzo non corretto. Può anche aiutarti a comprendere il comportamento del server. Ad esempio, il server non invierà risposte se non riconosce qualcosa nell'audio. Se l'audio è solo silenzioso o incomprensibile, non verrà inviata alcuna risposta.

Stato della sessione

Una sessione riuscita termina con lo stato OK.

... Closing StreamingRecognize ($request_id) with status OK

Una sessione non riuscita termina con uno stato non OK. Ad esempio, se inviamo una nuova richiesta di configurazione dopo quella iniziale.

... Closing StreamingRecognize ($request_id) with status INVALID_ARGUMENT: Malordered data received. Expected audio but received config. Send exactly one config, followed by audio data.

Registrazioni

Il server ASR supporta la registrazione delle proprie interazioni per aiutare Google nel debug.

Esempio di utilizzo

Crea la directory per archiviare le registrazioni:

mkdir $PWD/recordings

Avvia il server con il flag --recordings:

./speech_to_text_server --host_ip=${STT_IP?} --port=${STT_PORT?} \
  --language_pack=${LANGUAGE_PACK?} --min_log_level="debug" \
  --recordings=$PWD/recordings --api_key=${API_KEY?}

Avvia il client con:

./speech_to_text_client --server_ip=${STT_IP?} --port=${STT_PORT?} \
  --audio=samples/*.wav

Dovrebbero generare i file nel formato

$PWD/recordings/{filename}_{timestamp}_requests.riegeli (1)
$PWD/recordings/{filename}_{timestamp}_responses.riegeli (2)

{filename} è il nome del file .wav registrato. speech_to_text_client utilizza filename come {request_id}. Il primo esempio sopra riportato riguarda un file Riegeli contenente una sequenza StreamingRecognizeRequest, il secondo un file Riegeli contenente una sequenza StreamingRecognizeResponse.

Formato file

Le registrazioni sono file riegeli che contengono le richieste e le risposte inviate al server. La richiesta e le risposte vengono inviate in streaming al disco nell'ordine in cui vengono inviate da e verso il server.

Assistenza aggiuntiva

Per risolvere i problemi che richiedono assistenza, ad esempio se sono necessarie modifiche al codice, fornisci (se applicabile)

e una descrizione del problema.