Interface MRCP para Verificação de Locutor¶
Campos de cabeçalho¶
A tabela abaixo descreve os campos de cabeçalho disponíveis no Servidor MRCP do CPQD para o recurso de Verificação de Locutor. Os métodos estão divididos em dois grupos:
Requisição
Significa que a mensagem será trocada no sentido Cliente -> Servidor
Resposta
Significa que a mensagem será trocada no sentido Servidor -> Cliente
Header  | 
PARAMS  | 
Eventos  | 
Métodos  | 
|
|---|---|---|---|---|
SET/GET  | 
Requisição  | 
Resposta  | 
||
Channel-Identifier  | 
NÃO  | 
-  | 
START-SESSION  | 
-  | 
Completion-Cause  | 
NÃO  | 
VERIFICATION-COMPLETE  | 
-  | 
VERIFY VERIFY-FROM-BUFFER  | 
Logging-Tag  | 
SIM  | 
-  | 
SET-PARAMS GET-PARAMS  | 
-  | 
No-Input-Timeout  | 
SIM  | 
-  | 
VERIFY  | 
-  | 
Start-Input-Timers  | 
SIM  | 
-  | 
VERIFY  | 
-  | 
Speech-Complete-Timeout  | 
SIM  | 
-  | 
VERIFY  | 
-  | 
Media-Type  | 
SIM  | 
-  | 
VERIFY  | 
-  | 
Input-Waveform-URI  | 
NÃO  | 
-  | 
-  | 
-  | 
Min-Verification-Score  | 
SIM  | 
-  | 
START-SESSION  | 
-  | 
Num-Min-Verification-Phrases  | 
SIM  | 
-  | 
START-SESSION  | 
-  | 
Num-Max-Verification-Phrases  | 
SIM  | 
-  | 
START-SESSION  | 
-  | 
Repository-URI  | 
NÃO  | 
-  | 
START-SESSION  | 
-  | 
Verification-Mode  | 
NÃO  | 
-  | 
START-SESSION  | 
-  | 
Voiceprint-Identifier  | 
NÃO  | 
-  | 
START-SESSION somente na Verificação  | 
-  | 
Ver-Buffer-Utterance  | 
NÃO  | 
-  | 
VERIFY  | 
-  | 
Vendor-Specific-Parameters  | 
SIM  | 
-  | 
START-SESSION  | 
-  | 
Cuidado
Na operação de cadastro o header Voiceprint-Identifier não deve ser informado pois seu valor é gerado pela aplicação durante o processo de cadastro. Já na verificação o mesmo deve ser informado pois trata-se de verificar se o audio informado pertence ao dono daquele voiceprint.
Parâmetros de Configuração¶
Os parâmetros abaixo descritos podem ser configurados via SET-PARAMS (válido para toda a sessão) e VERIFY (válido somente para a operação corrente).
- Logging-Tag¶
 Esse parâmetro define uma «tag» que é inserida nas linhas de log geradas no servidor. Sempre que definido, o valor atual sobrescreve o anterior e é mantido até o final da sessão. O acesso ao log gerado no servidor é feito por administradores. É recomendado os valores da «tag» possam identificar a origem da requisição MRCP, e evitem o uso de informações sensíveis dos usuários.
- Media-Type¶
 Indica ao servidor o formato do áudio capturado.
Domínio:
application/octet-stream (áudio “RAW” em PCM Linear 16bits e 8kHz)
- Min-Verification-Score¶
 Determina o valor mínimo do score de verificação para o servidor gerar uma decisão «accepted», durante uma operação de verificação de locutor.
Domínio:
Número em ponto flutuante, variando entre -1.0 e 1.0.
- Num-Min-Verification-Phrases¶
 Determina o número mínimo de verificações válidas necessárias antes de gerar uma decisão.
Domínio:
Número inteiro, positivo entre 1 e 20 (valor default = 1)
- Num-Max-Verification-Phrases¶
 Determina o número máximo de verificações válidas antes de o servidor gerar uma decisão, mesmo que forçada. O servidor não poderá gerar uma decisão «undecided» quando o número máximo de verificações ocorrer.
Domínio:
Número inteiro, positivo entre 1 e 20 e deve ser maior ou igual ao valor de Num-Min-Verification-Phrases (valor default = 1)
- No-Input-Timeout¶
 O No-Input-Timeout determina o tempo máximo que o recurso aguardará até o evento de início de fala. Se o parâmetro Start-Input-Timers estiver habilitado no envio da mensagem VERIFY, o No-Input-Timeout começará a contar desde então. Se o parâmetro Start-Input-Timers estiver desabilitado no envio da mensagem VERIFY, o No-Input-Timeout começará a contar a partir do envio da mensagem START-INPUT-TIMERS. Se estourar o No-Input-Timeout, o evento VERIFICATION-COMPLETE será disparado com Completion-Cause igual a «no-input-timeout» (002).
Domínio:
Número inteiro, positivo em milissegundos entre 1000 até 30000 (valor default = 10000)
- Start-Input-Timers¶
 Inicia automaticamente a contagem do No-Input-Timeout juntamente com o recebimento da mensagem VERIFY. Se desativado, o No-Input-Timeout será iniciado de forma manual, no recebimento da mensagem START-INPUT-TIMERS.
Domínio:
Booleano (valor default = true)*
- Speech-Complete-Timeout¶
 O Speech-Complete-Timeout determina a duração do silêncio dentro do áudio para a detecção do fim da fala.
- Vendor-Specific-Parameters¶
 Utilizado para configurar parâmetros específicos do CPQD. O Vendor-Specific-Parameters tem prioridade sobre os outros parâmetros. Exemplo para configurar o timeout de verificação:
MRCP/2.0 145 SET-PARAMS 1
Channel-Identifier: e13c68ea4f5d11ea@speakverify
Vendor-Specific-Parameters: br.com.cpqd.ver.Operation-Timeout=30000
Completion-Cause¶
Descrição dos Completion-Cause devolvidos pelo sistema
Result-Status  | 
MRCP v2  | 
Descrição  | 
|---|---|---|
SUCCESS  | 
000  | 
A verificação ocorreu sem problemas  | 
NO_INPUT_TIMEOUT  | 
002  | 
Nenhum pacote de áudio foi recebido no período do No-Input-Timeout  | 
OUT_OF_SEQUENCE  | 
006  | 
Mensagem fora de sequência esperada  | 
REPOSITORY_URI_FAILURE  | 
007  | 
Falha no acesso ao repositório de URI  | 
REPOSITORY_URI_MISSING  | 
008  | 
Falta da informaçao de repositório de URI  | 
VOICEPRINT_ID_MISSING  | 
009  | 
Falta de identificador de voiceprint  | 
VOICEPRINT_ID_NOT_EXIST  | 
010  | 
Identificador de voiceprint inexistente no repostitório de URI  | 
VERIFICATION_TIMEOUT / SPEECH_NOT_USABLE  | 
011  | 
O evento START-OF-INPUT foi disparado e a verificação não foi concluído dentro do período do Verification-Timeout definido em Vendor-Specific-Parameters  | 
Métodos Disponíveis¶
O Servidor MRCP para Verificação de Locutor suporta as seguintes mensagens:
Métodos  | 
Servidor  | 
Descrição  | 
|---|---|---|
SET-PARAMS  | 
X  | 
Configura parâmetros recurso para toda a sessão  | 
GET-PARAMS  | 
X  | 
Recupera valores dos parâmetros do recurso no instante da chamada  | 
START-SESSION  | 
X  | 
Cria uma sessão e aloca um recurso de verificação biométrica  | 
END-SESSION  | 
X  | 
Encerra uma sessão e desaloca o recurso de verificação biométrica  | 
VERIFY  | 
X  | 
Solicita uma operação de cadastro ou verificação de locutor  | 
VERIFY-FROM-BUFFER  | 
X  | 
Solicita uma operação de cadastro ou verificação de locutor a partir de um áudio armazenado no buffer de verificação  | 
CLEAR-BUFFER  | 
X  | 
Descarta todos os áudios do buffer de verificação.  | 
START-INPUT-TIMERS  | 
X  | 
Dispara a contagem do timer No-Input-Timeout e Verification-Timeout  | 
STOP  | 
X  | 
Cancela a verificação em andamento  | 
Eventos Disponíveis¶
Os eventos do recurso de verificação estão descritos na tabela abaixo:
Eventos  | 
Servidor  | 
Descrição  | 
|---|---|---|
START-OF-INPUT  | 
X  | 
Ocorre quando o recurso detecta Início de Fala  | 
VERIFICATION-COMPLETE  | 
X  | 
Sinaliza que a verificação foi finalizada  |