Você está na página 1de 34

MINISTÉRIO DA EDUCAÇÃO

INSTITUTO MÉDIO POLITÉCNICO NOSSA SENHORA DOS ANJOS

ÁREA DE FORMAÇÃO DE INFORMÁTICA

PROVA DE APTIDÃO PROFISSIONAL


(P.A.P)

TEMA:

SINTETIZADOR DE RECONHECIMENTO DE VOZ PARA AJUDAR OS


QUE SOFREM DE COLAPSO NEURAL

Trabalho de fim de Curso apresentado


Para a obtenção do grau Técnico (a) médio (a) em:

INFORMÁTICA

Por:

Grupo (v)

Orientador: Eng.º Edvandro Pereira José, Professor

LUANDA, 2022/2023

ii
FOLHA DE APROVAÇÃO

SINTETIZADOR DE RECONHECIMENTO DE VOZ PARA AJUDAR OS


QUE SOFREM DE COLAPSO NEURAL

Trabalho investigativo apresentado no “COMPLEXO ESCOLAR PRIVADO NOSSA


SENHORA DOS ANJOS´´ como parte do requisito parcial para obtenção do grau académico
de técnico médio de Informática

Júri

Presidente

____________________________________

Professor

Instituto Médio Industrial Simeone Mucune

Arguente

____________________________________

Professor

Instituto Médio Industrial Simeone Mucune

Orientador

____________________________________

Prof.

Complexo escolar privada nossa senhora dos anjos

LUANDA, 2022/2023

iii
FICHA TÉCNICA

Nome Completo: Kevene André Fernandes


Curso: Informática
Turma: A
Nº Telefone: 944-983-801
E-mail: stsy18kevene@gmail.com
Nota:___

INPNSA, 2023

iv
DEDICATÓRIA

Aos nossos pais;

Pelo apoio e auxílios que têm nos transmitido durante


toda essa fase dos nossos estudos.

Aos nossos professores;

Pela motivação, ajuda e força que nos deram durante o


nosso percurso académico, fazendo-nos assim traçar
nossos objectivos no ramo profissional.

v
EPÍGRAFE

“Sua vitória é decidida pela sua força interior.


Cultive e proteja seu poder interno”
Milla Ribeiro

vi
AGRADECIMENTO

A Jeová meu Deus pela vida, saúde, força e coragem que nos tem dado para assim
seguir enfrente diante de todos os obstáculos encontrados ao longo da nossa vida.

A todos que apoiaram e fizeram ser possível essa jornada, mostrando amor e carinho
incondicional.
Ao Prof. Eng. Edivandro Pereira José pelo suporte oferecido e pela orientação
concedida nesses longos anos de estudos, realizados com ele ao longo do curso foram de
fundamental importância para a nossa formação.

Ao Instituto Médio Politécnico Nossa Senhora dos Anjos, pelo privilégio de sermos
os 2º finalistas desta instituição.

vii
RESUMO

O presente trabalho visa oferecer um suporte destinado a um público específico, mas


também a usuários diversos, tendo em seu fim o desenvolvimento de uma ferramenta que
auxilie tanto pessoas comuns como na inclusão social de uma parcela da população Angolana
considerada como portadora de Colapso Neural. A aplicação-destino do sistema
desenvolvido durante o estágio, foi o Sistema de Tratamento intitulado K.A.F, um sistema
que integra a solução para os pacientes, e que permite elaborar a ajuda necessária para a
satisfação do mesmo. O nosso aplicativo será criado na linguagem de programação orientada
a objetos C#, vamos codificar no Visual Studio 2017 e também vamos criar uma base de
dados. Foi testado o reconhecimento de voz recorrendo à ferramenta Web Speech API, a
síntese de voz recorrendo à framework Voice RSS e a gravação sonora utilizando a biblioteca
JAVE numa aplicação Java que comunica com o KAF via websockets.

PALAVRAS-CHAVES: TTS, .Net Framework, SSM e SAPI,

viii
ABSTRACT

Therewith, many software developers are looking for ways to implement voice
technologies in their products, and one of the most commonly used forms is the Application
Programming Interface (API). The use of intelligent interfaces, usability features and voice
technologies are enabling applications to become increasingly rich, especially to assist
inexperienced users or those with special needs. Voice technologies are divided into two
categories: voice recognition, which is widely used in voice commands (converts voice to
text), and speech synthesizer, which is widely used to improve accessibility in devices
(convert text to speech). These voice technologies use Natural Language Processing
techniques, subarea of Artificial Intelligence, in order to process and manipulate human
language at several levels. This article presents an analysis of the main voice recognition and
synthesizing APIs, describing their characteristics and functionalities. In addition, as a case
study, it shows which API was chosen, among those that were researched, and how it was

implemented in the Alert Brusque application.

WORDS-KEYS: TTS, NET Framework, SSM and SAPI.

ix
LISTA DE SIGLAS

API – Application Programming Interface

CSS – Cascading Style Sheets

DARPA – Defense Advanced Research Projects Agency

EUA – Estados Unidos da América

GPS – Global Positioning System

HTML – HyperText Markup Language

IBM – International Business Machines

IDE – Integrated Development Environment

IPC – Instituto Politécnico de Coimbra

JSON – JavaScript Object Notation

JNLP – Java Network Launch Protocol

MIS – Mestrado em Informática e Sistemas

MIT – Massachusetts Institute of Technology

MP3 – MPEG-1/2 Audio Layer 3

NVP – Network Voice Protocol

PHP – PHP: Hypertext Preprocessor (originalmente Personal Home Page)

SMS – Short Message Service

SSML – Speech Synthesis Markup Language

STA – Sistema de Tratamentos de Atas

SUR – Speech Understanding Research

x
LISTA DE FÍGURAS

Figura 2.1: O processo dos neurónios

Figura 2.2: Atributos do colapso

Figura 2.3: Diagrama caso de uso do sistema

Figura 2.4: Funcionamento básico do sistema operacional

Figura 2.5: Arquitectura Ponto a Ponto

ÍNDICE

xi
DEDICATÓRIA..........................................................................................................................................v
EPÍGRAFE...............................................................................................................................................vi
AGRADECIMENTO.................................................................................................................................vii
RESUMO..............................................................................................................................................viii
ABSTRACT..............................................................................................................................................ix
LISTA DE SIGLAS......................................................................................................................................x
LISTA DE FÍGURAS..................................................................................................................................xi
CAPÍTULO 1: INTRODUÇÃO..................................................................................................................12
1.1 INTRODUÇÃO DO TEMA.............................................................................................................12
1.1. JUSTIFICAÇÃO DO TEMA.......................................................................................................13
1.2. DELIMITAÇÃO DO TEMA.......................................................................................................13
1.4. FORMULAÇÃO DE PROBLEMA..............................................................................................13
1.5. FORMULAÇÃO DE HIPÓTESE.................................................................................................13
1.6. OBJECTIVO DO TRABALHO....................................................................................................13
1.6.1. OBJECTIVO GERAL.............................................................................................................13
1.6.2. OBJECTIVO ESPECIFICO.....................................................................................................13
1.7. METODOLOGIAS UTILIZADOS...............................................................................................14
1.8. ESTRUTURA DO TRABALHO..................................................................................................14
CAPÍTULO 2: FUNDAMENTAÇÃO TEÓRICA...........................................................................................15
2.1 SISTEMA NERVOSO CENTRAL.....................................................................................................15
2.2. APIS RELACIONADAS AO RECONHECIMENTO DE VOZ...........................................................15
2.2.1 IMPORTÂNCIA DA INTELIGÊNCIA ARTIFICIAL...........................................................................17
2.2.2 INTELIGÊNCIA ARTIFICIAL NOS DIAS DE HOJE......................................................................18
2.3 MICROSOFT SPEECH SDK C#.......................................................................................................18
2.3.1 GOOGLE SPEECH API............................................................................................................19
2.3.1.1 RECONHECIMENTO E SINTETIZAÇÃO DE VOZ UTILIZANDO JAVA SPEECH API - UCSAL.....19
2.3.1.2 J.A.R.V.I.S. (JUST A RELIABLE VOCAL INTERPRETER & SYNTHESIZER) API.........................19
2.3.2 CONCATENAÇÃO SINTÉTICA................................................................................................19
2.4. FOMAÇÃO SINTÉTICA................................................................................................................20
2.5. PLATAFORMAS E LINGUAGEM DE PROGRAMAÇÃO..................................................................21
Frameworks e Bibliotecas.................................................................................................................21
.NET Framework...............................................................................................................................21
2.6 FERRAMENTAS E TECNOLOGIA...................................................................................................22
2.6.1 LINGUAGEM DE PROGRAMAÇÃO........................................................................................22
2.7. TIPOS DE LINGUAGENS DE PROGRAMAÇÃO..............................................................................22
2.8. ANÁLISE......................................................................................................................................23
CAPÍTULO 3: DESENVOLVIMENTO........................................................................................................24

xii
3.1. METODOLOGIA DE DESENVOLVIMENTO DE SOFTWARE...........................................................24
3.2. METODO DE INVESTIGAÇÃO CIENTIFÍCA...................................................................................24
3.2.2. LEVANTAMENTO DE REQUISITOS.......................................................................................24
3.2.4. RECURSOS EMPREGADOS...................................................................................................24
3.3. RECURSOS UTILIZADOS..............................................................................................................24
3.4. REQUISITOS DO SISTEMA.....................................................................................................25
3.4.1. ARQUITECTURA DO SISTEMA...........................................................................................25
3.4.2. REQUISITOS FUNDAMENTAIS DO SISTEMA......................................................................25
3.4.2.1. REQUISITOS FUNCIONAIS.........................................................................................25
3.4.2.2. REQUISITOS NÃO FUNCIONAIS.................................................................................26
3.5. MODELAGEM DO SISTEMA...............................................................................................26
3.5.2. DIAGRAMA DE CASO DE USO DO SISTEMA...................................................................27
CAPÍTULO 4: RESULTADOS E DISCUSSÕES............................................................................................29
 ILUSTRAÇÃO DAS INTERFACES..................................................................................................29
CAPÍTULO 5: CONCLUSÃO....................................................................................................................30
REFERÊNCIAS BIBLIOGRÁFICAS.............................................................................................................31

xiii
CAPÍTULO 1: INTRODUÇÃO

1.1 INTRODUÇÃO DO TEMA

De acordo com o site da Porto Editora no Dicionário infopédia da Língua Portuguesa


(www.infopedia.pt/dicionarios/lingua-portuguesa/sintetizacao), Sintetização é o ato ou efeito
de sintetizar, onde sintetizar significa conjugar ou resumir. No mesmo site da Porto Editora
(www.infopedia.pt/dicionarios/lingua-portuguesa/sintetizacao) diz que reconhecimento é o
ato ou efeito de reconhecer, identificação de algo ou alguém já conhecido. Segundo Massabu
aluno do 3º ano na Universidade Técnica de Angola (UTANGA) numa entrevista pessoal
(08/02/2022) uma aplicação desktop é um software que é necessário a sua instalação no
computador, diferente de aplicação web que podemos utilizar mesmo não estando instalado
no computador, mas sim num servidor web.

A sintetização de voz em muitos aspetos é o inverso do reconhecimento de fala, a


função dela é transformar dados em voz, geralmente com a conversão de texto em fala. Para
uma solução de sintetização de voz é necessário requer as seguintes informações:

• O texto a ser falado;

• A voz a ser usada para transformar o texto em fala.

Para sintetizar uma voz, o sistema normalmente cria Tokens do texto com o objetivo
de dividi-lo em palavras individuais e atribui-los sons fonéticos a cada palavra.

Usa-se a saída de sintetização de voz para diversas finalidades como:

• Gerar respostas faladas para entrada dos usuários;

• Criar menus de vozes para sistemas telefónicos.

Mais nós vamos nos focar na primeira opção. A função reconhecimento de fala é
identificar a palavra falada e converte-la em dados que poderão ser processados muitas vezes.
As palavras faladas poderão estar no formato de uma voz gravada em um arquivo de áudio,
para ser feito o software normalmente usa alguns modelos, incluindo:

Um modelo que converte sinal de áudio em fonemas. (Representação de sons


específicos). Um modelo de linguagem que transforma os fonemas em palavras usando um
algoritmo estatístico que prevê a sequência mais provável de palavras com base nos mesmos.
O nosso aplicativo será criado na linguagem de programação orientada a objetos C#, vamos
codificar no Visual Studio 2010 e também vamos criar uma base de dados.

12
1.1. JUSTIFICAÇÃO DO TEMA

Escolhemos este tema pensando nas pessoas que sofrem de colapso neural
(Esquecimento) com o fim de ajuda-las a prosseguir com os seus compromissos diários. Pois
esquecer de fazer alguma coisa é algo muito frustrante, e quando eu comecei a pensar nas
pessoas que convivem com isso todos o santos dias, ajudou-me a tirar tempo para pensar em
refazer ou construir um sistema que possa ajudar essas pessoas. Hoje em dia existem muitas
pessoas que sofrem de colapso neural, ou seja, tendem a esquecer mais facilmente de assuntos
por vezes muito importantes, esse problema chega a prejudicar essas pessoas .

1.2. DELIMITAÇÃO DO TEMA

O estudo em questão foi realizado de abril a fevereiro em Luanda no hospital Jorgina Machel.

1.3. LIMITAÇÃO DO TEMA

Este tema foi limitado da seguinte forma: Estudo de Inteligência Limitada e a Inteligência
Geral.

1.4. FORMULAÇÃO DE PROBLEMA

Nesse momento exite muitas pessoas que estão a sofre de perda de memoria, e uma estimativa
da OMS, mostra que mas de 1,5 mil pessoas todos os anos tornam-se provedora de colapso
neural.

• Como podemos ajudar a resolver ou mesmo minimizar este problema?

1.5. FORMULAÇÃO DE HIPÓTESE

 Só o programa de sintetização e reconhecimento de voz pode ajudar a criando lembretes ou


alarmes utilizando vozes para despertar a atenção do usuário.

1.6. OBJECTIVO DO TRABALHO

1.6.1. OBJECTIVO GERAL

 Criar um software que possa ajudar a interpretar a fala audível e responder adequadamente
para aqueles que têm colapso neural.

1.6.2. OBJECTIVO ESPECIFICO

 Descrever os conceitos relacionado ao tema.

 Demostrar as linguagens que possibilitam a realização de um programa de sintetização.

13
 Ilustrar o funcionamento do software de sintetização e reconhecimento de voz.

1.7. METODOLOGIAS UTILIZADOS

 Pesquisa documental: É muito parecida com a bibliográfica. A diferença está na natureza


das fontes, pois esta forma vale-se de materiais que não receberam ainda um tratamento
analítico, ou que ainda podem ser reelaborados de acordo com os objectos da pesquisa. (Gil,
2008).

 Pesquisa bibliográfica: é desenvolvida com base em material já elaborado, constituído


principalmente de livros e artigos científicos. Não recomenda-se trabalhos oriundos da
internet. (Gil, 2008).

 Pesquisa de campo: Trata-se de um método qualitativo de colecta de dados que visa a


compreender, observar e interagir com pessoas em seu ambiente de trabalho.

1.8. ESTRUTURA DO TRABALHO

O presente trabalho está divido em três capítulos descritos a seguir. Após este capítulo 1.
Introdutório onde foi apresentado a Introdução do tema, justificativa do tema, delimitação,
limitação, formulação do problema, hipótese, os objectivo do trabalhos e a metodologia
utilizado.

O Capítulo 2 traz todo o referencial teórico necessário ao entendimento do desenvolvimento


deste trabalho.

O Capítulo 3 descreve o desenvolvimento do trabalho contendo, os passos necessários e todo


o seu processo de demostração e recomendação. E mostra os resultados alcançados sobre os
mesmos, e por último será apresentado a conclusão do trabalho, descrevendo a bibliografia,
apêndice, e anexos, glossário do mesmo.

14
CAPÍTULO 2: FUNDAMENTAÇÃO TEÓRICA

O reconhecimento por comandos de voz via aplicações computacionais é uma


tecnologia que fascina o homem desde o surgimento dos computadores. A possibilidade de
conversar com um computador, ditar um texto ou emitir comandos de voz faz parte de
sistemas desde o surgimento da multimídia, mas somente nos últimos anos nos deparamos
com a tecnologia relacionada ao áudio sendo utilizada de forma popular e acessível.
Encontramos aplicativos e bibliotecas que permitem aos usuários, ditarem palavras e frases ao
computador onde aplicativos as convertam em texto ou executem funções específicas de
controle.

Pessoas com deficiências motoras, impedidas de digitar também adotam sistemas


de reconhecimento de voz para desempenhar atividades profissionais ou de entretenimento. O
principal foco do projeto é o estudo da síntese, identificação e o reconhecimento da voz e sua
utilização em um aplicativo de edição de código fonte direcionado por comandos de voz. O
aplicativo ainda oferece recursos de assistência na digitação de comandos e identificadores na
linguagem de programação o que torna o processo de codificação bastante rápido. A proposta
de um projeto com estas características justifica-se pelo fato de ser um tema pouco explorado
na área de programação. A linguagem de programação a ser codificada foi à linguagem C#,
por questões de popularidade e de uso livre.

2.1 SISTEMA NERVOSO CENTRAL

O encéfalo humano é composto, entre outras estruturas, pelo cérebro, cerebelo e tronco
encéfalo (mesencéfalo, ponte e bulbo) – e contém cerca de 86 bilhões de neurónios, ligados
por mais de 10.000 conexões sinápticas cada.

Esses neurónios comunicam-se por meio de prolongamentos citoplasmáticos denominados


axónios, que conduzem pulsos em sinais, chamados potencial de ação, para partes distantes do
encéfalo e do corpo e as encaminham para serem recebidas por células específicas.

A medula espinal, também conhecida por espinal medula ou medula espinhal, é a parte
alongada do sistema nervoso central, é a continuação do bulbo, que se aloja no interior da
coluna vertebral, ao longo do seu eixo crânio-caudal.

2.2. APIS RELACIONADAS AO RECONHECIMENTO DE VOZ

Várias APIs foram disponibilizadas para possibilitar o uso do áudio e de seu


processamento em um programa de computador. Muitas delas são dependentes da arquitetura

15
do computador ou de softwares externos, portanto não são fáceis de utilizar e suscetíveis a
problemas externos, como software e hardware obsoletos ou não compatíveis. Outras
pertencem a soluções proprietárias e são cobradas pelo uso, dentre essas podemos destacar a
Microsoft, Nuance, Dragon e IBM Via Voice. Outro problema encontrado é a ausência de
soluções que interpretam o idioma português, mais precisamente o português brasileiro.

A inteligência artificial (IA) possibilita que máquinas aprendam com experiências,


se ajustem a novas entradas de dados e performem tarefas como seres humanos. A maioria
dos exemplos de IA sobre os quais você ouve falar hoje – de computadores mestres em xadrez
a carros autônomos – dependem de deep learning e processamento de linguagem natural. Com
essas tecnologias, os computadores podem ser treinados para cumprir tarefas específicas ao
processar grandes quantidades de dados e reconhecer padrões nesses dados.

Figura 2.1: O processo dos neurónios

O termo inteligência artificial foi criado em 1956, mas só se popularizou hoje graças
aos crescentes volumes de dados disponíveis, algoritmos avançados, e melhorias no poder e
no armazenamento computacionais.

As primeiras pesquisas de IA nos anos 1950 exploraram temas como a resolução de


problemas e métodos simbólicos. Na década de 1960, o Departamento de Defesa dos EUA se
interessou por este tipo de tecnologia e começou a treinar computadores para imitar o
raciocínio humano básico. Por exemplo, a Defense Advanced Research Projects Agency
(DARPA) completou um projeto de mapeamento de ruas nos anos 1970.

16
Figura 2.2: Atributos do colapso

Enquanto os filmes de Hollywood e os romances de ficção científica retratam a


inteligência artificial como robôs humanoides que dominam o mundo, a evolução atual das
tecnologias de IA não é tão assustadora – ou tão inteligente assim. Em vez disso, a IA evoluiu
para fornecer muitos benefícios específicos para todas as indústrias.

2.2.1 IMPORTÂNCIA DA INTELIGÊNCIA ARTIFICIAL

A IA automatiza a aprendizagem repetitiva e a descoberta a partir dos dados. Mas a


inteligência artificial é diferente da automação robótica guiada por hardwares. Em vez de
automatizar tarefas manuais, a IA realiza tarefas frequentes, volumosas e computadorizadas
de modo confiável e sem fadiga. Para este tipo de automação, a interferência humana ainda é
essencial na configuração do sistema e para fazer as perguntas certas;

A IA adiciona inteligência a produtos existentes. Na maioria dos casos, a


inteligência artificial não será vendida como uma aplicação individual. Pelo contrário, os
produtos que você já utiliza serão aprimorados com funcionalidades de IA, de maneira
parecida como a Siri foi adicionada aos produtos da Apple. Automação, plataformas de
conversa, robôs e aparelhos inteligentes podem ser combinados com grandes quantidades de
dados para aprimorar muitas tecnologias para casa e escritório, de inteligência em segurança à
análise de investimentos;

A IA se adapta através de algoritmos de aprendizagem progressiva para deixar


que os dados façam a programação. A IA encontra estruturas e regularidades nos dados para
que o algoritmo adquira uma capacidade: ele se torna um classificador ou predicador. Então,
assim como o algoritmo pode ensinar a si mesmo a jogar xadrez, ele pode ensinar a si mesmo
quais produtos recomendar em seguida. E os modelos se adaptam quando recebem mais
dados. Propagação retroativa é uma técnica de IA que permite que o modelo se ajuste, através
de treinamento e com a entrada de novos dados, quando a primeira resposta não está
totalmente correta;

A IA analisa e mais dados, e em maior profundidade usando redes neurais que


possuem muitas camadas escondidas. Construir um sistema de detecção de fraudes com cinco
camadas escondidas era quase impossível alguns anos atrás. Tudo isso mudou com um
poderio computacional impressionante e big data.

A IA atinge uma precisão incrível através de redes neurais profundas – o que antes
era impossível. Por exemplo, suas interações com a Alexa, pesquisas do Google e Google

17
Fotos são todas baseadas em deep learning – e elas continuam ficando mais precisas conforme
as vamos utilizando. Na área médica, técnicas de IA baseadas em deep learning, classificação
de imagens e reconhecimento de objetos podem agora ser usadas para encontrar cânceres em
ressonâncias com a mesma precisão de radiologistas bem treinados;

A IA obtém o máximo dos dados. Quando algoritmos aprendem sozinhos, os dados


em si podem se tornar propriedade intelectual. As respostas estão nos dados; você só precisa
aplicar IA para extraí-las. Uma vez que o papel dos dados é mais importante do que nunca,
eles podem criar uma vantagem competitiva.

2.2.2 INTELIGÊNCIA ARTIFICIAL NOS DIAS DE HOJE

IA: a próxima era analítica imagine um hospital à base de IA, uma loja que oferece
experiências de compra por meio de IA e um sistema de análise preditiva que fala. Este
relatório da Harvard Business Review examina esses casos de uso atuais – e explica por que
você não deve xingar a Siri.

Se você está preocupado com as máquinas dominando o mundo, pode dormir


sossegado. Isso não vai acontecer com a tecnologia de inteligência artificial que temos em uso
atualmente. A IA de hoje é promissora, pois permite automatizar tarefas rotineiras, tornando
os seres humanos mais eficientes. Mas precisamos garantir que ninguém se deixe levar pelo
exagero. Este artigo conta o que você precisa saber para adicionar IA ao seu negócio.

Visto que estamos a falar muito sobre assistente virtual e sintetizador, chego a hora
de nós tocamos no ponto relacionado a doença em cause que o sistema ou o sintetizador terá a
capacidade de neutralizar de uma forma rápida e eficiente. Além dos quatro principais
objectivos, se aplicam também as seguintes características: Confiabilidade, Irritabilidade ou
não-repúdio, Auditoria, Autenticidade e Privacidade.

A margem de colapso de tensão (MCT) estabelece a quantidade de carga que


pode ser adicionada do ponto de operação até o ponto de colapso. Para transformar a margem
de colapso de tensão em um indicador de segurança, deve ser considerado a média das
margens de todos os barramentos de carga ou a margem do barramento mais crítico do
sistema.

2.3 MICROSOFT SPEECH SDK C#

A Microsoft Speech SDK (MICROSOFT, 2015) desenvolvida pela Microsoft e faz a


síntese e reconhecimento de voz em C#. A versão testada necessitava de treinamento para

18
poder utilizar, sendo necessário cadastrar as palavras na forma ditada. Foi descartado por
precisar cadastrar as palavras por meio da voz, assim deixando o sistema fixo para um
narrador e ser um recurso pago.

2.3.1 GOOGLE SPEECH API

A bibioteca Google Speech API (MEY, 2016) foi desenvolvida pela Google e destina
ao reconhecimento de voz em vários idiomas. Não necessita de um treinamento para usar,
mas é preciso o acesso à internet e uma chave para liberação. Apesar de ser uma tecnologia
proprietária e paga, há uma versão livre, limitada a 50 acessos por dia. Para obter a chave de
acesso é necessário se cadastrar no website disponível em:
http://www.chromium.org/developers/how-tos/apikeys. A Google Speech API foi utilizada no
desenvolvimento do projeto.

2.3.1.1 RECONHECIMENTO E SINTETIZAÇÃO DE VOZ UTILIZANDO JAVA


SPEECH API - UCSAL

O trabalho foi um dicionário de voz. Foi desenvolvido no Eclipse e JSAPI, utilizando


bibliotecas como: Text to Speech (TTS), IBM ViaVoice e Java Speech API, desenvolvido por
Alã Assis e Hemerson Santos (BURLAMAQUI, 2015). A aplicativa captura a voz, verifica no
seu banco de dados e retorna para usuário a palavra com seu significado, antônimo e sinônimo
em texto e sintetiza o texto retornado.

2.3.1.2 J.A.R.V.I.S. (JUST A RELIABLE VOCAL INTERPRETER & SYNTHESIZER)


API

O J.A.R.V.I.S. (KUSA, 2015) é um conjunto de APIs utiliza os mecanismos de fala pela


Google. Desenvolvida por Luke Kusa e feito em Java, inclui um reconhecedor, sintetizador, e
um utilitário de captura de microfone. O projeto utiliza várias APIs como: Captura microfone
API, um reconhecedor de voz usando o serviço reconhecedor do Google, um sintetizador de
voz usando o serviço de sintetizador do Google, FLAC API (converter arquivos WAVE do
microfone para FLAC) e tradutor do Google Translator. (Kusa)

2.3.2 CONCATENAÇÃO SINTÉTICA

A Concatenação Sintética é baseada na concatenação de segmentos de voz gravada.


Geralmente, concatenando essas gravações, se produz uma vocalização mais natural.
Entretanto, diferenças naturais entre a fala e as técnicas de concatenar segmentos de voz,

19
resultam em áudio de baixa qualidade. Existem três subtipos principais de concatenação
sintética, que são:

• Unidade de seleção de síntese: Grande BD onde são armazenadas diversas falas. Essas
falas são separadas em fonemas, sílabas, morfemas, palavras, frases e sentenças.

• Síntese de fonema: Gravação dos fonemas da linguagem. Sua complexidade está


vinculada à língua. Exemplo: Espanhol – 800 fonemas, alemão – 2.500 fonemas.

• Síntese para domínio específico: Vozes gravadas para aplicações específicas, como
call centers, relógios, calculadoras. Possui grande uso há bastante tempo.

2.4. FOMAÇÃO SINTÉTICA

A formação sintética não utiliza a voz humana, ela utiliza modelos acústicos; alguns
parâmetros para essa formação podem ser obtidos como a frequência fundamental, voz e
níveis de ruídos.

Esses são alguns parâmetros utilizados para criar a forma da onda artificial da voz.
Muitos sistemas baseados em formação sintética geram artificialmente voz "robotizada" que
nunca será confundida com a voz humana. Entretanto, o máximo de naturalidade nem sempre
é o objetivo dos sistemas de síntese de voz.

SPEECH RECOGNITION: O reconhecimento de fala é o processo pelo qual um


computador (ou outro tipo de máquina) identifica palavras faladas. Basicamente, significa
falar com a máquina e ela reconhecer corretamente aquilo que está sendo dito. Os sistemas de
reconhecimento de fala (ASR) podem ser separados em diferentes classes, descrevendo os
tipos de afirmações que têm a habilidade de reconhecer. Essas classes são baseadas no fato de
que uma das dificuldades do ASR é a capacidade de determinar quando um orador começa e
termina uma dicção. (COOK, 2002).

A maioria dos pacotes não se encaixa em mais do que uma classe, dependendo do
modo como eles estão sendo usados. Existem basicamente cinco tipos de reconhecedores de
voz:

• Palavras isoladas: Reconhecedores de palavras isoladas normalmente exigem de cada


elocução uma parada. Isso não significa que ele só aceita palavras, mas que exige uma dicção
em uma única vez. Frequentemente, estes sistemas têm a chamada "Escuta / Não Escuta", em
que é requerido que o orador tenha que esperar entre as pausas.

20
• Palavras conectadas: Sistemas de palavras conectadas são semelhantes às palavras
isoladas, mas permitem separar afirmações para serem rodadas em conjunto, com uma pausa
mínima entre elas.

• Discurso contínuo: Reconhecedores com capacidades de fala contínua são alguns dos
tipos de ASR mais difíceis de implementar, uma vez que devem se utilizar de métodos
especiais para determinar fronteiras de dicção. Reconhecedores de fala contínua permitem que
os usuários falem quase que naturalmente, enquanto o computador determina o conteúdo.

• Fala espontânea: Um sistema com ASR de fala espontânea deverá ter a capacidade de
lidar com uma variedade de recursos naturais como palavras sendo executadas em conjunto,
tais como "uns" e "ahs", e mesmo ligeiras engasgadas por parte do locutor.

• Verificação / identificação de voz: Alguns sistemas de ASR têm a capacidade para


identificar usuários em particular, visando assim sistemas mais específicos que tenham em
vista a verificação de pessoas como sistemas de segurança, por exemplo.

DESAFIOS DE AVALIAÇÃO

É muito difícil avaliar sistemas de voz consistentemente, pois diferentes sistemas


geralmente utilizam dados de voz diferentes. A qualidade da síntese de voz depende
principalmente da qualidade da gravação da voz existente. Como consequência, avaliar a
síntese de voz é o mesmo que avaliar a qualidade da gravação. Recentemente pesquisadores
começaram a avalizar sistemas de voz baseados em um dataset comum. Com isso, pode-se
avaliar os sistemas focando nas diferenças de tecnologia e não nas diferenças de gravações.

2.5. PLATAFORMAS E LINGUAGEM DE PROGRAMAÇÃO

Neste ponto do documento, passamos a abordar a parte prática envolvida em nosso


projeto com a especificação do framework empregado.

Frameworks e Bibliotecas

Com a complexidade vista nos sistemas atuais, a tarefa de programação fica cada
vez mais abrangente, utilizam-se metodologias e técnicas que facilitam a implementação, uma
destas técnicas é o reuso de software, onde economizamos esforço e tempo desprendido no
desenvolvimento. Trata-se de um conjunto de classes e interfaces que mostra como decompor
uma família de problemas (SAUVÉ, 2008).

Framework se diferencia de uma simples biblioteca (toolkit), pois está se concentra


apenas em oferecer implementação de funcionalidades, sem definir a reutilização de uma

21
solução de arquitetura (design). Os frameworks podem ser estudados em nível de código e
apresentam algumas características (SAUVÉ, 2008):

.NET Framework

O .NET Framework (ou DOTNET) é uma coleção de bibliotecas unificadas que entre a
grande quantidade de linguagens que fazem parte deste framework, constituindo a assim
chamada plataforma .NET, aparece o C#, adotada em nosso projeto.

A plataforma .NET é um ambiente de desenvolvimento poderoso, que permite o


desenvolvimento de aplicações DESKTOP (para Windows ou console), aplicações para
aparelhos móveis (palmtops, celulares, etc.) e desenvolvimento de aplicações WEB (através
da tecnologia ASP.NET).

2.6 FERRAMENTAS E TECNOLOGIA

MICROSOFT VISUAL STUDIO.NET: é uma ferramenta de desenvolvimento que surgiu


no final de 2001. O seu surgimento revolucionou a maneira de se programar, principalmente
para a Web, por ser uma ferramenta que facilitou o que antes era mais complexo de fazer. A
Microsoft lançou o Visual Studio.NET (VS.NET). Em fevereiro de 2002 (A Versão beta foi
lançada através de Microsoft Developer Network em 2001) (F. David, 2013).

2.6.1 LINGUAGEM DE PROGRAMAÇÃO

Linguagem de programação é um método padronizado para comunicar instruções para um


computador. É um conjunto de regras sintáticas e semânticas usadas para definir um

2.7. TIPOS DE LINGUAGENS DE PROGRAMAÇÃO

Existem variados tipos de linguagens de programação. Cada uma com a sua


particularidade, no entanto algumas podem ser mais adequadas para certos problemas em
específico. De todas as linguagens de programação destacam-se:

Java Script: Java Script é uma linguagem de programação interpretada. Foi


originalmente implementada como parte dos navegadores web para que scripts pudessem ser
executados do lado do cliente e interagissem com o usuário sem a necessidade deste script
passar pelo servidor, controlando o navegador, realizando comunicação assíncrona e alterando
o conteúdo do documento exibido.

Python: Considerada a linguagem de mais fácil aprendizado, a Python continua a ser


uma das mais populares no mercado, mesmo que tenha sido lançada há mais de 30 anos atrás

22
(em 1989). É um dos códigos de mais fácil leitura e é bastante utilizado para desenvolvimento
web em achine laringe.

Java: A linguagem de programação mais solicitada de longe é o Java. No topo da


maioria dos índices especializados na medição da popularidade, o Java se caracteriza por ser
portável, ou seja, é possível compilar um programa em Java de maneira fácil para todo tipo de
aparelho. Vale lembrar também que o Java é a linguagem mais usada para a criação de
aplicativos Androide.

C#: Outra variação da linguagem C que é bastante popular no mercado. Porém,


anda caindo em desuso em relação a anos anteriores. Assim como o C++, é mais complexo de
se aprender que outras linguagens como Python e Java Script.

Por outro lado, ainda é uma linguagem bastante requisitada na área de


desenvolvimento de games, se tornando essencial para quem planeja entrar nesse mercado.
Mas para a criação do nosso sistema, foi usado o c# por causa do seu dinamismo na exclusão
do mesmo. Isso deu-nos um apoio muito prático, na realização do sistema para ajudar os
indivíduos que sofrem de problemas de colapso neural, e muito mas.

2.8. ANÁLISE

A época de análise, foi se tratando as questões referente ao problema do projeto em


causa. Posto isto, temos o objetivo de criar um software que atenda às exigências do nosso
paciente em causa, com as extensões da API para os idiomas nacionais. Inicialmente ele
pretende atender aos requisitos compreendidos pelo problema formulado, mas com a meta de
sofrer alterações em sua estrutura interna de forma a incorporar novas funcionalidades ao
longo de seu ciclo de vida. Foram analisadas ferramentas de TTS de domínio público,
integrando sistemas operacionais como o “Windows 10 pro” e seu Narrador, partimos do
princípio a construir um TTS que pudesse executar conversas satisfatório e que fosse possível
executar melhorias em sua estrutura ao longo do processo. Verificamos os seguintes requisitos
para o software:

 A aplicação deve permitir a reprodução de vídeo, música, e foto.


 A aplicação deve salvar as conversas em um arquivo .txt com data das conversas em
processão.
 A aplicação deve oferecer ao usuário a possibilidade de controlar a velocidade da
voz ou da conversa em destaque.
 A aplicação deve permitir a interação entre o software e o paciente;

23
 A aplicação deve uma imagem que diferenciaria, um reconhecimento de voz com
necessidades do usuário.

CAPÍTULO 3: DESENVOLVIMENTO

Este capítulo descreve a metodologia científica utilizada para o desenvolvimento do


trabalho, etapas da pesquisa, ferramentas utilizadas, bem como a metodologia de
desenvolvimento de software levada a cabo.

3.1. METODOLOGIA DE DESENVOLVIMENTO DE SOFTWARE

Para o desenvolvimento do sistema, foi adoptado a metodologia de desenvolvimento de


software XP. XP é uma maneira leve, eficiente, de baixo risco, flexível, previsível, científica,
e divertida para desenvolver software.

3.2. METODO DE INVESTIGAÇÃO CIENTIFÍCA

Nessa secção são apresentados os procedimentos metodológicos, empregada para


elaboração do trabalho que permitiu alcançar a perspectiva do trabalho.

3.2.2. LEVANTAMENTO DE REQUISITOS

O levantamento de requisitos do sistema foi realizado por intermédio de um questionário


e pesquisa bibliográfica. Aplicamos um questionário com estruturado fechado e abertas
destinadas aos cliente activos funcionários do centro de saúde do referente distrito do sequele,
alvo da pesquisa, a fim de nos permitir a recolha das informações necessárias para a
elaboração do nosso trabalho. É uma técnica na qual o objectivo básico consiste em entender
o significado que os questionados outogram o tema em estudo. Quanto a pesquisa,
bibliográfica permite fazer um recurso a várias referências bibliográficas de autores que já
desenvolveram a temática sobre sistema Web de gestão e controlo de saúde. Em seguida
foram levantados os custos e benefícios do sistema, bem como as tecnologias e softwares a
serem utilizados.

3.2.4. RECURSOS EMPREGADOS

O recurso utilizado para o desenvolvimento do sistema, tanta linguagem como


ferramentas, havendo a aplicação de recursos financeiros, para o desenvolvimento do sistema.

24
No processo de desenvolvimento do projecto, foram feitos o gasto na aquisição de matérias de
apoio conforme APÊNDICE B.

3.3. RECURSOS UTILIZADOS

A seguir é apresentada uma breve descrição dos recursos utilizados na implementação do


projecto:

 O processo de modelagem do sistema envolveu o uso dos seguintes recursos:


 Visual Stdio 20217 13.2.0: para a criação da interface do sistem e a isterialização de
codigo;
 brModelo 3.0: para relacionamento de entidade. E diagrama de conceptual e lógico;
 Star uml-v2.5.0: para modelagem de diagrama UML.
 O processo de desenvolvimento do sistema envolveu o uso dos seguintes recursos:
 VS stdio: Compilador de codigo;
 Microsoft Word 2021: documentação e redacção do trabalho;
 Google chrome 99.0.4844.82: brower;

3.1. REQUISITOS DO SISTEMA

3.1.1. ARQUITECTURA DO SISTEMA

O Sistema de do funcionamento do KAF, e como acontece as sintetisação dos dados em


falas auditivas:

Figura 2.3: Arquitectura Ponto a Ponto.

3.1.2. REQUISITOS FUNDAMENTAIS DO SISTEMA

São apresentados os requisitos do Projecto, separados em requisitos funcionais e


requisitos não funcionais.

3.1.2.1. REQUISITOS FUNCIONAIS

 Os requisitos funcionais para o desenvolvimento do sistema, foram previstos as seguintes


funcionalidades:
25
 O sistema deve permitir inserir, consultar, alterar, eliminar e visualizar dados;
 O sistema deve permitir o registo dos utilizadores;
 O sistema deve prover acesso aos a comunicação aberta com o paciente;
 O sistema permite a confidencialidade de paciente e doctor;
 O sistema permite implementar novas conversas;
 O sistema permite a conexão com a interenet;
 O sistema permite que o paciente tenha acesso a conversas antigas;
 O sistema deverá permitir o envio de notificações;
 O sistema deve permitir sair do sistema.

3.1.2.2. REQUISITOS NÃO FUNCIONAIS

 A LISTA DOS REQUISITOS NÃO FUNCIONAIS:


 O sistema deverá operar em plataforma Linux, Windows e Mac Os;
 O sistema deverá ser acessado por fazer a instalação de uma setup a um computador,
sendo necessário o software Acrobat Reader para visualizar os ficheiros pdf;

REQUISITOS DE HARDWARE

 Os requisitos de hardware utilizados para o desenvolvimento do sistema estão


apresentados abaixo:
a) Requisitos do Servidor
 Disco Duro-250GB
 Memória RAM - 2GB
 Processador – Core (TM) i5-2350M CPU 2.72GHz

 REQUISITOS DE SOFTWARES

 No processo de desenvolvimento do sistema, foram utilizados os requisitos de


softwares na aquisição de matérias de apoio conforme abaixo:
a) Requisitos do Servidor
 Sistemas operativos, Windows 8, 8.1 Pro e 10 Pro;

3.2. MODELAGEM DO SISTEMA

A modelagem do sistema foi baseada na UML.Este trabalho conta com quatro destes
diagramas, são eles:

 Diagrama de casos de uso: mostra as principais funcionalidades do sistema, ligadas ao


actor que vai invoca-las;

26
 Especificação dos casos de uso: faz a explanação de como funciona os casos citados
no tópico do diagrama anterior;
 Diagrama de classes: mostra todas as classes do sistema, com seus atributos e
métodos;
 Diagrama de fluxograma: utilizado para mostrar as etapas de funcionalidades.

3.2.1. ACTORES DO SISTEMA

Tabela 1.1: Actores

ACTORES DESCRIÇÃO

Administrador é um actor genérico que é responsável directo pelo


cadastro dos utilizadores, principalmente pelo cadastro de paciente, Ele
Administrador
tem o privilegio total do sistema. E podera ver dodas as conversas
confidencias.

KAF É o individuo responsavél por ter a conversa com os pacientes...

É um actor que tem o privilégio de realizar a conversa com o sistema


Paciente
com intuito de melhoras as suas habilidades cognitivas.

3.2.2. DIAGRAMA DE CASO DE USO DO SISTEMA

Um caso de uso descreve uma sequência de acções que um sistema desempenha. Em


outras palavras, os casos de uso descrevem as interacções entre um utilizador e um sistema.

27
Figura 2.4 Caso de uso do sistema

3.2.2.1. DESCRIÇÃO DE CASO DE USOS DO SISTEMA

Nessa secção será descrito cada actividades mais importantes do caso de uso para a etapa
do sistema:

Tabela 1.2: Caso de ação do sistema

28
Nome do Caso de Uso: Tela Principal

Autor envolvido: KAF e Paciente

Este caso descreve como o KAF e o Paciente


Descrição:
poderão exercer as suas consultas direita com o sistema .

Não precisa fazer nada além de inicializar a tela


Pré-condições:
principal

O paciente poderá acessar as funcionalidades do


Pós-condições:
sistema.

Ações do Autor Ações do Sistema

1. Permite acesso aos tratamentos 1. Fazer pesquisa pela internet.


disponíveis do sistema. 2. Fazer reprodução das conversas gravadas.
2. Insere dados referente a bens ser 3. Efetuar conversas direcionadas com o sistema.
localizado ou efetua a busca sem 4. Caso de uso se encerra.
filtros.

Fluxo de Eventos Alternativos:

1. Informar sobre falta de dados ou O sistema informa a ocorrência de erro, mostra


falta de dialogo mensagem informando que não consegui falar com o
paciente

CAPÍTULO 4: RESULTADOS E DISCUSSÕES

Neste capítulo serão apresentados os resultados atingidos, contendo a, ilustração das


interfaces. Primeiramente a interface é descrito exibindo suas funcionalidades do sistema.

 ILUSTRAÇÃO DAS INTERFACES

O acesso ao sistema se dá através de computadores, com uma comunicação ponto a


ponto. Em que por sua vez o pacinte tera que ter o sistema instalado no seu dispositivo
desktop ou leptop.

29
A seguir é apresentada breve descrição das funcionalidades das telas e suas telas mais
importante do sistema:

 TELA PRINCIPAL

A Figura 4.2. ilustra a tela principal do sistema, onde é apresentado todas as respectivas
funcionalidades do sistema. A Tela principal apresentada, permite a comunicação imediata
entre o paciente e o sistema. Onde por suas vez o sistema, vai dar a iniciativa da conversa em
causa. O Administrador é o único com privilégios para conseguir ver as sesões que são
realizadas entre o paciente e o sistema, com a noção levada em conta entre o sigilo de
confiabilidade entre o dotor e o paciente.

Figura 2.5: Tela principal

CAPÍTULO 5: CONCLUSÃO

Concluimos nesse trabalho depois de logas horas de investigação e pesquisa a saber que ,
o sistema Kaf, é um sistema que vem ajudar a minimizar o trabalhos dos psicologos, os
terapeutas e não tiralos essa liberdade.

A aplicação-destino do sistema desenvolvido durante o estágio, foi o Sistema de


Tratamento intitulado K.A.F, um sistema que integra a solução para os pacientes, e que
permite elaborar a ajuda necessária para a satisfação do mesmo. Esta aplicação foi alvo
de uma reformulação visual durante o estágio, tendo sido alterada a orientação gráfica
baseada no sistema Windows para sistemas web, sendo que as decisões do estagiário
quanto às ferramentas e tecnologias a adotar durante o desenvolvimento dos sistemas

30
mencionados, foi condicionada pela compatibilidade com o novo sistema web utilizado
pelo STA.

REFERÊNCIAS BIBLIOGRÁFICAS

1. Abreu, L.F.S(2011), “A Segurança da Informação nas Redes Sociais”, Cap.I, Pag.1-


56, Ed: São Paulo-br.2011

2. Alencar, M.A.S (2010), “Fundamentos de Redes de Computadores”, Cap.VI, Pag.1-


50, Ed: Manaus-AM-br.2010
3. Andrade, M.A.R; Neves,L.S.M(2016).” A Importância dos Sistemas de Informação
para os Processos nas Organizações ”, Pag.1-15, Ed: Famath-br.2016
4. BURLAMAQUI, A.M.F. Java Speech – Tutorial passo a passo. 2015. Disponível em:
5. <http://aquilesburlamaqui.wikidot.com/ javaspeech>. Acesso em: 07 set. 2015.
6. CMUSPHINX. Open Source Speech Recognition Toolkit. 2015. Disponível em:

31
7. <http:// cmusphinx.sourceforge.net/>. Acesso em: 6 dez. 2022.
8. KUSA, L. J.A.R.V.I.S. (Java-Speech-API). 2019. Disponível em:
9. <https://github.com/lkuza2/ java-speech-api>. Acesso em: 12 nov. 2015.
10. MEY, G. Reverse Engineering Google's Speech To Text API. 2016. Disponível em:
11. <https://github.com/gillesdemey/google-speech-v2/>. Acesso em: 30 mai. 2022.
12. MICROSOFT. Microsoft Speech Platform SDK 11 Documentation. 2022. Disponível
em: <https://msdn.microsoft.com/en-us/library/ dd266409%28v=office.14%29.asp>.
Acesso em: 6 dez. 2022.
13. ORACLE. Java Speech API Frequently Asked Questions. 2015. Disponível em:
<http://www. oracle.com/technetwork/pt/java/jsapifaq-135248.html>. Acesso em: 6
dez. 2015.
14. PAYTON, T. Google Speech API. 2014. Disponível em: <http://blog.travispayton.
com/wp-content/uploads/2014/03/Google-Speech-API.pdf>. Acesso em: 6 dez. 2022.
SILVA, G.F. We have science. 2013. Disponível em: <http://wehavescience.com/
2012/11/03/reconhecimento-de-voz-com-sphinx-4/>. Acesso em: 09 nov. 2013.
15. TIOBE. TIOBE Index for May 2016. 2016. Disponível em:
16. <http://www.tiobe.com/tiobe_index>. Acesso em: 30 mai. 2016.
17. VÁRZEA PAULISTA. Prefeitura Municipal. pt_metaphone(). 2015. Disponível em:
18. <http:// informatica.varzeapaulista.sp.gov.br/metaphone/>. Acesso em: 12 nov. 2015.

APÊNDICES
APÊNDICE A: CRONOGRAMA
A.1.1- Etapas de Desenvolvimento do Projecto

CRONOGRAMA
ETAPAS JAN/21 MAR/21 NOV/21 JAN/22 FER/22 ABR/23
Início do Projeto Tecnologico
Estudo de Campo
Coleta de Dados
Análise de Dados
Estrutura do Projeto
Tecnologico

32
Codificação
Revisão do Trabalho
Defesa Final (P.A.P)

1ª Etapa(T1) Escolha do tema


APÊNDICE B: GASTO
2ª Etapa(T2) Objetivos de estudos

3ª Etapa(T3) Produção documental

4ª Etapa(T4) Revisão de literatura e enquadramento teórico

5ª Etapa(T5) Levantamento de dados

6ª Etapa(T6) Análise de tratamento dos dados

7ª Etapa(T7) Codificação

8ª Etapa(T8) Levantamento das conclusões

9ª Etapa(T9) Entrega do trabalho

10ª Etapa(T10) Defesa da PAP

FINANCEIROS DO PROJECTO
B.1.1- Custos dos Recursos Humanos.

ITENS VALORES
Análise de sistema 80.000 akz
Desenvolvimento 100.000 akz
Administração 60.000 akz
DLL Suport 40.000 akz
Outros 50.000 akz
TOTAL GERAL 330.000 AKZ

33

Você também pode gostar