Exemplo de uma Calculadora Usando a JLaPSAPI Este tutorial traz uma simples aplicação utilizando a JLaPSAPI, que têm o objetivo de controlar uma calculadora através de voz. 1- Cadastrar reconhecedor Coruja na JVM Crie um arquivo chamado speech.properties na home do usuário, por exemplo: /home/fulano/speech.properties Neste arquivo, insira a seguinte linha: PSAPIRecognizerEngineCentral=br.ufpa.laps.jlapsapi.jsapi.JLaPSAPIEngineCentral Este passo é necessário para que a JVM possa identificar os reconhecedores JSAPI disponíveis na máquina. Com a falta deste passo a chamada para o reconhecedor Coruja dará erro devido ao reconhecedor não estar registrado. 2 – Baixando os modelos acústico e de linguagem do Coruja Baixe-os na página da JlaPSAPI, tenha cuidado para baixar a mesma versão da JLaPSAPI e dos modelos(1.5 ou 1.7.x) para que tudo funcione corretamente. Em seguida, descompacte-os na home do usuário e cheque se a pasta está nomeada como coruja_jlapsapi, não podem haver subpastas. 3 – Baixando o Projeto e rodando pela linha de comando: Primeiramente você precisa baixar o projeto que está em nossa página, com o título “MyCalcJLAPSAPI”. Extraia os arquivos em seu workspace, mas se não possuir o eclipse faça do destino de sua extração a sua home. Para rodar o projeto pela linha de comando primeiramente você precisa ir até o diretório em que estão os arquivos que serão compilados. Para quem tem workspace: /home/fulano/workspace/MyCalcJLAPSAPI/src Para quem utilizou a home: /home/fulano/MyCalcJLAPSAPI/src Obs: No arquivo recognize.java existe um caminho para achar o arquivo que contém os comandos chamado Calc.grammar. Por default o caminho está configurado para quem está usando o eclipse, mas se você estiver usando apenas a sua home para o projeto utilize este caminho: System.getProperty("user.home")+"/MyCalcJLAPSAPI/Calc.grammar" Após entrar no diretório correto compile o projeto com o comando abaixo(é tudo só em uma linha): javac -classpath ../lib/jsapi.jar:../lib/jlapsapi.jar CalcListener.java JPanel.java Main.java Recognize.java RecoListener.java Translator.java Com os arquivos compilados é necessário executar o projeto, use o comando abaixo(só em uma linha): java -classpath ../lib/jsapi.jar:../lib/jlapsapi.jar:. Main Obs: se você mudar o código, o projeto terá que ser compilado novamente. 4 – Rodando com o Eclipse 3.1 – Importação do projeto no Eclipse 1- No menu File, procure pela opção Import e clique nela. 2 - Na pasta General, selecione a opção Existing Projects into Workspace e Next. 3- Selecione o diretório da MyCalcJLAPSAPI e clique em Finish. 3.2 – Execução do projeto A execução do projeto no eclipse é simples, primeiramente você precisa procurar no projeto “MyCalcJLaPSAPI”(a esquerda, no project explorer) o arquivo Main.java, abra esse arquivo clicando duas vezes e após isso execute utilizando o botão verde do eclipse, na figura abaixo a seta do mouse mostra este botão. 5 – Observações e explicações O funcinamento da calculadora é muito simples: o usuário primeiramente precisa dizer qual o primeiro número que ele deseja usar no cálculo, dizer a operação, o segundo número para que no final seja possível requerer o resultado da operação. Para formar um número qualquer é necessário montá-lo ditando um algarismo por vez e assim ir construindo este número. Aqui vemos os comandos implementos: Comando Implementado O que realiza “Zero”, “Um”, “Dois”, “Três … “Nove” Mostra na tela o algarismo correspondente “Subtrair” Usa o operador “-” ou transforma um número em negativo se for dito antes do primeiro número a ser ditado. “Multiplicar” Usa o operador “*” “Dividir” Usa o operador “/” “Somar” Usa o operador “+” “Resultado” Usa o operador “=” “Zerar” Zera a tela da calculadora, semelhante ao botão “ce” de uma calculadora comum “Apagar” Apaga da tela um algarismo apenas “Ponto” Coloca um ponto para a criação de números decimais Os comandos que estão sendo utilizados no projeto foram testados e tiveram uma melhor taxa de acerto. Caso não funcione, procure pelo arquivo JuliusLog no diretório /tmp do SO e mande para a lista de discussão para podermos ajudá-lo, além da mensagem no terminal. Em caso de dúvidas sobre o projeto ou qualquer outro tipo de dificuldade fique livre para enviar à lista de discurssão o que você precisa. E-mail do grupo: [email protected]