Trabalho

Propaganda
XIII JORNADA DE ENSINO, PESQUISA E EXTENSÃO – JEPEX 2013 – UFRPE: Recife, 09 a 13 de dezembro.
RECONHECIMENTO E SINTETIZAÇÃO DE VOZ COMO
ALTERNATIVA PARA SOFTWARE INCLUSIVO
Paulo César Florentino Marques1, Alessandro Bezerra Advíncula2, Isledna Rodrigues Almeida3
Introdução
O avanço tecnológico traz consigo a inserção maciça de dados em computadores. Os processos manuais estão cada
vez menos presentes no nosso dia a dia. Com isso temos várias vantagens no que se refere a armazenamento,
recuperação e disseminação de informação. No entanto, nem tudo é benefícios para a população. Se faz necessário
pensar na inclusão de pessoas nesse meio, pois existem tecnologias, mas também existem indivíduos que são excluídos
por essas tecnologias.
É fato que temos grandes avanços tecnológicos no mundo virtual, mas o acesso aos conteúdos digitais está distante
do ideal esperado. São diversos fatores que levam a exclusão digital, dentre eles podemos citar: fatores sociais;
econômicos; educacionais; fatores de deficiências físicas; além de outros motivos que levam os indivíduos a estarem
fora desse avanço.
A inclusão é, de fato, um direito de qualquer cidadão, para tanto é necessário a adaptação de várias aplicações de
computadores que possibilite o uso por pessoas com limitações, de qualquer tipo, incluindo assim todos que por
ventura, venham a usar o software desenvolvido.
Recentemente, surge nas áreas de estudo da computação e da ciência da informação a abordagem que estuda o
problema apresentado. Denominada de Interação Humano-computador (IHC), é uma área que tende a ser absorvida com
intensidade por desenvolvedores e que estuda características multidisciplinares buscando, como objetivo principal,
tornar máquinas sofisticadas mais acessíveis no tocante da interação aos seus usuários característicos (CARVALHO,
2003). Para que isso aconteça, o estudo e implementações de interfaces de interação é importante para estabelecimento
de padrões utilizáveis por todos os tipos de usuários.
Toda a parte do software que tem contato com o usuário é denominada de interface de usuário. Parte a qual o
usuário tem acesso direto, e com ela interagem possibilitando a realização de tarefas complexas através da utilização de
elementos gráficos, auditivos e físicos. Interface pode ser descrita por software ou hardware (dispositivos de entrada e
saída: teclado de computador, mouse ou outros dispositivos) (PRATES & BARBOSA, 2003).
Com foco no desenvolvimento de interface para deficientes visuais, este trabalho descreve metodologia de
implementação de interface através de reconhecimento e sintetização de voz. Método aplicado na implementação de
software para lanchonete a qual apresenta um cardápio digital onde o cliente pode realizar seus pedidos por comandos
de voz.
Nas próximas seções descrevemos sobre acessibilidade, avaliação de interface de usuário, público-alvo, ambiente de
teste, apresentação da aplicação desenvolvida e resultados da aplicação.
Materiais e Métodos
A. Público-Alvo
O projeto desenvolvido tem como público-alvo usuários de lanchonetes que possuam deficiência visual e que
possam utilizar o software como um cardápio digital, permitindo que o mesmo efetue pedidos através de comandos de
voz ou entradas de teclado e mouse.
O fato da aplicação ter como público-alvo deficientes visuais, não afetou no desenvolvimento de elementos gráficos
que auxiliam usuários que não possuam esse tipo de deficiência ou que a tenha em menos nível de gravidade.
B. Ambiente de Teste
Para o desenvolvimento da aplicação foi utilizada a API (Application Programming Interface) Java Speech, esta API
foi criada com o objetivo de promover a síntese e o reconhecimento de voz em aplicações Java (MARANGONI &
1
Primeiro autor é bacharelando em Sistemas de Informação na Universidade Federal Rural de Pernambuco, Unidade Acadêmica de Serra
Talhada. Fazenda Saco, s/n, Caixa Postal 063, Serra Talhada-PE. E-mail: [email protected]
2
Segundo autor é bacharelando em Sistemas de Informação na Universidade Federal Rural de Pernambuco, Unidade Acadêmica de Serra
Talhada. Fazenda Saco, s/n, Caixa Postal 063, Serra Talhada-PE. E-mail: [email protected]
3
Terceiro autor é Professora do Curso de Bacharelado em Sistemas de Informação na Universidade Federal Rural de Pernambuco, Unidade
Acadêmica de Serra Talhada. Fazenda Saco, s/n, Caixa Postal 063, Serra Talhada-PE. E-mail: [email protected]
XIII JORNADA DE ENSINO, PESQUISA E EXTENSÃO – JEPEX 2013 – UFRPE: Recife, 09 a 13 de dezembro.
PRECIPITO, 2006). Além desta API foi utilizado também softwares que possibilitassem a sintetização e o
reconhecimento, foi utilizado o IBM ViaVoice que possui comunicação com a API descrita.
Para tanto foi utilizado um computador com sistema operacional Windows XP, no qual foi instalado o IBM
ViaVoice, o Eclipse (IDE de desenvolvimento Java), e devidamente configurado como descrito abaixo:
B.1. Instalação do TTS SDK
Segundo Software a ser instalado, é utilizado em conjunto com o anterior e fornece os arquivos de bibliotecas necessários
para o desenvolvimento de aplicações que utilizem o TTS Runtime.
B.2. Instalação do VVCC Runtime
Assim como o TTS Runtime é para a sintetização o VVCC Runtime é para o reconhecimento de voz. É necessário a
instalação dele também.
B.3. Instalação do IBM ViaVoice SDK
O IBM ViaVoice SDK é o conjunto de arquivos necessários para o desenvolvimento de aplicações capazes de reconhecer
comandos de voz.
B.4. Instalação do SDK com Java
Todo o desenvolvimento de aplicações Java se faz necessária a instalação do SDK do Java com essa não seria diferente.
Então Instale o SDK e baixe a API do Java Speech.
É necessário ainda a configuração de variáveis de ambiente. Inclua junto da CLASSPATH o caminho para a API do Java
Speech.
B.5. Treinando o IBM ViaVoice
É importante ainda treinar o IBM ViaVoice para que ele possa reconhecer as palavras a serem inseridas no sistema via voz.
Para isso siga os passos em Opções do IBM ViaVoice que estará no painel de controle do OS.
B.6. Implementação de gramática de reconhecimento
Para que o reconhecedor funcione de forma adequada é necessário que tenha uma gramática, a qual ele procurará a palavra a
partir da pronúncia dela, ou seja, para qualquer comando que seja oferecido pela voz, deve está descrito na gramática.
Com essas configurações estamos aptos para o desenvolvimento da aplicação. Podemos definir várias
configurações na gramática de reconhecimento da seguinte forma:
grammar gramatica;
public <comandos> = usuários | ajuda | ir para | examinar;
public <direcao> = Esquerda | Direita | Cima | Baixo;
public <name> = Computador | Paulo César | Alessandro | Isledna;
public <sentence> =
{comandos}
A partir da gramática é possível reconhecer uma palavra, uma sentença, um nome, ou qualquer definição que
esteja descrita na gramática.
C.Apresentação da Interface de Usuário
Como mencionado anteriormente foi desenvolvido um sistema de atendimento em lanchonete, o qual será utilizado
pelos usuários da lanchonete, com a particularidade de oferecer interface para deficientes visuais que vão interagir por
meio de comandos de voz.
Na tela principal (Figura 1) o cliente tem a opção de escolher entre três ações predefinidas: Fazer pedido, Fechar
pedido e Detalhamento da conta, estas opções são informada ao cliente por um sistema de alto-falantes. Ao selecionar a
opção fazer pedido, abre-se a tela onde será informado o produto desejado (Figura 2), depois de selecionada a categoria,
produto, tamanho e quantidade, ele seleciona a ação desejada: Confirmar, Cancelar, Ler pedido ou Reiniciar pedido. No
final do processo, o cliente seleciona fechar pedido, abrindo a tela de fechamento de pedido (Figura 3) e depois de
selecionado a modalidade de pagamento (Crédito ou Débito), poderá escolher entre as opções: Confirmar, Cancelar ou
Ler pagamento.
Resultados e Discussão
Os testes realizados com o sistema aconteceram de forma controlada, em local silencioso o qual foi obtido um
resultado favorável a utilização de reconhecimento de voz através da API Java Speech.
XIII JORNADA DE ENSINO, PESQUISA E EXTENSÃO – JEPEX 2013 – UFRPE: Recife, 09 a 13 de dezembro.
No entanto, foi observado uma certa sensibilidade do microfone com relação a ruídos externos, podem atrapalhar na
interpretação do comando dependendo do ambiente isso pode ser um fator que possa atrapalhar a execução correta do
sistema.
Outro fator que é incomodo é a configuração do computador para o funcionamento correto do IBM ViaVoice, ainda
é necessário melhorar na facilidade de instalação e configuração do mesmo, apesar de ser muito poderoso no
reconhecimento, foi notado também que a interpretação é melhor a partir da voz que inicialmente configurou o sistema
para funcionar, além de em alguns momentos deixa de reconhecer.
Contudo foram realizados testes suficientes no qual foram obtidos cerca de 98% dos resultados favoráveis, ou seja,
em apenas 2% dos testes não conseguimos finalizar o pedido devido algum problema de reconhecimento de voz. Já os
testes de eventos de teclado e mouse foram todos favoráveis e conseguindo efetuar o pedido com facilidade.
Dessa forma, podemos concluir que a API Java Speech, junto com o IBM ViaVoice acompanhados de eventos de
teclado podem sim está presente em aplicações Java tornando-a acessível a qualquer usuário.
Referências
CARVALHO, José Oscar Fontanini. (2003) “O papel da interação humano-computador na inclusão digital” Transinformação, Campinas, 15 (Edição Especial): 75-89, set/dez., 2003;
PRATES, R.O.; BARBOSA, S.D.J. (2003) “Avaliação de Interfaces de Usuário – Conceitos e Métodos”, Anais do
XXIII Congresso Nacional da Sociedade Brasileira de Computação. XXII Jornadas de Atualzação em Informática
(JAI). SBC 2003, Agosto de 2003;
SOUZA, Andrea Poletto; SANTAROSA, Lucila Maria Costi (2003) “Ambientes Digitais Virtuais: Acessibilidade aos
Deficiêntes Visuais”, Novas Tecnologias na Educação, V. 1 Nº 1, Fevereiro, 2003;
MARANGONI, Josemar Barone.; PRECIPITO, Waldemar Barilli. (2006) “Reconhecimento e Sintetização de Voz
usando Java Speech”, Revista Científica Eletrônica de Sistemas de Informação. Ano II, Nº 04, Fevereiro de 2006;
Figura 1. Tela principal da aplicação.
Figura 2. Tela realizado o pedido. Os comandos de voz, são os
mesmos que estão em cada lista de seleção. (Bebida, Lanche,
Pizza, Suco, Confirmar, Cancelar, Ler pedido, Reiniciar).
Figura 3. Tela de fechar pedido. Os comandos de voz, são os mesmos que estão em cada botão ou lista. (Crédito, Débito, Fechar,
Cancelar Fechamento, Ler Pagamento)
Download