Resistance is Futile

Instalacion GSVideo en Processing/Ubuntu 8.10

gsvideo_01

GSVideo es una libreria para Processing que permite capturar y reproducir video, que sirve como alternativa a Quicktime especialmente en Linux donde no se cuenta con una version del software de Apple.

Requerimientos :

  • Tener instalado Processing

Pasos :

  • Abrir una consola
  • Instalar las librerias de desarrollo de GStream
    sudo apt-get install libgstreamer0.10-dev
  • Ir a la pagina de descarga de GSVideo
    http://sourceforge.net/project/showfiles.php?group_id=225389&package_id=272648
  • Cambiar al directorio donde se almacenan los sketches de Processing, tipicamente :
    cd ~/sketchbook
  • Ir al directorio de librerias (si no existe crearlo mkdir libraries)
    cd libraries
  • Descargar la ultima version de la libreria, por ejemplo la 0.4.6 (3.2 MB)
    wget http://ufpr.dl.sourceforge.net/sourceforge/gsvideo/gsvideo-0.4.6.zip
  • Descomprimit el archivo
    unzip gsvideo-0.4.6.zip

Capturar Video :

  • Ejecutar el Processing
    cd <rutaProcesssing>/processing
    ./processing
  • Escribir el programa basico de captura :
    import codeanticode.gsvideo.*;
     
    GSCapture video;
     
    void setup() {
      size(320,240);
      video = new GSCapture(this, 320, 240, "/dev/video0",15);
    }
     
    void draw() {
      if(video.available()) {
        video.read();
        image(video,0,0);
      }
    }
  • Ejecutar el programa

Nota :

  • El dispositivo por defecto en Linux es /dev/video0, pero si se tiene mas de una camara conectadas al pc se puede acceder al dispositivo utilizando /dev/video1,  /dev/video2, ...
  • Se probo la captura utilizando la camara incorporada de un portatil Dell Vostro 1400 y una camara Genius Slim 1322AF y funcionarn las dos

Enlaces :


MVoce, Sintesis de Voz en Processing

Crearemos un ejemplo para ilustrar el uso de la sintesis de voz en Processing utilizando la libreria MVoce.

Pasos :

Crear el Sketch :

  • Abrir Processing
  • Crear un nuevo sketch
  • Adicionar el siguiente codigo :
    import mjs.processing.mvoce.*;
     
    // Create library object
    MVoce mVoce;
     
    void setup() {
      // Create the voce engine with synthesis enable
      // recognition unable and no grammar
      mVoce = new MVoceP(this,true,false,"");
    }
     
    // Requiered to use events
    void draw() { }
     
    // If the user press any key
    // Synthesize a hello message
    void keyPressed() {
      mVoce.synthesize("Hello There");
    }
     
    // If the sketch is close, destroy the library
    void exit() {
      mVoce.destroy();
      super.exit();
    }
  • Ejecutar el Sketch
  • Se visualiza una ventana pequeña gris, si pulsamos una tecla la aplicacion nos saluda

MVoce, una voz para Processing

Siempre habia querido desarrollar una libreria para sintesis de vox y reconocimiento de la misma para utilizarla en los sketchs de Processing, ya habia hecho algunos intentos en ocasiones anteriores, pero esta semana que pude volver al cacharreo me di a la tarea de instalar FreeTTS y Sphinx-4, librerias hechas en Java que permiten hacer el proceso de convertir texto en voz y de reconocer voz, asi que ayer las instale, las probe y fue luego que busque si alguien tenia una libreria para Processing que permitiera hacer estas cosas y me encontre con una libreria que permitia hacer interface con FreeTTS y Sphinx-4, haciendo que la creacion de la libreria para Processing fuera mas facil todavia.

Asi nace MVoce, una la libreria para Processing que permite hacer sintesis de voz y reconocimiento de la misma. Una libreria con caracteristicas minimas pero suficientes para dotar a los sketch de una voz y de un reconocimiento basico de palabras, una libreria que por el momento suple las necesidades basicas. Esta libreria utiliza las librerias voce, FreeTTS y Sphinx-4 para hacer el trabajo, por tal motivo es necesario tener encuenta las diferentes licencias de cada una.

Limites :

  • La libreria solo soporta el idioma ingles
  • Solo posee una voz masculina por el momento
  • El proceso de reconocimiento de voz depende de una gramatica donde se especifican las palabras a reconocer.
  • La libreria contiene ejemplos que ilustran su uso para sintetizar voz, reconocer los nombres de los digitos y hacer las dos cosas al tiempo
  • Esta libreria funciona en Processing, no en Mobile Processing

Informacion de la Libreria :


Hola Mundo con reacTIVision y Camara

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 :


Hola Mundo con reacTIVision

Para comenzar hacer pruebas con reacTIVision y Processing, decidi crear un pequeño sketch que visualizara los objetos sobre la tabla como cuadrados los cuales tuvieran las mismas propiedades de posicion y rotacion. Para esto se debe instalar la libreria de soporte para TUIO en Processing y crear un pequeño sketch.

Instalar la libreria de TUIO en Processing :

  • Abrir una consola
  • Ir al sitio de reacTIVision
    http://mtg.upf.edu/reactable/?software
  • Descargar la libreria para TUIO__Processing.zip, por ejemplo :
    wget http://superb-east.dl.sourceforge.net/sourceforge/reactivision/TUIO_Processing-1.4pre2.zip
  • Descomprimir la libreria
    unzip TUIO_Processing-1.4pre2.zip
  • Cambiar el directorio
    cd TUIO_Processing
  • Copiar el directorio de tuio al directorio de librerias de Processing, por ejemplo
    cp -R tuio <ruta>/processing-1.0.1/libraries

Crear Sketch de Prueba :

  • Ejecutar Processing
    cd <ruta>/processing-1.0.1
    ./processing
  • Escribir el siguiente sketch :
    // Importar Libreria y declarar cliente
    import tuio.*;
    TuioClient tuioClient;
     
    // Iniciar el sketch cambiando de tamaño y creando el cliente
    void setup() {
      size(320,240);
      rectMode(CENTER);
      tuioClient  = new TuioClient(this);
    }
     
    // Pintar los objetos
    void draw() {
      background(200); // Limpiar la pantalla
      // Obtener los objetos
      TuioObject[] objects = tuioClient.getTuioObjects();
      // Pintar cada objeto con su propa transformacion
      for (int i=0;i&lt;objects.length;i++) {
         TuioObject obj = objects[i];
         pushMatrix();
         translate(obj.getScreenX(width),obj.getScreenY(height));
         rotate(obj.getAngle());
         rect(0,0,40,40);
         popMatrix();
       }
     }
  • Ejecutar el programa.

Abrir el Simulador de TUIO o el reacTIVIsion :

  • Ir al diectorio de TUIO Simulator
    cd <ruta>/TUIO_SIMULATOR
    ./run.sh
  • o Ir al diectorio de reacTIVision
    cd <ruta>/reacTIVision
    ./reacTIVision

Enlaces :


Page 2 of 3123
Powered by WordPress | Designed by Elegant Themes