Mensagens¶
Esta seção apresenta as mensagens adicionais que são utilizadas em conjunto daquelas definidas nas APIs. Os campos são obrigatórios por padrão, exceto no casos onde é indicado um valor padrão.
A interface GRPC do serviço é definida utilizando proto3 , logo é importante observar que:
Todos os campos são considerados opcionais do ponto de vista do GRPC e campos omitidos terão o valor padrão, conforme descrito na seção Default field values da especificação do proto3. A obrigatoriedade de campos deste documento, indicada no texto desta especificação, é garantida pelo serviço em si.
Os tipos de dados utilizados nos campos, e que não estejam especificados neste documento, são parte do proto3 e suas definições podem ser consultadas na seção Scalar Value Types.
BiometricConfig¶
Parâmetros de configuração comuns da verificação e cadastro. Todos os campos são opcionais.
- capture_mode
CaptureMode Modo no qual o áudio de entrada será capturado e entregue à aplicação. O valor padrão é
BATCH
.- operation_mode
OperationMode Modo no qual a operação biométrica deve operar. O valor padrão é
SINGLE
.- no_input_timeout
uint32 - Tempo, em milissegundos, no qual o serviço aguardará algum áudio chegar antes de encerrar a operação biométrica por inatividade. Se o tempo for ultrapassado, a solução encerrará a operação biométrica com um erro. A contagem sempre inicia no momento em que a chamada gRPC da operação biométrica é iniciada.
No modo de captura
BATCH
, a aplicação precisa enviar o primeiro AudioPayload antes deste tempo ser ultrapassado, ainda que o áudio enviado não contenha fala.No modo de captura
STREAMING
, a aplicação precisa enviar algum AudioPayload contendo fala antes deste tempo ser ultrapassado. Neste caso, a contagem de tempo continuará se a aplicação somente enviar áudio sem fala. A presença de fala é indicada para a aplicação através do evento StartOfSpeechEvent.
O valor padrão é
5000
e poderá ser definido entre500
até30000
. Deve ser maior ou igual ao valor especificado emend_silence
.- no_speech_timeout
uint32 - Tempo, em milissegundos, que o serviço deve aguardar pela chegada de algum áudio antes de considerar que não existem mais conteúdo a ser entregue pela aplicação. Se o tempo for ultrapassado, a solução tenta completar a operação biométrica com o conteúdo recebido até o momento. Este timeout sempre inicia depois que algum conteúdo válido já foi recebido.
No modo de captura
BATCH
, a contagem inicia ao receber o primeiro AudioPayload e é reiniciada a cada AudioPayload subsequente.No modo de captura
STREAMING
, a contagem inicia na primeira detecção de final de fala e é reiniciada a cada final de fala subsequente. Finais de fala são indicados para a aplicação através pelo evento EndOfSpeechEvent.
O valor padrão é
5000
e poderá ser definido entre500
até30000
. Deve ser maior ou igual ao valor especificado emend_silence
.- min_utterances
uint32 - Define o número mínimo de enunciados que devem ser transmitidos para que o serviço comece a gerar uma decisão. O serviço não irá gerar uma decisão até que o número mínimo de enunciados seja atingido.
O valor padrão é
1
e poderá ser definido entre1
até20
. Se esse limiar não for atingido, a operação encerra com erro.Esse parâmetro não tem efeito se o modo de verificação for
CONTINUOUS
.- max_utterances
uint32 - Define o número máximo de enunciados que o serviço aceitará. Ao atingir esse limite, o serviço responderá uma decisão diferente de
undecided
.O valor será de 1 até 20, e será maior ou igual ao valor de
min_utterances
. O valor padrão é o mesmo valor demin_utterances
. Se a quantidade de enunciados ultrapassar este valor, o comportamento resultante é definido por max_constraint_behavior.Esse parâmetro não tem efeito se o modo de verificação for
CONTINUOUS
.- min_speech
uint32 - Duração mínima, em milissegundos, de fala. O valor será de
1000
até120000
. O valor padrão é1000
. Se esse limiar não for atingido, a operação encerra com erro.Esse parâmetro não tem efeito se o modo de verificação for
CONTINUOUS
.- max_speech
uint32 - Duração máxima, em milissegundos, de fala. O valor será de
1000
até120000
, e não deve ser inferior ao valor demin_speech
. O valor padrão é120000
. Se esse limiar não for atingido, o comportamento resultante é definido por max_contraint_behavior.Esse parâmetro não tem efeito se o modo de verificação for
CONTINUOUS
.- max_constraint_behavior
string - Indica o comportamento quando os valores definidos por
max_utterances
e/oumax_speech
forem ultrapassados. O valor padrão étrim
. Os valores válidos são:- trim
Descarta o áudio excedente para que o total aproxime-se do limite superior e o processo continua normalmente (sem erro);
- abort
Aborta todo o processo e retorna um erro para a aplicação.
- end_silence
uint32 - Duração de um silêncio, em milissegundos, para que seja considerado como final de fala. O silêncio de final de fala define o ponto onde o áudio poderá ser cortado para gerar um enunciado. O valor padrão é 250 e pode ser definido entre
10
a2000
.- logging_tag
string - Tag a ser inserida nos logs do serviço para rastreio de requisições. O valor será uma string contendo até 32 caracteres e os caracteres válidos são: letras (não acentuadas), números, traços (-) e sublinhas (_).
- account_tag
string - Tag a ser inserida no registro de tarifação, permitindo segregar o consumo em categorias. O valor será uma string contendo até 32 caracteres e os caracteres válidos são: letras (não acentuadas), números, traços (-) e sublinhas (_).
EnrollmentParams¶
Parâmetros de uma chamada de cadastro biométrico.
- repository_uri
string - URL do repositório biométrico.
- scenario
string - Identificador único do cenário, incluindo o modelo. Campo obrigatório. Deve seguir os critérios definidos em Cenário.
- user_id
uint64 - Identificador único de usuário. Deve ser informado para atualizar um voiceprint existente. Se fornecido, mas nenhum voiceprint existir no cenário indicado, um erro será retornado. Se omitido, um novo voiceprint será criado.
- media_type
string - Formato do áudio fornecido. O valor padrão é
auto
. Saiba mais sobre os formatos aceitos em Formatos de áudio- enrollment_threshold
float - Limiar de aceitação ao comparar os áudios fornecidos no cadastro. Se o score calculado durante o cadastro for maior ou igual a este limiar, o voiceprint do usuário será criado ou atualizado. Caso contrário a operação de cadastro resultará em erro. Para mais informações, consulte o campo score em EnrollmentResultEvent.
- configuration
BiometricConfig - Parâmetros de configuração do cadastro.
VerificationParams¶
Parâmetros de uma chamada de verificação biométrica.
- repository_uri
string - URL do repositório biométrico. Campo obrigatório.
- scenario
string - identificador único do cenário, incluindo o modelo. Campo obrigatório. Deve seguir os critérios definidos em Cenário.
- user_ids
uint64 - Lista de identificadores de usuário que devem ser verificados com os áudios fornecidos pela aplicação. Podem ser indicados de
1
a128
identificadores. Serão retornados resultados individuais para cada um destes usuários. Campo obrigatório.- media_type
string - Formato do áudio fornecido. O valor padrão é
auto
. Saiba mais sobre os formatos aceitos em Formatos de áudio- verification_threshold
float - Limiar de aceitação. Se o score da verificação for maior ou igual a este limiar, a decisão será
ACCEPTED
, caso contrário seráREJECTED
. Caso não seja informado, a decisão permaneceUNDECIDED
.- configuration
BiometricConfig - Parâmetros de configuração da verificação.
UtteranceInfo¶
Informações sobre os enunciados identificados nos áudios fornecidos pela aplicação.
- audio_counter
uint32 - Contador de áudios, indicando a qual áudio de entrada que o enunciado corresponde. O primeiro áudio de entrada é representado pelo valor 0 (zero) e o valor é incrementado a cada áudio.
- utterance_duration
uint32 - Duração total do enunciado, em milissegundos.
- utterance_counter
uint32 - Identificador do enunciado. O primeiro enunciado é representado pelo valor 0 (zero) e o valor é incrementado a cada enunciado originado do mesmo áudio. A contagem reinicia para cada áudio de entrada.
- ignored
boolean - Indica se o enunciado foi ignorado (
true
) ou não (false
) durante o processamento da operação.- ignore_cause
string - Caso o valor do campo
is_ignored
sejatrue
, este campo indica o motivo pelo qual o enunciado foi ignorado.- start_time
uint32 - Marcação temporal do início da fala, em milissegundos, relativo ao áudio de entrada.
- end_time
uint32 - Marcação temporal do fim da fala, em milissegundos, relativo ao áudio de entrada.
ResultInfo¶
Resultado de verificação biométrica de um usuário específico.
- user_id
uint64 - Identificador único do usuário ao qual o resultado se refere.
- score
float - Score obtido considerando considerando o modo de operação selecionado. Em caso de erro, será preenchido com 0 (zero), valor padrão para o campo.
- decision
Decision - Decisão da verificação biométrica. Em caso de erro, será preenchido com
UNDECIDED
.- detail
ResultDetail - Detalhes sobre os resultados parciais que compõem a decisão final.
- error
ErrorInfo - Informações sobre um erro na operação com o usuário indicado. Seu valor padrão é vazio em caso de sucesso.
VerificationResultEvent¶
Resultado de uma verificação biométrica.
- transaction_id
uint64 - Identificador único da transação.
- results
ResultInfo - Lista de objetos contendo os resultados das verificações biométricas.
- utterances
UtteranceInfo - Lista de objetos contendo as informações sobre cada frase processada. Este campo não é preenchido caso o modo de operação seja
CONTINUOUS
.
EnrollmentResultEvent¶
Resultado de um cadastro biométrico.
- transaction_id
uint64 - Identificador único da transação.
- user_id
uint64 - Identificador único do usuário criado pelo serviço. Se a operação foi de atualização, este identificador será igual ao informado no campo homônimo da requisição.
- user_status ModificationStatus
string - Indica o estado de modificação do usuário.
- voiceprint_status ModificationStatus
string - Indica o estado de modificação do voiceprint.
- score
float Score de cadastro, resultante da comparação entre os áudios fornecidos no cadastro. No caso de uma atualização, também considera o voiceprint anterior. Este valor pode ser utilizado para detectar casos onde áudios de diferentes locutores são fornecidos. Para mais informações, consulte o campo
enrollment_threshold
em EnrollmentParams.- utterances
UtteranceInfo Lista de objetos contendo as informações sobre cada enunciado processado.
- decision
string Refere-se a decisão do cadastro biométrico resultante da validação do
enrollment_threshold
fornecido e o score da verificação ocorrida entre os áudios fornecidos no cadastro; no caso de uma atualização, ocorrida na comparação com o voiceprint anterior. Se o limiar não foi informado ou ocorreu algum erro, será preenchido com UNDECIDED.ACCEPTED - O score obtido na verificação é maior ou igual ao limiar e não foi detectada fraude.
REJECTED - O score obtido na verificação é menor que o limiar ou foi detectada fraude.
UNDECIDED - Não foi definido um limiar de aceitação ou ocorreu erro.
- detail
ResultDetail - Detalhes sobre os resultados parciais que compõem a decisão final.
StartOfSpeechEvent¶
Notifica que o início de fala foi detectado no áudio.
- audio_counter
uint32 - Contador do áudios, indicando o áudio de entrada correspondente. O primeiro áudio é representado pelo valor 0 (zero) e incrementado a cada áudio.
- utterance_counter
uint32 - Identificador do enunciado a qual o evento se refere. Informações sobre o enunciado estarão presentes no campo
utterances
em VerificationResultEvent- timestamp
uint64 - Posição no áudio, em milissegundos, onde o início de fala foi detectado.
EndOfSpeechEvent¶
Notifica que o fim de fala foi detectado no áudio.
- audio_counter
uint32 - Contador de áudios. O primeiro áudio de entrada é representado pelo valor 0 (zero) e o valor é incrementado a cada áudio.
- utterance_counter
uint32 - Identificador do enunciado a qual o evento se refere. Informações sobre o enunciado estarão presentes no campo
utterances
em VerificationResultEvent.- timestamp
uint64 - Posição no áudio, em milissegundos, onde o fim de fala foi detectado.
VerificationEvent¶
Evento de uma verificação biométrica. Apenas um dos campos abaixo será preenchido:
- start_of_speech
StartOfSpeechEvent - Evento da detecção de início de fala, utilizado somente no modo de captura streaming.
- end_of_speech
EndOfSpeechEvent - Evento da detecção de fim de fala, utilizado somente no modo de captura streaming.
- result
VerificationResultEvent - Evento contendo o resultado da verificação biométrica.
EnrollmentEvent¶
Evento de um cadastro biométrico. Apenas um dos campos abaixo será preenchido (one_of
):
- start_of_speech
StartOfSpeechEvent - Evento da detecção de início de fala.
- end_of_speech
EndOfSpeechEvent - Evento da detecção de fim de fala.
- result
EnrollmentResultEvent - Evento contendo o resultado do cadastro biométrico.
AudioPayload¶
Objeto contendo informações e o conteúdo binário de áudios. Um payload pode representar um áudio completo ou parcial.
- data
bytes - Conteúdo binário do áudio, podendo ser um fragmento do áudio original se o modo streaming estiver habilitado; caso contrário, o conteúdo de cada
AudioPayload
é considerado como um arquivo de áudio independente.- completed
boolean - Indica se o conteúdo atual é a última porção de áudio que a aplicação enviará (
true
) ou se há mais áudio para ser transmitido (false
). O valor padrão éfalse
.Idealmente, o último AudioPayload transmitido pela aplicação deve definir esse campo como
true
. Se a aplicação não puder determinar quando o áudio acabou, o campo no_speech_timeout de BiometricConfig pode ser ajustado para controlar o timeout baseado na ausência de fala.
ErrorInfo¶
Reúne informações sobre um erro relacionado a uma operação biométrica.
- code
uint32 - Código de erro. Se a operação foi executada com sucesso, o valor zero será retornado.
- message
string - Mensagem de erro. Se a operação foi executada com sucesso, nenhuma mensagem será retornada.
ResultDetail¶
Detalhes sobre os resultados parciais que compõem a decisão final.