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 QUERY-VOICEPRINT |
| 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 QUERY-VOICEPRINT DELETE-VOICEPRINT | - |
| Verification-Mode | NÃO | - | START-SESSION | - |
| Voiceprint-Exists | NÃO | - | - | QUERY-VOICEPRINT DELETE-VOICEPRINT |
| Voiceprint-Identifier | NÃO | - | START-SESSION QUERY-VOICEPRINT DELETE-VOICEPRINT | - |
| Ver-Buffer-Utterance | NÃO | - | VERIFY | - |
| Vendor-Specific-Parameters | SIM | - | START-SESSION | - |
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)
- audio/wav
- audio/mp3
- audio/ogg+opus
- 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 (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 (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 (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.Verification-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 CPQD MRCP para Verificação de Locutor suporta as seguintes mensagens:
| Métodos | Servidor CPQD | 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 |
| QUERY-VOICEPRINT | X | Recupera informações sobre um voiceprint em um repositório biométrico |
| DELETE-VOICEPRINT | X | Apaga um voiceprint armazenado em um repositório biométrico |
| 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 |
| VERIFY-ROLLBACK | X | Descarta o último áudio armazenados no buffer de verificação. |
| CLEAR-BUFFER | X | Descarta todos os áudios do buffer de verificação. |
| GET-INTERMEDIATE-RESULT | - | Recupera o resultado da última 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 CPQD | 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 |