Solução de problemas e perguntas frequentes sobre a OnDevice

Mudar o idioma de reconhecimento

Reinicie os servidores com o pacote de idiomas para o idioma de sua preferência.

Registros

O binário da Speech-to-Text tem quatro modos de geração de registros:

  • debug: registros detalhados que podem ser úteis para depurar o binário. Por exemplo, as respostas do servidor são registradas nesse modo.
  • prod: a configuração de produção recomendada. Os registros contêm informações sobre a versão binária/do build, o início e o fim da sessão, avisos e erros.
  • warning: os registros contêm apenas avisos ou erros.
  • error: os registros contêm apenas erros.

A geração de registros pode ser controlada com a sinalização --min_log_level, e todos os registros são gravados em stdout.

Quando tiver problemas, execute o servidor da Speech-to-Text com a geração de registros de depuração:

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

Na inicialização, o binário registra

  • build ID é um ID que associa o binário a um build.
  • Language Pack ID é um ID do pacote de idiomas carregado pelo servidor.

Ao transcrever, o servidor registra o request ID fornecido pelo cliente. Ao final da sessão, o servidor registra um status de sessão.

A geração de registros é suficiente para resolver problemas causados pelo uso incorreto. Ela também ajuda na compreensão do comportamento do servidor. Por exemplo, o servidor não envia respostas a menos que reconheça algo no áudio. Se o áudio for apenas silencioso ou incompreensível, nenhuma resposta será enviada.

Status da sessão

Uma sessão bem-sucedida termina com o status OK.

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

Uma sessão malsucedida termina com um status que não é "OK". Por exemplo, se enviarmos uma nova solicitação de configuração após a inicial.

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

Gravações

O servidor de ASR é compatível com a gravação das interações para ajudar o Google na depuração.

Exemplo de uso

Crie um diretório para armazenar gravações:

mkdir $PWD/recordings

Inicie o servidor com a sinalização --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?}

Inicie o cliente com:

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

Isso produzirá arquivos no formato

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

{filename} é o nome do arquivo .wav que está sendo gravado. O speech_to_text_client usa o filename como {request_id}. O primeiro exemplo acima é um arquivo Riegeli que contém uma sequência de StreamingRecognizeRequest, o segundo é um arquivo Riegeli que contém uma sequência de StreamingRecognizeResponse.

Formato do arquivo

As gravações são arquivos Riegeli que contêm as solicitações e respostas enviadas ao servidor. A solicitação e as respostas são transmitidas para o disco na ordem em que são enviadas para o servidor e a partir dele.

Suporte adicional

Para resolver problemas que exigem suporte, por exemplo, se for necessário mudar o código, informe (se aplicável)

E uma descrição do problema