Buscar este blog

martes, 28 de junio de 2011

Avances en reconocimiento de voz (Proyecto ARAGON)

ARAGON (Aplicación de Realidad Aumentada de Primera Generación) es un dispositivo interactivo de Realidad Aumentada. Permite visualizar en 360 grados el entorno inmediato, mediante dos pantallas LCD solidarias, cada una con una cámara, que pueden ser giradas sobre su eje vertical. Los usuarios pueden interactuar en la pantalla de varios modos, girando el aparato para cambiar el punto de vista, y modificando la transparencia de las seis capas de información: reconstrucción virtual, imagen estereoscópica, imagen transparente, cámara, información y sonido.
Se trata de un proyecto del Departamento de Informática de la Facultad de Arquitectura (dirigido por el Arq. Marcelo Payssé) y el GIGA de la Universidad de Zaragoza, financiado a través del Programa PCI 2009 de la Agencia Española de Cooperación Internacional para el Desarrollo (AECID) y con el apoyo de la IMM. 

Si bien no se trataba de algo extremadamente difícil, hubo que trabajar, nuestro software debió resolver, entre otras cosas, los siguientes aspectos:
  • comunicarse con el sensor angular Intersense;
  • dibujar varios “panoramas” cilíndricos, con niveles de transparencia ajustables, usando OpenGL;
  • girar los cilindros, o bien girar la cámara GL (lo hicimos de las dos maneras);
  • gestionar un interfaz gráfico de usuario, interactivo, manejado con dispositivos touchscreen;
  • comunicarse con los dos dispositivos touchscreen, calibrarlos;
  • hacer coincidir el movimiento de los “popups” (las ventanas con información, que aparecen sobre un plano) con el de los panoramas cilíndricos;
  • comunicarse con dos cámaras Sony PS3, usando la biblioteca “CLEyeMulticam” de CodeLaboratories;
  • “renderear” y controlar simultáneamente dos pantallas, en dos monitores de 42”;
  • usar threads, a efectos de optimizar el rendimiento, logrando finalmente un framerate de 60 frames por segundo, sin que se noten saltos de ningún tipo;
  • etc.
La estación ARAGON será estrenada el viernes 24 de setiembre, a las 16:00 hs,  en el Espacio Cultural “Al pie de la Muralla” (Bartolomé Mitre 1464), y se la podrá ver allí durante el Día del Patrimonio 2010. Posteriormente será ubicada dentro del proyecto “Muralla Abierta”, que obtuvo el Premio Santiago de Compostela de Cooperación Urbana 2009.









Cómo convertir a un número decimal en un número binario en una cadena en VISUAL BASIC

 En números decimales (base diez números), cada posición de decimal es una potencia de 10. Dígitos decimales pueden tener valores desde cero hasta nueve. En números binarios (base-dos números), cada posición de decimal es una potencia de dos. Dígitos binarios sólo pueden tener valores de 0 ó 1.

  1. Inicie un proyecto nuevo de Visual Basic. Se creará Form1 de manera predeterminada.
  2. Agregue dos cuadros de texto a Form1. Asegúrese de cada cuadro de texto en más de 32 caracteres de ancho.
  3. Haga doble clic en el cuadro de texto Text1 para abrir su ventana de código. Elija el evento Change en el cuadro procedimiento. Agregue el código siguiente al evento cambiar Texto1: 

Programa de ejemplo

  1. Inicie un proyecto nuevo de Visual Basic. Se creará Form1 de manera predeterminada.
  2. Agregue dos cuadros de texto a Form1. Asegúrese de cada cuadro de texto en más de 32 caracteres de ancho.
  3. Haga doble clic en el cuadro de texto Text1 para abrir su ventana de código. Elija el evento Change en el cuadro procedimiento. Agregue el código siguiente al evento cambiar Texto1:

    Sub Text1_Change ()
     Dim i As Long, x As Long, bin As String
     Const maxpower = 30   ' Maximum number of binary digits supported.
     text1.MaxLength = 9   ' Maximum number of decimal digits allowed.
     text2.Enabled = False ' Prevent typing in second text box.
     bin = ""  'Build the desired binary number in this string, bin.
     x = Val(text1.Text) 'Convert decimal string in text1 to long integer
    
       If x > 2 ^ maxpower Then
         MsgBox "Number must be no larger than " & Str$(2 ^ maxpower)
         text2.Text = ""
         Exit Sub
         End If
    
     ' Here is the heart of the conversion from decimal to binary:
    
     ' Negative numbers have "1" in the 32nd left-most digit:
      If x < 0 Then bin = bin + "1" Else bin = bin + "0"
    
       For i = maxpower To 0 Step -1
       If x And (2 ^ i) Then   ' Use the logical "AND" operator.
        bin = bin + "1"
         Else
          bin = bin + "0"
        End If
        Next
      text2.Text = bin  ' The bin string contains the binary number.
    
       End Sub 
     
    4. Inicie el programa, o presione la tecla F5. Introducir números decimales en el primer cuadro de texto. El número equivalente binario se muestra en el segundo cuadro de texto.


    Nota : este programa convierte los números decimales negativos en formato binario interno dos complemento utilizado por Basic. En ese formato, el dígito binario de más a la izquierda (dígito de treinta segundos en un entero largo) siempre será 1 para un número negativo y 0 para un número positivo.
    Decimal Value    Binary Value
    -----------------------------
    0                00000000000000000000000000000000
    21               00000000000000000000000000010101
    1024             00000000000000000000010000000000
    32767            00000000000000000111111111111111
    32768            00000000000000001000000000000000
    65536            00000000000000010000000000000000
    16777216         00000001000000000000000000000000
    999999999        00111011100110101100100111111111
    -1               11111111111111111111111111111111
    -3               11111111111111111111111111111101
        

La información de este artículo se refiere a:
  • Microsoft Visual Basic 2.0 Standard Edition
  • Microsoft Visual Basic 3.0 Professional Edition
  • Microsoft Visual Basic 2.0 Professional Edition
  • Microsoft Visual Basic 3.0 Professional Edition


Referencia

lunes, 27 de junio de 2011

Avances de software en reconocimiento de voz

El Embedded ViaVoice 4.4 de IBM está diseñado para eliminar la necesidad de comandos predefinidos, y permitir a los conductores de automóviles y usuarios de dispositivos de mano hablar naturalmente
Armonk, Nueva York

IBM dio a conocer un sustancial avance en tecnología de voz que permite a los conductores de automóviles y a los usuarios de dispositivos de mano enunciar comandos naturalmente sin tener que memorizar comandos específicos predeterminados.

Lanzado como parte del paquete de software Embedded ViaVoice 4.4 de IBM, constituye un avance tecnológico significativo para la tecnología de habla incorporada en dispositivos y en sistemas de navegación de automóviles.

La nueva oferta fue pensada para brindar a los usuarios nueva flexibilidad y precisión en dispositivos con sistemas internos de reconocimiento de habla. Anteriormente, los usuarios debían aprender, memorizar y usar una serie fija de frases y comandos para interactuar con los sistemas de reconocimiento de habla. Por ejemplo, al pedir "Radio 104.3 FM," la nueva tecnología pionera de IBM permite a los conductores decir simplemente “sintonice 104.3” o “ponga la estación de radio en 104.3” o “cambie la estación de radio a 104.3”. Una amplia variedad de comandos intuitivos pueden cambiar la estación de radio a la sintonía deseada, eliminando la necesidad de memorizar una lista de comandos específicos.

Embedded ViaVoice 4.4 de IBM trae “reconocimiento de comandos en forma libre” que utiliza el modelado de lenguaje estadístico avanzado y la interpretación semántica para habilitar la comprensión del lenguaje natural entre el usuario y el sistema de reconocimiento de voz. El reconocimiento de comandos en forma libre permite a los usuarios utilizar frases intuitivas que no son “memorizadas” para los dispositivos de control, tales como sistemas de radio o de navegación en automóviles, o comandos en dispositivos de mano.

El nuevo paquete también incluye mejoras significativas en la precisión general de todas las condiciones de ruido, a través del uso de nuevos modelos acústicos, técnicas mejoradas de entrenamiento de modelo acústico y mejoras adicionales en la detección de habla-silencio, que es la característica que maneja los ruidos pasajeros tales como baches en el camino, bocinas o cruces de trenes.

Reconocimiento en múltiples idiomas. Uso más natural

Los nuevos usuarios pueden operar fácilmente el sistema sin ninguna preparación y los conductores no tendrán que molestarse en recordar palabras o frases específicas y podrán mantenerse concentrados en el camino. Los usuarios de dispositivos de mano, mientras tanto, pueden realizar funciones en forma más natural, como parte de sus actividades normales. Además, el nuevo sistema no sólo permite comandos en forma libre, sino que además puede reconocer los comandos en múltiples idiomas.

“El reconocimiento de habla estuvo vapuleado en años recientes, pero ha madurado silenciosamente hasta convertirse en una tecnología verdaderamente útil y está experimentando un buen regreso – comentó Jim Holland, Gerente de Línea de Producto de Embedded Speech del Grupo de Software IBM. –La capacidad de usar comandos en lenguaje natural permite al dispositivo ser una parte más instintiva de la rutina diaria de un usuario y refleja nuestra misión de brindar información y funcionalidad a los usuarios como un servicio rápidamente disponible sin importar el ambiente.”

Embedded ViaVoice Version 4.4 de IBM proporciona tecnología de habla líder del mercado para dispositivos móviles, tales como sistemas de navegación en automóviles, teléfonos manos libres, organizadores personales (PDA) y otros dispositivos inteligentes. Las aplicaciones incorporadas a los dispositivos pueden usar la tecnología de habla de IBM ya sea para el reconocimiento de habla automatizado (ASR), que usa el habla humana para ingresar comandos a un dispositivo móvil, o para text-to-speech (TTS), que utiliza una voz humana sintetizada para comunicar texto y otra información desde un dispositivo móvil.


La verdad es muy importante estar al día con los nuevos avances en el software, ya que la tecnología cambia constantemente siempre hay algo nuevo por descubrir así que hay que estar al tanto de lo que pasa en el mundo, y ver que podemos mejorar así crear nuevos programoas o avances útiles para la humanidad

FIME

http://www.fime.uanl.mx/