Interface MRCP para TTS¶
Campos de cabeçalho para Síntese¶
A tabela abaixo descreve os campos de cabeçalho disponíveis no Servidor MRCP do CPQD para o recurso de TTS. 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 |
MRCPv1 |
MRCPv2 |
MRCP |
Eventos |
Métodos |
Params |
|
---|---|---|---|---|---|---|---|
Requisição |
Resposta |
SET/GET |
|||||
Completion-Cause |
X |
X |
X |
SPEAK-COMP. |
- |
- |
NÃO |
Completion-Reason |
- |
X |
- |
SPEAK-COMP. |
- |
- |
NÃO |
Failed-URI |
X |
X |
- |
SPEAK-COMP. |
- |
SPEAK DEFINE- LEXICON |
NÃO |
Failed-URI-Cause |
X |
X |
- |
SPEAK-COMP. |
- |
SPEAK DEFINE- LEXICON BARGE-IN- OCCURRED |
NÃO |
Speech-Marker |
X |
X |
- |
SPEECH- MARKER |
- |
SPEAK STOP BARGE-IN- OCCURRED CONTROL |
NÃO |
Voice-Gender |
X |
X |
- |
SPEAK CONTROL |
- |
SIM |
|
Voice-Age |
X |
X |
- |
||||
Voice-Variant |
X |
X |
- |
||||
Voice-Name |
X |
X |
X |
||||
Prosody-Pitch |
X |
X |
- |
- |
SPEAK CONTROL |
- |
SIM |
Prosody-Contour |
X |
X |
- |
||||
Prosody-Range |
X |
X |
- |
||||
Prosody-Rate |
X |
X |
X |
||||
Prosody-Duration |
X |
X |
- |
||||
Prosody-Volume |
X |
X |
X |
||||
Speaker-Profile |
X |
X |
- |
- |
SPEAK |
- |
SIM |
Speech-Language |
X |
X |
- |
SPEAK |
- |
SIM |
|
Kill-On-Barge-In |
X |
X |
X |
- |
SPEAK |
- |
SIM |
Fetch-Hint |
X |
X |
- |
- |
SPEAK |
- |
SIM |
Audio-Fetch-Hint |
X |
X |
- |
- |
SPEAK |
- |
SIM |
Jump-Target |
X |
- |
- |
- |
SPEAK CONTROL |
- |
NÃO |
Jump-Size |
- |
X |
- |
- |
SPEAK |
- |
NÃO |
Speak-Restart |
X |
X |
- |
- |
CONTROL |
NÃO |
|
Load-Lexicon |
- |
X |
- |
- |
SPEAK |
- |
SIM |
Lexicon-Search-Order |
- |
X |
- |
- |
SPEAK |
- |
SIM |
Nota
O servidor MRCP faz um mapeamento de gênero/idioma para uma voz padrão. Ver Servidores de recursos MRCP (notas).
Parâmetros de Configuração¶
Os parâmetros abaixo descritos podem ser configurados via SPEAK (válido somente para a Síntese em questão).
- Voice-Name¶
Solicita ao recurso provedor de Síntese que o texto em questão seja sintetizado por uma voz específica.
- Domínio
Cadeia de caracteres. Pode ser uma lista de nomes separada por espaço e ordenada por preferência. Consequentemente, o nome da voz não pode conter espaço. Caso não seja configurado, o recurso de síntese usará seu respectivo valor padrão.
- Prosody-Rate¶
Altera a velocidade da fala para o texto em questão.
- Domínio
Os valores permitidos são: - Uma porcentagem não negativa: atua como um multiplicador da taxa padrão - Um dos seguintes rótulos, que representam uma sequência de taxas de fala monotonicamente não decrescentes:
x-slow
slow
medium
fast
x-fast
default
- Prosody-Volume¶
Altera o volume da fala para o texto em questão.
- Domínio
Os valores permitidos são: - Um número precedido por
+
ou-
e suscedido pordB
- Um dos seguintes rótulos, que representam uma sequência de níveis de volume monotonicamente não decrescentes.silent
x-soft
soft
medium
loud
x-loud
default
O valor padrão é:
+0.0dB
. Quando o valor é um número com sinal (dB), ele especifica a razão dos quadrados da nova amplitudea1
e a amplitude atuala0
, e é definido em dB: Perceba que todo valor numérico é relativo ao nível atual de volume e eles sempre possuem sinal (inclusive o zero).Dica
O comportamento desse atributo para um valor definido por rótulo difere de valor definido por número (dB). Um valor numérico altera diretamente a forma de onda, enquanto um valor definido por rótulo pode resultar em alterações prosódicas que representam mais fielmente como um humano alteraria o volume de sua fala.
- Kill-On-Barge-In¶
Interrompe a síntese caso seja detectado a intenção de interação por parte do usuário. Caso habilitado, o método SPEAK é interrompido por detecção de: DTMF ou START-OF-INPUT no Reconhecimento de Fala, caso o mesmo esteja habilitado.
- Domínio
Booleano (valor default = true)
- Account-Tag¶
Trata-se de um «Vendor Parameter» utilizado para marcação nos bilhetes de cobrança com uma informação para uso do cliente. Desta forma, irá permitir a indentificação customizada da origem da solicitação de síntese. Para isso o usuáro deverá enviar o parâmetro br.com.cpqd.tts.account-tag e seu valor nas mensagens de set-parameter ou speak.
MRCP/2.0 145 SET-PARAMS 1 Channel-Identifier: e13c68ea4f5d11ea@speechrecog Vendor-Specific-Parameters: br.com.cpqd.tts.account-tag=Cliente-Um
Completion-Cause¶
Descrição do Completion-Cause para o evento SPEAK-COMPLETE
MRCP v1 |
MRCP v2 |
Descrição |
---|---|---|
000 |
000 |
NORMAL: A síntese ocorreu sem problemas |
001 |
001 |
BARGE-IN: A síntese foi interrompida por bargein |
004 |
004 |
ERRO: A síntese não foi executada com sucesso |
005 |
005 |
LANGUAGE-UNSUPPORTED: A língua solicitada não é suportada |
Métodos Disponíveis¶
O Servidor MRCP para TTS suporta as seguintes mensagens:
Métodos |
MRCP v1 |
MRCP v2 |
Servidor |
Descrição |
---|---|---|---|---|
SET-PARAMS |
X |
X |
X |
Configura parâmetros da síntese para a sessão |
GET-PARAMS |
X |
X |
X |
Recupera valores dos parâmetros da síntese da sessão |
SPEAK |
X |
X |
X |
Inicializa a síntese de fala e fornece o streaming de áudio |
PAUSE |
X |
X |
X |
Pausa a síntese em andamento |
RESUME |
X |
X |
X |
Retoma a síntese pausada |
STOP |
X |
X |
X |
Cancela a síntese em andamento |
Eventos Disponíveis¶
Os eventos do TTS estão descritos na tabela abaixo:
Métodos |
MRCP v1 |
MRCP v2 |
Servidor |
Descrição |
---|---|---|---|---|
BARGE-IN-OCCURRED |
X |
X |
X |
Sinaliza a ocrrência de Barge-In para o Sintetizador |
SPEAK-COMPLETE |
X |
X |
X |
Sinaliza que a síntese foi finalizada |