Modo contínuo

A API GRPC permite o uso do modo contínuo no reconhecimento de fala e o áudio pode ser enviado em tempo real. Outras informações na seção Modo contínuo.

Um exemplo de requisição é mostrado abaixo. Para usar o modo contínuo, a licença deve estar liberada e deve-se definir o parâmetro config.continuous_mode=true.

../_images/continuousmode_grpc1.png

O resultado do reconhecimento de cada segmento de fala é retornado a medida em que é processado:

../_images/continuousmode_grpc2.png

O envio do áudio pode ser finalizado definindo o parâmetro “LastPacket=true”. O resultado do último segmento de fala é retornado com parâmetro “last_segment=true”

../_images/continuousmode_grpc3.png

O resumo do fluxo do modo contínuo na API GRPC é apresentado abaixo:

  1. A aplicação cliente abre um canal GRPC com o Servidor CPQD ASR;

  2. Após a abertura, o cliente deve enviar uma requisição de configuração (CONFIG_REQUEST) para iniciar uma sessão de reconhecimento, que é alocada exclusivamente para aquela conexão. Esta requisição deve ter um campo config especificado no arquivo .proto. A quantidade de sessões que podem ser criadas depende da quantidade de licenças disponíveis no servidor;

  3. O cliente deve iniciar a captura do áudio e enviar o stream de áudio em blocos de pequena duração, por exemplo, 200ms, através da requisição de envio de audio (SEND_AUDIO). Esta requisição deve ter um campo media do tipo array de bytes do audio. Se usado o serviço StreamingRecognize, a requisição também deve conter o campo last_packet. Este campo indica o fim do envio de audios. O servidor irá analisar continuamente as amostras de áudio recebidas, identificando o segmento de fala;

  4. O servidor irá gerar o resultado final do reconhecimento para esse segmento, enviando novamente uma resposta RECOGNITION RESULT; Se nesta resposta o campo last_segment for igual a TRUE, o cliente deve encerrar a chamada.

  5. Para realizar um novo reconhecimento, o cliente deverá enviar novamente uma requisição de configuração;

  6. A comunicação com o servidor é encerrada quando o cliente encerrar o canal.