Desenvolvimento de Aplicativos com ASR para
Android
Jonathas Trindade e Thiago Sylas Laborat´orio de Processamento de Sinais
Laborat´orio de Sistemas Embarcados Universidade Federal do Par´a 24 de fevereiro de 2012
Sum´
ario
1 Introdu¸c˜ao
2 Instala¸c˜ao
3 Configura¸c˜ao do ambiente
4 C´odigo-fonte
5 Instala¸c˜ao do aplicativo no celular
6 Programa executando
Introdu¸c˜
ao
Objetivo do mini-curso: Introdu¸c˜ao a programa¸c˜ao para dispositivo Google Android.
Pr´e-requisitos:
Programa¸c˜ao orientada a objeto. Conhecimento da linguagem java.
Conhecimento b´asico de programa¸c˜ao para Google Android
O que ´
e Android?
Android ´e um sistema operacional para dispositivos m´oveis
que roda sobre o n´ucleo Linux. Foi inicialmente desenvolvido
pela Android Inc., posteriormente o seu projeto foi passado para m˜aos da Google(˜2005).
Linguagem de programa¸c˜ao utilizada para o desenvolvimento:
Java e C#.
Ferramentas
Link do laborat´orio desenvolvedor do Android:
http://developer.android.com/index.html
Link do laborat´orio desenvolvedor do ASR:
http://cmusphinx.sourceforge.net/
Instala¸c˜
ao
Links para Downloads Necess´arios:
Eclipse - IDE para programa¸c˜ao http://www.eclipse.org/downloads/
SDK
SDK - Software Development Kit ou Pacote de Desenvolvimento de Software
http://developer.android.com/sdk/index.html
NDK
NDK - Native Development Kit ou kit de Desenvolvimento Nativo
http://developer.android.com/sdk/ndk/index.html
ADT
ADT - Android Development Tools ou Ferramentas para Desenvolvimento Android
http://developer.android.com/sdk/eclipse-adt.html
SphinxBase
SphinxBase foi desenvolvido pela CMU, sendo uma biblioteca de arquivos utilizada pelo PocketSphinx.
Link de download do SphinxBase 0.7:
http://sourceforge.net/projects/cmusphinx/files/sphinxbase/0.7/
PocketSphinx
PocketSphinx foi desenvolvido pela CMU, sendo o reconhecidor de voz escrito em C.
Link de download do PocketSphinx 0.7:
http://sourceforge.net/projects/cmusphinx/files/pocketsphinx/0.7/
Instala¸c˜
ao PocketSphinx e SphinxBase
1. Crie uma pasta com o nome de “sphinx”.
2. Baixe o arquivo SphinxBase 0.7, descompacta-o na pasta sphinx. Renomeie para “sphinxbase”.
3. Atrav´es do konsole, acesse a pasta sphinxbase e dˆe o comando:./autogen.sh. O projeto ser´a compilado.
4. Configure a vari´avel de ambiente: export LD LIBRARY PATH=/usr/local/lib
export PKG CONFIG PATH=/usr/local/lib/pkgconfig
Instala¸c˜
ao PocketSphinx e SphinxBase
5. Baixe o PocketSphinx. Descompacta o arquivo na pasta sphinx. Renomeie-a para “pocketsphinx”.
6. Acesse a pasta pelo Konsole e de o comando:./configure, make e make install. O programa ser´a compilado.
7. Para testar, basta rodar pelo konsole a aplica¸c˜ao
“pocketsphinx continuous” presente no diret´orio
. . . /sphinx/pocketSphinx/src/programs.
Configura¸c˜
ao do Ambiente
Configura¸c˜ao do ambiente de programa¸c˜ao(Eclipse).
ADT, para entrar na janela que aparece abaixo clique em Help -> Install New Software...
Selecione as op¸c˜oes de configura¸c˜oes que est˜ao nas janelas seguintes, em location da primeira imagem indique o caminho onde est´a o ADT que vocˆe baixou.
Configura¸c˜
ao do Ambiente
Android SDK Manager
Vocˆe deve instalar o emulador do android desejado, para isso
selecione-o em uma janela similar a esta abaixo, que pode ser
aberta clicando do s´ımbolo que est´a marcado com um c´ırculo
vermelho ou em window -> Android SDK Manager.
Configura¸c˜
ao do Ambiente
Android Virtual Device Manager
Clicando no s´ımbolo marcado em vermelho ou em window ->
AVD Manager a primeira janela ser´a aberta e em New ser´a
aberta uma segunda janela, que apresentar´a as configura¸c˜oes
de mem´oria, tamanho do emulador na tela, entre outros. A
mem´oria necess´aria pode ser menor que a apresentada
512Mb, dependendo do que se ir´a utilizar at´e 10Mb pode ser
o suficiente.
Configura¸c˜
ao do Pocketsphinx
Configura¸c˜ao necess´aria para utilizar o (Pocketsphinx ). Para esta configura¸c˜ao ´e preciso:
Abrir o projeto PocketSphinxDemo; Abrir a tela de propriedades deste projeto;
Em Builders ativar e configurar o “SWIG“ e o “NDK build“.
Configura¸c˜
ao do Pocketsphinx
Configura¸c˜ao do SWIG:
Em location indique onde o SWIG est´a instalado em sua m´aquina e em Working Directory indique a pasta com o projeto que vocˆe ir´a trabalhar.
Em Refresh marque a op¸c˜ao ”The folder containing ...“. Em Build Options desmarque a op¸c˜ao ”Specify working ...“.
Configura¸c˜
ao do Pocketsphinx
Configura¸c˜ao do NDK build:
Em location indique onde a pasta que cont´em o ndk est´a. Em Refresh marque a op¸c˜ao ”The project containing ...“. Em Build Options desmarque a op¸c˜ao ”Specify working ...“.
Configura¸c˜
ao do Pocketsphinx
Android.mk
O path indicado deve ser o local onde a pasta phinx foi inserida.
C´
odigo-fonte
O c´odigo fonte ´e mostrado em apresenta¸c˜ao em sala.
No celular
A instala¸c˜ao no celular ´e mostrada em apresenta¸c˜ao em sala.
Programa Executando
O programa n˜ao pode ser executado a partir do emulador no
computador, uma vez que este ainda n˜ao pode simular o
funcionamento de microfone, o que ´e preciso para o
reconhecimento de voz, sendo assim ele s´o poder´a fucionar corretamente em um celular android real.