Jan 30

Continuando con las aplicaciones de voz, ahora es el turno para Sphinx-4; un sistema de reconocimiento de voz escrito en el lenguaje Java, que reconoce palabras del ingles y el cual instalaremos en una maquina con Ubuntu Linux 8.10

Pasos :

  • Abrir una consola
  • Ir a la pagina oficial de la aplicacion
    http://cmusphinx.sourceforge.net/sphinx4
  • Descargar la ultima version (ultima 1.0 de septiembre de 2004)
    http://sourceforge.net/project/showfiles.php?group_id=1904&package_id=117949
  • Por ejemplo con wget
    wget http://superb-east.dl.sourceforge.net/sourceforge/cmusphinx/sphinx4-1.0beta-bin.zip
  • Descomprimir el archivo
    unzip sphinx4-1.0beta-bin.zip
  • Cambiar al directorio de sphinx
    cd sphinx4-1.0beta
  • Instalar el Java Speech API
    • Cambiar el directorio a lib
      cd lib
    • Instalar JSAPI
      sh jsapi.sh
    • Aceptar la licencia pulsando y
    • Cambiar de directorio
      cd ..
  • Ejecutar uno de los demos, por ejemplo los digitos;
    En este momento necesita un microfono habilitado y decir los numero en ingles :
    java -jar bin/HelloDigits.jar

Enlaces :

Tagged with:



En January 30 de 2009, Marlon J. Manrique escribió acerca de Reconocimiento de Voz con Sphinx-4.
Jan 30

Para comenzar a desarrollar una aplicacion en Java que soporte sintesis de voz (convertir texto en voz), debemos comenzar por instalar el FreeTTS. Cabe recordar que esta aplicacion solo da soporte para voces en ingles.

Prerequisitos :

  • Tener instalado un JDK, por ejemplo el 6, si no lo tiene ejecutar
    sudo apt-get install sun-java6-jdk

Pasos :

  • Abrir una consola
  • Ir al sitio oficial de la libreria
    http://freetts.sf.net
  • Descargar la version mas actual (ultima version 1.2.1 de Mayo de 2005)
    http://sourceforge.net/project/showfiles.php?group_id=42080
  • Por ejemplo descargar con wget
    wget http://superb-east.dl.sourceforge.net/sourceforge/freetts/freetts-1.2.1-bin.zip
  • Descomprimir el archivo
    unzip freetts-1.2.1-bin.zip
  • Cambiar de directorio
    cd freetts-1.2.1
  • Ejecutar la aplicacion para producir la voz segun el texto
    java -jar lib/freetts.jar -text "This is a Test"
  • Utilice el siguiente comando para mostrar la ayuda
    java -jar lib/freetts.jar -help

Con esta libreria es posible almacenar el texto hablado en un archivo :

  • Ejecute el comando
    java -jar lib/freetts.jar -dumpAudio test.wav -text "This is a Text"

Enlaces :

Tagged with:



En January 30 de 2009, Marlon J. Manrique escribió acerca de Instalacion de FreeTTS en Ubuntu 8.10.
Jan 30

FreeTTS es un sistema de sistesis de voz (aplicacion que convierte texto en voz) escrito totalmente en Java. Esta basado en Flite: una aplicacion de sintesis de voz desarrollada en la universidad de Carnegie Mellon University. Flite a su vez se deriva del sistema de sintesis de voz Festival de la universidad de Edinburgh y del proyecto FestVox de la universidad Carnegie Mellon University.

La version actual de FreeTTS incluye las siguientes caracteristicas :

  • Nucleo para la sintesis de voz.
  • Soporte para diferentes voces :
    • 8khz, hombre, ingles, US
    • 16khz, hombre, ingles, US
  • Soporte para importar voces de FestVox (Solamente Ingles US)
  • Soporte especifico para importar voces de CMU ARCTIC voices from FestVox (Solamente Ingles US)
  • Soporte para voces de MBROLA (descargas aparte)
    • 16khz, mujer, ingles, US
    • 16khz, hombre, ingles, US (dos voces)
  • Soporte parcial para Java Speech API (JSAPI 1.0)
  • Documentacion extensa
  • Demos

Desafortunadamente no soporta español, pero me sirve para una aplicacion que estoy desarrollando.

Enlaces :

Tagged with:



En January 30 de 2009, Marlon J. Manrique escribió acerca de Que es FreeTTS ?.
Jan 30

android_logoEs posible utilizar diferentes emuladores para ejecutar las aplicaciones, esto es importante en el momento de realizar pruebas, para verificar que nuestra aplicacion si se ejecuta bien en los diferentes tamaños de pantalla.

Para ejecutar el Emulador con un skin diferente, ejecute el comando :

  • emulator -skin <SkinID>
    Donde SkinID, puede ser HVGA-L, HVGA-P, QVGA-L, QVGA-P
android_e-mini-hvga-p android_e-mini-hvga-l
android_e-mini-qvga-l android_e-mini-qvga-p

Enlaces :

Tagged with:



En January 30 de 2009, Marlon J. Manrique escribió acerca de Skins del emulador de Android.
Jan 30

android_logoUna de las cosas que tenia pendientes por hacer es inatalar el SDK de Android para probar algunas aplicaciones de codigo abierto que he encontrado por ahi, asi que mi necesidad no es la de desarrollar una gran aplicacion si no poder crear aplicaciones desde consola utilizando ant y ejecutarlas en el emulador de Android, asi que aqui estan las instrucciones.

Requisitos :

  • Tener instalado un JDK, por ejemplo el 6, si no lo tiene ejecutar
    sudo apt-get install sun-java6-jdk
  • Tener instalado Ant, si no lo tiene ejecutar
    sudo apt-get install ant

Instalacion del SDK de Android :

  • Ir a la pagina de descarga del SDK de Android
    http://code.google.com/intl/und/android/download_list.html
  • Abrir una consola
  • Bajar la ultima version para Linux, por ejemplo :
    wget http://dl.google.com/android/android-sdk-linux_x86-1.0_r2.zip
  • Descomprimir el archivo, esto crea el directorio android-sdk-linux_x86-1.0_r2
    unzip android-sdk-linux_x86-1.0_r2.zip
  • Adicionar las herramientas al PATH, esto puede hacerlo en el directorio ~/.bashrc
    PATH=$PATH:<ruta>/android-sdk-linux_x86-1.0_r2/tools

Crear el Hola Mundo :

  • Abrir una consola
  • Ir al directorio donde se quiere crear la aplicacion
  • Crear la aplicacion (pide por lo menos dos paquetes, en este caso hello.android)
    activitycreator --out HelloAndroid hello.android.HelloAndroid
    Esto crea el directorio HelloAndroid
  • Cambiar al directorio HelloAndroid
    cd HelloAndroid
  • Compilar la aplicacion utilizando ant
    ant

android_emulator

Ejecutar la aplicacion :

  • Ejecutar el emulador de Android, esto puede demorar un poquito,
    espera hasta ver el menu de aplicaciones
    emulator &
  • Instalar la aplicacion en el emulador
    ant install
  • En el emulador pulsar la pestaña arriba de Menu
  • Hacer click sobre el icono de HelloAndroid

Enlaces :

Tagged with:



En January 30 de 2009, Marlon J. Manrique escribió acerca de Instalacion de Android SDK en Ubuntu 8.10.
Jan 29

Continuan las pruebas de reacTIVision, ahora con los marcadores impresos en hojas de papel, una camara web Genius Slim 1322AF y el software ejecutandose sobre plataforma Windows, debido a que la camara no me funciona en Ubuntu Linux. Se utilizo el mismo programa que se desarrollo anteriormente, solo se utilizaron versiones de los programas Processing, reacTIVision para la plataforma Windows.

Camara Pruebas reacTIVision

Enlaces :

Tagged with:



En January 29 de 2009, Marlon J. Manrique escribió acerca de Hola Mundo con reacTIVision y Camara.
Jan 28

lejoslogoDespues de instalar el LeJOS procedemos a crer nuestro primer programa :

Pasos :

  • Abrir una consola
  • Ir al directorio de instalacion de LeJOS
    cd <ruta>/lejos_nxj
  • Colocar las variables de ambiente
    . env.sh
  • Cambiar al directorio donde crearemos nuestro ejemplo
    cd <ruta>
  • Crear el directorio para alojar los fuentes
    mkdir lejos_holamundo
  • Entrar en el directorio
    cd lejos_holamundo
  • Crear el archivo HolaMundo.java con su editor favorito y escribir :
    import lejos.nxt.*;
     
    public class HolaMundo
    {
            public static void main(String[] args) throws Exception {
                    LCD.drawString("Hola Mundo",0,0);
                    Thread.sleep(2000);
            }
    }
  • Guardar el programa
  • Compilar el programa generando el .class
    nxjc HolaMundo.java
  • Crear la distribucion para el Mindstorms
    nxjlink HolaMundo -o HolaMundo.nxj
  • Subir el programa al Ladrillo
    nxjupload HolaMundo.nxj
  • Nota : Para generar la distribucion para el Mindstorms, subir y ejecutar el programa,
    podemos suministrar el comando :
    nxj -r HolaMundo

Enlaces :

Tagged with:



En January 28 de 2009, Marlon J. Manrique escribió acerca de Hola Mundo con LeJOS en Ubuntu 8.10.
Jan 28

lejoslogoDesde hace algunos meses estoy pensando seriamente en adquirir un Lego Mindstorms, pero recesion economia no me ha dejado, afortunadamente Sebastian Valencia tiene uno el cualquiere poner a trabajar con Java, por tal motivo es mi oportunidad de comenzar a cacharriar.

Pasos para la instalacion de LeJOS NXJ en Ubuntu 8.10 :

  • Abrir una consola
  • Descargar la ultima version del NXJ de la pagina oficial :
    http://lejos.sourceforge.net/nxj-downloads.php
  • En este caso descargamos la version 0.7.0
    wget http://superb-east.dl.sourceforge.net/sourceforge/lejos/lejos_NXJ_0_7_0beta.tar.gz
  • Descomrpimimos el archivo
    tar -zxvf lejos_NXJ_0_7_0beta.tar.gz
  • Cambiar el directorio a lejos
    cd lejos_nxj
  • Adicionar los permisos de ejecucion a los scripts
    chmod +x bin/*
  • Crear un archivo para configurar las variables de ambiente  llamado env.sh
    vi env.sh
  • Adicionar
    export NXJ_HOME=/home/marlonj/tmp2/lejos_nxj
    PATH=$PATH:$NXJ_HOME/bin
  • Presionar la tecla <esc> : w
  • Ejecutar el script
    . env.sh

Despues de hacer algunas pruebas tuve que compilar de nuevo la distribucion de LeJOS, asi :

  • Instalar el ANT, librerias de desarrollo para bluetooth y usb
    sudo apt-get install ant
    sudo apt-get install libbluetooth-dev
    sudo apt-get install libusb-dev
  • Cambiar al directorio build
    cd build
  • Compilar el software
    ant

Si la conexion con BlueCove falla debemos utilizar el driver de conexion con BlueZ asi :

  • Ir al directorio bin del lejos_nxj
    cd bin
  • Crear el archivo nxj.properties y colocar la siguiente linea :
    NXTCommBluetooth=lejos.pc.comm.NXTCommBluez

Nota :

Se debe ejecutar la instruccion . env.sh antes de comenzar a trabajar con leJOS
Las variables de ambiente pueden ser colocadas dentro del archivo ~/.bashrc para evitar esto
Si no se tiene permisos sobre el USB o el Bluetooth, se puede ejecutar como root abriendo una consola con el comando sudo -s

Enlaces :

Tagged with:



En January 28 de 2009, Marlon J. Manrique escribió acerca de Instalando LeJOS en Ubuntu 8.10.
Jan 28

Que es LeJOS ?

Sindicados Comments Off

lejoslogoLeJOS es una pequeña JVM (maquina virtual para Java) que permite ejecutar codigo Java dentro del ladrillo cerebro del Lego Mindstorm. Esta implementacion de Java nacio producto de TinyVM una maquina diseñada para ejecutar codigo en la version RCX, que luego se convirtio en LeJOS. Adicional a la maquina virtual se cuenta con una API que implementa el nucleo de clases en Java, algunas de J2ME y otras adicionales para la comunicacion a traves de Bluetooth, acceso a GPS y sensores y actuadores.

La version para el NXT llamada lejosNXJ cuenta con :

  • Soporte para programacion orientada a objetos.
  • Multitarea
  • Arreglos multidimensionales
  • Recursion
  • Sincronizacion
  • Excepciones
  • Tipos de data Java como String, int y float
  • La mayoria de clases de los paquetes java.lang, java.io, java.util
  • Un API para robots

legomindstorms

Tambien cuenta con herramientas para subir el codigo al ladrillo.

Enlaces :

Tagged with:



En January 28 de 2009, Marlon J. Manrique escribió acerca de Que es LeJOS ?.
Jan 28

amoeba_01

Continuando con los desarrollos relacionados con reacTIVision, el siguiente paso es realizar pruebas utilizando una camara web y la aplicacion reacTIVision, pero para poder hacer esto debemos primero imprimir los marcadores que vamos a utilizar.

Existen tres diferentes tipos de marcadores o fiducials que pueden ser utilizados con el software reacTIVision, el amoeba, el classic y el dtouch, cada tipo posee un conjunto de elementos finito y de diferentes caracteristicas de forma y construccion; por ejemplo el conjunto dtouch utiliza un conjunto de cuatro zonas en la cuales estan marcados puntos y lineas, mientras el classic utiliza seis zonas y el amoeba tiene una construccion mas natural utilizando circulos.

Amoeba Fiducials Amoeba Fiducials

Conjunto de Simbolos :

  • Amoeba
    90 marcadores blaco sobre negro o negro sobre blanco
  • Classic
    120 marcadores
  • dtouch
    24 marcadores

Estos simbolos se pueden encontrar en el directorio symbols de la distribucion de reacTIVision, en nuestro caso utilizaremos los marcadores de amoeba, que son muy llamativos por su forma y son los mas utilizados, para ello abrimos el PDF que contiene los simbolos e imprimimos una o mas pagina, recortamos los simbolos y estamos listos para comenzar a probar. Si se quieren que los marcadores tengan mas duracion y resistan un uso continuo se puede utilizar carton para fijarlos, contact transparente para forralos o fijarlos a fichas, objetos, entre otros. Por el momento utilizaremos las hojas. En proximas pruebas se utilizaran diferentes tamaños de marcador para identificar posibles tamaños de los objetos a utilizar dentro de los proyectos.

Nota :

  • La licencia de uso de los simbolos esta permitida solo si se utiliza con el software reacTIVision, si es utilizado por otras aplicaciones se debe solicitar una licencia de uso diferente.

Es importante identificar el id del marcador el cual esta a un lado de este cuando lo imprimimos, este identificador es que se utiliza para realizar el seguimiento desde la aplicacion.

Enlaces :

Tagged with:



En January 28 de 2009, Marlon J. Manrique escribió acerca de Imprimiendo Marcadores para reacTIVision.