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.
O resultado do reconhecimento de cada segmento de fala é retornado a medida em que é processado:
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”
O resumo do fluxo do modo contínuo na API GRPC é apresentado abaixo:
A aplicação cliente abre um canal GRPC com o Servidor CPQD ASR;
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;
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;
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.
Para realizar um novo reconhecimento, o cliente deverá enviar novamente uma requisição de configuração;
A comunicação com o servidor é encerrada quando o cliente encerrar o canal.