Conceitos¶
Nessa seção são apresentados os conceitos principais e abreviaturas utilizadas ao longo da documentação.
Abreviaturas¶
- ASR¶
Automatic Speech Recognition (Reconhecimento Automático de Fala)
- CLI¶
Command Line Interface (Interface de Linha de Comando)
- dB¶
Decibéis (unidade logarítmica que indica a proporção entre quantidades de uma mesma grandeza física)
- IETF¶
Internet Engineering Task Force (Força-tarefa de Engenharia da Internet)
- IP Addr¶
Endereçamento IPv4 (Internet Protocol versão 4)
- kHz¶
KiloHertz, unidade de medida que expressa mil ciclos por segundo
- MRCP¶
Media Resource Control Protocol (Protocolo de Controle de Recursos de Mídia)
- NLSML¶
Natural Language Semantics Markup Language (Linguagem de Marcação Semântica de Linguagem Natural)
- PCM¶
Pulse Code Modulation (Modulação de Código de Pulso)
- PCMA¶
PCM com algoritmo de «compansão» lei-A
- PCMU¶
PCM com algoritmo de «compansão» lei-u
- RTP¶
Real-Time Transport Protocol (Protocolo de Transport em Tempo Real)
- RTSP¶
Real-Time Streaming Protocol (Protocolo de Transmissão em Tempo Real)
- SDP¶
Session Description Protocol
- SIP¶
Session Initiation Protocol (Protocolo de Iniciação de Sessão)
- SLM¶
Statistical Language Model (Modelo de Língua Estatístico)
- SSML¶
Speech Synthesis Markup Language (Linguagem de Marcação de Síntese de Fala)
- TCP¶
Transmission Control Protocol (Protocolo de Controle de Transmissão)
- TTS¶
Síntese de fala, do inglês: Text-To-Speech
- URA¶
Unidade de Resposta Audível (em inglês, «IVR»: Interactive Voice Response)
- URI¶
Uniform Resource Identifier (Identificador de Recurso Uniforme)
O protocolo MRCP com gRPC¶
O Servidor MRCP do CPQD segue as especificações das duas versões do MRCP padronizadas pela IETF, a versão 1 e a versão 2.
O Servidor MRCP do CPQD suporta ambas versões do protocolo, e possui integração com nossas soluções de Reconhecimento de Fala, Síntese de Fala e Biometria de Voz.
O MRCPv1 utiliza o protocolo de controle RTSP (Real Time Streaming Protocol) para estabelecer conexões (sessões) nas solicitações síntese e reconhecimento, enquanto o MRCPv2 conta com o protocolo SIP e com SDP para trocar parâmetros associadas a um diálogo. Sendo o SIP, responsável pelo estabelecimento e a interoperabilidade do diálogo.
Para realizar o transporte de áudio nas sessões (Media Session), é designado o protocolo RTP, na taxa de 8KHz (oito kilo hertz), codificação PCMA ou PCMU (8 bits por amostra).
A Biometria de Voz é somente suportada pela versão 2 do protocolo MRCP.
Esta versão MRCP gRPC traz a evolução do Servidor MRCP CPQD com a utilização da tecnologia gRPC (google Remote Procedure Call) representando um avanço significativo na modernização e eficiência dos sistemas de comunicação. Esta transição traz uma série de benefícios que aprimoram desempenho, escalabilidade, interoperabilidade e segurança das aplicações.
Síntese de Fala¶
O Texto Fala é um framework de conversão de texto em fala desenvolvido pelo CPQD. O mesmo é referenciado como TTS em alguns momentos. A Síntese de Fala é uma tecnologia que permite a uma máquina gerar uma onda de áudio com uma fala gerada a partir de um texto.
Para que a síntese seja realizada, é preciso informar ao sintetizador o texto a ser sintetizado. Na solução do CPQD, este texto pode ser das seguintes formas:
- Texto com markup SSML.
Formato: application/ssml+xml. Exemplo:
<?xml version="1.0"?>
<speak version="1.1" xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/10/synthesis
http://www.w3.org/TR/speech-synthesis11/synthesis.xsd"
xml:lang="pt-BR">
Notícias da <sub alias="Organização das Nações Unidas">ONU</sub>!
</speak>
- Texto puro.
Formato: text/plain. Exemplo:
Organização das Nações Unidas
Mais informações sobre o nosso TTS, acesse: Texto Fala
Reconhecimento de Fala¶
O Reconhecimento de Fala é um mecanismo de conversão de fala para texto desenvolvido pelo CPQD. O mesmo é referenciado como ASR em alguns momentos.
Para que o reconhecimento seja realizado, é preciso informar ao reconhecedor, além do áudio, o Modelo De Língua que se deseja utilizar. Na solução do CPQD, a indicação do modelo pode ser das seguintes formas:
- Modelo de Fala Livre, SLM.
Formato: text/uri-list. Exemplo:
builtin:slm/general
- Gramática com interpretação semântica, arquivo fonte ou gramática compilada. Para arquivo fonte, a extensão do arquivo deve ser
.gram
(ABNF) ou.grxml
(XML). Formato: text/uri-list. Exemplos:
- Gramática com interpretação semântica, arquivo fonte ou gramática compilada. Para arquivo fonte, a extensão do arquivo deve ser
http://some-host.com/my-grammar.gram
file:///opt/grammars/my-comp-gram/
- Gramática com interpretação semântica. Fonte em formato ANBF.
Formato: application/srgs. Exemplo:
#ABNF 1.0 UTF-8;
language pt-BR;
tag-format <semantics/1.0-literals>;
mode voice;
// ==================================================
// Sample grammar: pizza.gram
// This is a grammar used to order pizza.
// ==================================================
root $order;
$order = [$want] $pizza [por favor | por gentileza];
$want = [eu] (quero | queria | gostaria de) [uma];
$pizza = [pizza | de | pizza de] $flavor;
$flavor = queijo {pizza_queijo} |
portuguesa {pizza_portuguesa} |
toscana {pizza_toscana};
// ===================================================
- Gramática com interpretação semântica. Fonte em formato XML.
Formato: application/srgs+xml. Exemplo:
<?xml version="1.0" encoding="utf8"?>
<grammar xmlns="http://www.w3.org/2001/06/grammar"
mode="voice"
root="order"
tag-format="semantics/1.0-literals"
xml:lang="pt-BR" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/06/grammar http://www.w3.org/TR/speech-grammar/grammar.xsd">
<rule id="order">
<item repeat="0-1">
<item>
<ruleref uri="#want"/>
</item>
</item>
<ruleref uri="#pizza"/>
<item repeat="0-1">
<one-of>
<item>por favor</item>
<item>por gentileza</item>
</one-of>
</item>
</rule>
<rule id="want">
<item repeat="0-1">
<item>eu</item>
</item>
<one-of>
<item>quero</item>
<item>queria</item>
<item>gostaria de</item>
</one-of>
<item repeat="0-1">
<item>uma</item>
</item>
</rule>
<rule id="pizza">
<item repeat="0-1">
<one-of>
<item>pizza</item>
<item>de</item>
<item>pizza de</item>
</one-of>
</item>
<ruleref uri="#flavor"/>
</rule>
<rule id="flavor">
<one-of>
<item>queijo
<tag>pizza_queijo</tag>
</item>
<item>portuguesa
<tag>pizza_portuguesa</tag>
</item>
<item>toscana
<tag>pizza_toscana</tag>
</item>
</one-of>
</rule>
</grammar>
Mais informações sobre o nosso ASR, acesse: Reconhecimento de Fala
Biometria de Voz¶
A Biometria de Voz do CPQD realiza a confirmação da identidade de um locutor através de sua voz. Para isso o sistema possibilita o cadastro de amostras de voz (método de treinamento) para geração dos voiceprints que serão utilizados posteriormente, na processo de confirmação de identidade (método de verificação).
Mais informações sobre a Biometria de Voz, acesse Biometria de voz