Desde hace varios años se viene manteniendo un constante

Anuncio
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Universidad de Morón
Facultad de informática, Ciencias de la comunicación y
Técnicas especiales
Trabajo de Diploma (75)
Tesis Final
Licenciatura en Sistemas
2009
Tutor:
Ing. Luis Campos.
Integrantes:
Rodrigo H Elhaibe
Página 1 de 72
13300081 ([email protected])
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Indice General
Capítulo 1 – Introducción ............................................................................................................................................... 5
Justificación ................................................................................................................................................................ 5
Alcance y contenido de la Tesis ................................................................................................................................. 6
Capítulo 2 - Estado del Arte ......................................................................................................................................... 7
La Tecnología Inalámbrica ....................................................................................................................................... 7
Surgimiento y evolución de los Dispositivos Móviles ........................................................................................................... 7
Usuarios de Telefonía Móvil en el Mundo .............................................................................................................................. 7
Las Generaciones de la Telefonía Móvil ................................................................................................................................. 8
Lectores de pantalla para celulares ........................................................................................................................................ 11
Plataformas de desarrollo sobre Teléfonos Móviles ........................................................................................................... 13
Sistemas operativos en teléfonos celulares: .......................................................................................................................... 16
Sistemas de Posicionamiento Global (GPS) ........................................................................................................... 16
Características............................................................................................................................................................................... 16
Evolución........................................................................................................................................................................................ 16
Desafíos........................................................................................................................................................................................... 17
Fiabilidad de los datos ............................................................................................................................................................... 17
GPS en el móvil ............................................................................................................................................................................ 17
JSR-179 API de Localización de Java para dispositivos móviles compatibles ............................................................. 18
Servicios Web ........................................................................................................................................................... 19
Introducción .................................................................................................................................................................................. 19
Principales características y ventajas ..................................................................................................................................... 19
Desventajas y limitaciones ........................................................................................................................................................ 19
Estructura de los mensajes ........................................................................................................................................................ 21
Tecnologías para servicios Web en Java................................................................................................................................ 21
Text To Speech (TTS) ............................................................................................................................................... 22
¿Qué es un sistema Text to Speech? ...................................................................................................................................... 22
¿Cómo funciona el procesamiento de texto a voz? ........................................................................................................ 22
Utilidad de los sintetizadores de voz ..................................................................................................................................... 22
Tecnologías de Síntesis de Voz ................................................................................................................................................ 23
Desafíos del front-end ............................................................................................................................................................... 24
Desafíos de la normalización de texto .................................................................................................................................. 24
Desafíos de los sistemas Texto a fonema .............................................................................................................................. 25
El Sintetizador de voz MBROLA ............................................................................................................................. 25
Servidores Web ........................................................................................................................................................ 26
Introducción ................................................................................................................................................................................. 26
Conceptos relacionados con las aplicaciones web ............................................................................................................. 27
Servidor HTTP Apache ............................................................................................................................................................. 27
Ventajas ................................................................................................................................................................... 27
Licencia .................................................................................................................................................................... 28
Motor de base de Datos .......................................................................................................................................... 28
Introducción ................................................................................................................................................................................. 28
Interioridades y portabilidad .................................................................................................................................................. 29
Capítulo 3 - Presentación de la Problemática y Propuesta de Solución ................................................................... 29
Introducción ............................................................................................................................................................. 29
Detalles de funcionalidad de la Solución Planteada ............................................................................................. 30
Generalidades de funcionalidad de la Solución Móvil ........................................................................................... 30
Generalidades de funcionalidad de los Servicios Web ........................................................................................... 31
Capítulo 4 – Desarrollo de la Solución Propuesta ...................................................................................................... 32
Metodología de Desarrollo ...................................................................................................................................... 32
Especificación de Requerimiento de Software ....................................................................................................... 32
Introducción ................................................................................................................................................................................. 32
Objetivo......................................................................................................................................................................................... 33
Alcance .......................................................................................................................................................................................... 33
Fuera de Alcance del Proyecto .............................................................................................................................................. 33
Definiciones, acrónimos y Abreviaturas................................................................................................................................ 34
Referencias ................................................................................................................................................................................... 34
Descripción General del Sistema ............................................................................................................................................ 34
Perspectiva del Producto ......................................................................................................................................................... 34
Página 2 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Funciones del Software: ............................................................................................................................................................ 34

Aplicación Móvil ................................................................................................................................................................ 34

Servicios Web ...................................................................................................................................................................... 35
Características del Usuario ....................................................................................................................................................... 36
Restricciones Generales ............................................................................................................................................................. 36
Dependencias y Supuestos ....................................................................................................................................................... 36
Especificación de Requerimientos ........................................................................................................................... 36
Requerimientos Funcionales .................................................................................................................................................... 36
Aplicación Móvil (J2ME) ............................................................................................................................................................ 37

Acceso al sistema: ......................................................................................................................................................... 37

Menú Principal: ............................................................................................................................................................. 37

Opción Localización (1): .............................................................................................................................................. 37

Opción Trayectoria (2): .............................................................................................................................................. 38

Opción Modo Caminante (3): ................................................................................................................................... 38

Opción Puntos de Interés en Radio: ........................................................................................................................ 39
Servicios Web Desplegados (J2EE) ......................................................................................................................................... 39

TTS WS ............................................................................................................................................................................ 39

GPS WS ........................................................................................................................................................................... 39

GEO WS ......................................................................................................................................................................... 40
Requerimientos de Interfaces externos ................................................................................................................... 40
Interfaces de Usuario ................................................................................................................................................................ 40
Interfaces de Hardware y Software ..................................................................................................................................... 40
Restricciones de Diseño ............................................................................................................................................ 41
Cumplimiento de Estándares ................................................................................................................................................... 41
Limitaciones hardware .............................................................................................................................................................. 41
Atributos del Software ............................................................................................................................................ 41
Confiabilidad ................................................................................................................................................................................ 41
Disponibilidad ............................................................................................................................................................................... 41
Seguridad ...................................................................................................................................................................................... 41
Facilidad de Mantenimiento ................................................................................................................................................... 42
Diseño Arquitectónico ............................................................................................................................................. 42
Definición General de los Casos de Uso ................................................................................................................... 44
Descripción detallada de casos de Uso ................................................................................................................... 45
Iniciar Aplicación......................................................................................................................................................................... 45
Obtener Localización................................................................................................................................................................. 46
Trazar Trayectoria a Destino .................................................................................................................................. 47
Modo Caminante ....................................................................................................................................................................... 48
Ubicar Punto de Interés en Radio .......................................................................................................................................... 49
Definición General de Casos de Uso para Servicios Web ........................................................................................ 50
Sintetizar Texto a Voz ................................................................................................................................................................ 51
Obtener Dirección Postal Sintetizada ................................................................................................................................... 52
Obtener Trayectoria a Destino sintetizada ......................................................................................................................... 52
Ubicar Punto de Interés en Radio .......................................................................................................................................... 53
Diagramas de Clases ............................................................................................................................................... 54
Aplicación Móvil – Implementación del Localizador ....................................................................................................... 55
Aplicación Móvil – Modulo Principal .................................................................................................................................... 56
Servicios Web – Paquetes Involucrados ............................................................................................................................... 57
Paquete Integrador y Expositor de Funciones ................................................................................................................... 57
Diagrama Paquete TTS – Sintetizador de Voz ................................................................................................................. 58
Diagrama Paquetes DB + GEO. Ubicación de Puntos de Interés en Radio ............................................................... 59
Paquete GPS - Interfaz con API de Localización de Google MAPS .......................................................................... 60
Diagramas de Actividades ...................................................................................................................................... 61
Aplicación Móvil ........................................................................................................................................................................... 61
Servicio de Síntesis de Voz ........................................................................................................................................................ 62
Servicio GPS ................................................................................................................................................................................. 62
Obtener Localización................................................................................................................................................................. 62
Procesamiento de Trayectoria ................................................................................................................................................ 63
Servicio GEO ................................................................................................................................................................................ 64
Determinación de Puntos de Interés ..................................................................................................................................... 64
Página 3 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Diccionario de Datos del Modelo ............................................................................................................................ 65
Diagrama de Base de Datos ................................................................................................................................... 65
Plan de Pruebas (Test)............................................................................................................................................ 65
Modulo de Localización ............................................................................................................................................................ 67
Modulo de Procesamiento de Trayectoria .......................................................................................................................... 67
Modulo Caminante .................................................................................................................................................................... 67
Modulo de Ubicación de puntos de Interés en Radio ....................................................................................................... 68
Ayudas Auditivas Extra ............................................................................................................................................................ 68
Capítulo 5 – Conclusiones Finales, Futuras Líneas de Investigación y Agradecimientos ............................................ 69
Conclusiones Finales ................................................................................................................................................ 69
Futuras Líneas de Investigación .............................................................................................................................. 70
Reconocimiento de Voz ............................................................................................................................................................70
Implementación Móvil de un Sintetizador de de Voz en Español ...............................................................................70
Buscador de Puntos de Interés dentro de Internet ...........................................................................................................70
Publicidad ....................................................................................................................................................................................70
Agradecimientos ..................................................................................................................................................... 71
Referencias y Bibliografía........................................................................................................................................ 71
Página 4 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Capítulo 1 – Introducción
Justificación
La ceguera es una de las cuatro enfermedades más temidas en la actualidad después del SIDA, el cáncer y el Alzheimer.
Si preguntásemos a un conjunto cualquiera de personas, cuál es el sentido más preciado que poseen, probablemente nos contestarían que la
vista. Y es que la visión es algo muy importante para todas y cada una de las personas. A través de los ojos percibimos las imágenes y como
bien expresa el dicho “vale más una imagen que mil palabras”.
Se ha estimado que existen actualmente en el mundo entre 28 y 35 millones de personas ciegas, de los cuales la gran mayoría, casi el 90%,
viven en países en desarrollo, principalmente en África y Asia. Además, más de la mitad habita en comunidades en desventaja, de bajo nivel
socioeconómico y en zonas rurales. En estas comunidades el riesgo de quedar ciego es de 10 a 40 veces superior que en las zonas desarrolladas1.
Pero también es verdad que aunque sin la vista nos sentiríamos privados de muchas cosas, las personas invidentes consiguen desarrollar, en
ocasiones, habilidades que suponen un gran logro para ellos, es decir, consiguen desempeñar papeles que desarrollarían normalmente las
personas que pueden ver.
Para que estas habilidades se desarrollen es necesario que los individuos con deficiencias visuales obtengan una educación adecuada a sus
posibilidades que les permita desarrollarse y conseguir autonomía y validez por sí mismos.
Diseñar y desarrollar tomando en cuenta a las personas con discapacidades no es un acto de bondad, es tomar consciencia de los usuarios y de
paso obtener un plus para la empresa.
Nuestra sociedad moderna ha sido calificada como la “sociedad de la información y el conocimiento”. Nada en este ámbito es concebible hoy
sin el apoyo determinante de las denominadas Tecnologías de la Información y la Comunicación. En consecuencia, el desarrollo integral de las
personas estará determinado en gran medida por el manejo y la habilidad que cada una presente en la utilización de estas tecnologías.
Pero no todos los aparatos tecnológicos existentes suponen un fácil manejo por parte de ciertos individuos. Es el caso de los discapacitados. Con
ellos se debe prestar un cuidado particular pues, en numerosas oportunidades, se requiere de la adaptación de estas tecnologías con el fin de
evitar un factor de desigualdad o discriminación.
Mejorar la accesibilidad desde el momento de la noción, diseño y producción de un dispositivo tecnológico es tener en cuenta las necesidades
reales de usuarios que presentan alguna condición de discapacidad.
El teléfono móvil es una herramienta que facilita nuestras vidas, nos permite comunicarnos, entretenernos, mantenernos informados y guardar
información, entre otras cosas. Sin embargo, a pesar de ofrecer cada día mejores capacidades multimedia y de comunicación (tanto de corto
como largo alcance) y ser cada vez más fácilmente programables, estos dispositivos aún no pueden o son difíciles de utilizar por personas con
deficiencias visuales, motrices o de avanzada edad.
Gran importancia toman en este aspecto aquellos usuarios que se ven afectados por alguna discapacidad visual y que, por ende, precisan de
apoyo de herramientas tiflotecnológicas para desenvolverse en un medio virtual.
La palabra tiflotecnología encuentra su origen semántico en los vocablos griegos tiflo, que significa ciego; tekne (”arte, técnica u oficio”) y
logos (”conjunto de saberes”).
De tal forma, “se entiende por tiflotecnología el conjunto de conocimientos, técnicas y recursos encaminados a procurar a los ciegos y
deficientes visuales los medios oportunos para la correcta utilización de la tecnología”
Creemos que la tecnología aportada por el celular puede colaborar en las actividades diarias de la comunidad, siendo utilizadas para dar
mejor calidad de vida e integración social y acceso a la información a discapacitados visuales. Esta autonomía se traduce en unas mayores y
mejores opciones culturales, educativas, laborales, recreativas, etc. Por este motivo, el aporte de este trabajo consiste en desarrollar un
software que integrado a la telefonía móvil, la cual actualmente y en muchos modelos dispone de un receptor GPS integrado, permita a las
personas con discapacidad visual, tener mayor autonomía e independencia en el uso de este tipo de información provista por su unidad
móvil. Y a su vez, que se logre obtener un producto de fácil acceso económico a estas personas. Para ello el estudio estará basado en la
investigación de distintas tecnologías de síntesis de voz y el análisis de su posible implementación sobre aplicaciones móviles, interactuando con
información brindada por Internet en lo que GEO-localización se refiere, aprovechando el libre acceso de la misma.
1
Dato extraido de la Organización Mundial de la Salud
Página 5 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Alcance y contenido de la Tesis
La siguiente es una síntesis de lo que verá en cada uno de los Capítulos que componen la Tesis:

Capítulo 2 - Estado del Arte.

2.1 – Evolución de las Tecnologías Móviles.
Se realizara un estudio teórico y una presentación del potencial de comunicación que brinda actualmente la tecnología móvil y su futuro
en el mercado. Posteriormente se realizara un estudio sobre las posibilidades de desarrollo sobre dispositivos móviles y el enfoque que hoy
en día tienen algunos desarrollos tiflotecnologicos y a que problemáticas responden.

2.2 - Receptores GPS.
Se realizara estudio teórico y una presentación de los beneficios brindados por los receptores GPS en general y la interacción que existiría
entre la información brindada por estos receptores y la mucha información que brinda al día de hoy Internet de forma gratuita, la cual
en su combinación, podría resultar beneficiosa a la hora de encarar un desarrollo enfocado en facilitar la inclusión de personas con
deficiencias visuales al mundo de algunas tecnologías poco accesibles a ellos. A su vez se realiza una elección del lenguaje de
programación adecuado para lograr minimizar al máximo los costos de una posible implementación del software sobre teléfonos
Móviles.

2.3 - Servicios Web.
Se realizara un estudio de las posibilidades que brindan los servicios web en Internet, a la hora de consumir información brindada por los
mismos desde distintas plataformas, entre ellas, aplicaciones Móviles, permitiendo generar servicios con distintas complejidades,
abstrayendo a los clientes (Teléfonos Celulares) de las mismas. A su vez se realiza una elección del lenguaje de programación adecuado
para lograr minimizar al máximo los costos de una posible implementación del software.

2.4 - Síntesis de Voz en Español.
Se realizara un estudio y presentación de la tecnología disponible y de bajo costo elegida a fin de realizar síntesis de voz en español para
el soporte de todos los módulos de la solución.

2.5 - Servidor Web.
Se realizara una presentación del Software Servidor de bajo costo elegido para alojar los servicios web desarrollados.

2.6 - Motor de Base de Datos.
Se realizara una presentación del Motor de Base de Datos de bajo costo elegido para alojar la información necesaria para el soporte de
algunos módulos de la solución.

Capítulo 3 – Presentación de la problemática y propuesta de solución.

Capítulo 4 – Desarrollo de la solución propuesta.

Capitulo 5 – Conclusiones Finales y Futuras líneas de Investigación.
Página 6 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Capítulo 2 - Estado del Arte
A continuación se describirán distintas tecnologías disponibles en el mundo informático, capaces de aunar características con el fin de brindar
resolución a gran cantidad de problemas que tienen las personas discapacitadas tanto en el acceso económico de tecnologías que satisfagan
sus necesidades, como en facilidad de su uso.
El estudio de estas tecnologías, algunas conocidas y otras no tanto, se orienta justamente a su conjunción, y como primera premisa se busco la
característica de Libre Acceso y Distribución para proyectos no comerciales, con la finalidad de desarrollar un producto que desde su
concepción hasta su implementación sea enteramente gratuito para sus consumidores.
La Tecnología Inalámbrica
Surgimiento y evolución de los Dispositivos Móviles
El poder comunicar cualquier tipo de dispositivo, como pueden ser las computadoras, celulares, etc., mediante tecnología inalámbrica se
presenta como una de las tecnologías que más futuro tiene.
La conexión mediante Ondas de Radio o Luz Infrarroja está siendo cada vez más investigada generando resultados a veces que pueden llegar
a superar lo imaginado. Las Redes Inalámbricas facilitan la operación en lugares en donde los dispositivos no pueden estar físicamente en un
solo lugar para lo cual se necesita el movimiento de los mismos.
Antes del nacimiento del sistema celular como se lo conoce en la actualidad, existieron distintos sistemas de comunicación móvil que tenían
como finalidad llegar a cubrir las necesidades de comunicación en movimiento.
Los sistemas de comunicación móvil que precedieron a la telefonía celular fueron:

Comunicación Móvil de Radio
Consistían en radios que se comunicaban entre sí dependiendo de la potencia de salida de cada unidad individual

Servicio de Telefonía Móvil (MTS)
Sistema telefónico operado manualmente que permitía a un suscriptor comunicarse a otra parte usando la red terrestre

Servicio de Telefonía Móvil Mejorado (IMTS)
Proporcionó selección de canal automática, conteo automático y operación simultánea full-duplex.
El radio celular, como concepto, fue originalmente construido para realizar comunicaciones móviles de alta densidad sin consumir grandes
cantidades de espectro.
El primer bosquejo inicial de la telefonía celular para sistemas móviles de alta densidad fue realizada por la empresa American Telephone
and Telegraph (AT&T) en 1940.
En 1968 AT&T llevó su propuesta de un sistema celular a la Federal Communications Commission (FCC ) quien era el organismo regulador de
las comunicaciones en los Estados Unidos.
El concepto original de radio celular era utilizar el uso de un grupo de frecuencias dentro de una misma Celda, rehusando la frecuencia en la
misma vecindad pero separándolas en espacio físico para permitir el re-uso con un bajo nivel de interferencia. El hardware necesario para
implementar este tipo de sistemas no fue logrado hasta finales de los años setenta y para entonces, el concepto celular, es decir, el re-uso de
frecuencia en Celdas, fue aceptado como una herramienta para la planificación de frecuencias.
En 1973 se creo el primer radioteléfono en Estados Unidos, realizado por Martin Cooper, a quien se lo considera como "el creador de la telefonía
celular", mientras trabajaba para Motorola; pero no fue hasta 1979 cuando aparecieron los primeros sistemas comerciales en Tokio, Japón por
la compañía NTT.
Los países del norte, en 1981, crearon un sistema celular similar a AMPS (Advanced Mobile Phone System). Por otro lado, en Estados Unidos,
gracias a que la entidad reguladora de ese país adoptó reglas para la creación de un servicio comercial de telefonía celular, en 1983 se puso en
operación el primer sistema comercial en la ciudad de Chicago.
Con ese punto de partida, en varios países se fue diseminando el uso de la telefonía celular como una alternativa a la telefonía convencional
inalámbrica. La tecnología tuvo gran aceptación, por lo que a los pocos años de implantarse se empezó a saturar el servicio. En ese sentido,
hubo la necesidad de desarrollar e implantar otras formas de acceso múltiple al canal y transformar los sistemas analógicos a digitales, con el
objetivo de poder soportar a más usuarios.
Usuarios de Telefonía Móvil en el Mundo
Página 7 de 72
Ranking
País
Cantidad
1
China
334.824,00
2
United States
194.479,36
3
Japan
91.473,90
4
Russia
74.420,00
5
Germany
71.300,00
6
India
69.193,32
7
Brazil
65.605,00
8
Italy
62.750,00
9
United Kingdom
61.091,00
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
10
France
44.551,80
11
Spain
38.646,80
12
Mexico
38.451,10
13
Korea, South
36.586,10
14
Turkey
34.707,50
15
Philippines
32.935,90
16
Indonesia
30.000,00
17
Poland
29.260,00
18
Thailand
27.379,00
19
Taiwan
25.089,60
20
Nigeria
21.571,13
21
South África
19.500,00
22
Australia
16.480,00
23
Canada
14.984,40
24
Netherlands
14.800,00
25
Malaysia
14.611,90
26
Egypt
14.045,13
27
Ukraine
13.735,00
28
Algeria
13.661,00
29
Argentina
13.512,40
30
Czech Republic
10.782,60
Las Generaciones de la Telefonía Móvil
A lo largo del desarrollo de esta tecnología se han ido gestando avances importantes que significaron un comienzo de una nueva generación
de Telefonía Móvil. En la figura 3 puede observa cada uno de los acontecimientos más significativos a lo largo del tiempo que se fueron
produciendo en la evolución de la Tecnología Móvil.
Primera generación (1G)
La 1G apareció en 1979 y se caracterizaba por ser analógica y estrictamente para voz. La calidad de los enlaces era muy baja, tenían baja
velocidad (2400 bauds). En cuanto a la transferencia entre celdas, era muy imprecisa ya que contaban con una baja capacidad, basadas en
FDMA, Frequency Division Múltiple y dos frecuencias portadoras distintas para establecer la comunicación TX y RX.
No existía aún el concepto de seguridad. La tecnología predominante de esta generación es AMPS (Advanced Mobile Phone System).
En Norteamérica a partir de 1981 comenzó a utilizarse el sistema AMPS (Advanced Mobile Phone Service), el cual ofrecía 666 canales divididos
en 624 canales de voz y 42 canales de señalización de 30 Khz cada uno.
Europa introduce en 1981 el sistema Nordic Mobile Telephone System o NMTS450 el cual empezó a operar en Dinamarca, Suecia, Finlandia y
Noruega, en la banda de 450 MHz.
En 1985 Gran Bretaña, a partir de AMPS, adoptó el sistema TACS (Total Access Communications System), el cual contaba con 1000 canales de
25 Khz cada uno y operaba en la banda de 900 MHz.
En esta década también se pueden destacar la aparición de otros otos sistemas de primera generación como el NTT, estándar japonés, el CNetz estándar Alemán y French Radiocom 2000 de Francia.
El problema más significativo de los sistemas de comunicaciones celulares de primera generación era el rápido agotamiento de los recursos,
cuando se consideran las pequeñas bandas de frecuencias asignadas para la utilización de teléfonos celulares. Al establecer una llamada
analógica, ésta se bloquea y utiliza una banda de frecuencias seleccionada hasta que la llamada termina.
Página 8 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Segunda generación (2G)
A diferencia de la primera se caracterizó por ser digital. Con tantos estándares diferentes, los proveedores europeos sufrieron las consecuencias
de una diversidad de normas incompatibles entre sí.
El reconocimiento de este problema fue un factor que impulsó el desarrollo del estándar GSM para las comunicaciones móviles. En 1982,
cuando aparecieron los primeros servicios celulares comerciales, la Conférence Européenne des Postes et Télécommunications (CEPT), tomó la
iniciativa de poner en marcha un grupo de trabajo, llamado Groupe Spécial Mobile (GSM), encargado de especificar un sistema de
comunicaciones móviles común para Europa en las banda de 900 MHz, banda que había sido reservada por la World Administrative Radio
Conference en 1978. El GSM comenzó como una norma europea para unificar sistemas móviles digitales y fue diseñado para sustituir a más de
diez sistemas analógicos en uso y que en la mayoría de los casos eran incompatibles entre sí.
Después de unas pruebas de campo en Francia en 1986, y de la selección del método de acceso Time Division Multiple Access (TDMA) en 1987,
18 países firmaron en 1988 un acuerdo de intenciones llamado Memorandum of understanding (MOU): En este documento los países firmantes
se comprometían a cumplir las especificaciones, a adoptar este estándar único y a poner en marcha un servicio comercial GSM, que ofrece
seguimiento automático de los teléfonos móviles en su desplazamiento por todos los países. Conforme se desarrolló, GSM mantuvo el acrónimo,
aunque en la actualidad signifique Global System for Mobile communications.
En Norteamérica, el objetivo principal de un nuevo estándar digital era aumentar la capacidad dentro de la banda de 800 MHz existente. Un
prerrequisito es que los teléfonos móviles debían funcionar con los canales de habla analógicos ya existentes y con los nuevos digitales (Dual
Mode). A partir de esto se empleó el termino Digital AMPS (D-AMPS) que se refiere a IS-54B, y que define una interfaz digital con
componentes heredados de AMPS. La especificación IS-36 es una evolución completamente digital de D-AMPS. A causa de estos requisitos,
fue natural el elegir un estándar TDMA de 30 KHz puesto que los sistemas analógicos existentes trabajan ya con esta anchura de canales. En
este sistema se transmiten tres canales por cada portadora de 30 Khz.
A principios de la década de los 90, también aparece un nuevo estándar el cual utiliza el método de acceso CDMA (Code Division Multiple
Access). El estándar CDMAOne o IS-95, fue una tecnología desarrollada por Qualcomm y consiste en que todos usan la misma frecuencia al
mismo tiempo separándose las conversaciones mediante códigos.
Estas tecnologías de segunda generación ofrecían las siguientes características:

Mayor calidad de las transmisiones de voz

Mayor capacidad de usuarios

Mayor confiabilidad de las conversaciones

La posibilidad de transmitir mensajes alfanuméricos.
Este servicio permitía enviar y recibir cortos mensajes que podían tener hasta 160 caracteres alfanuméricos desde un teléfono móvil.

Navegar por Internet mediante WAP (Wireless Access Protocol)
Tercera generación (3G)
La 3G se caracteriza por contener a la convergencia de voz y datos con acceso inalámbrico a Internet; en otras palabras, es apta para
aplicaciones multimedia y altas transmisiones de datos.
Los avances que en materia de sistemas de tercera generación adelanta la Unión Internacional de Telecomunicaciones (ITU), a finales de los
años ochenta, se denominaron en un principio como Futuros Sistemas Públicos de Telecomunicaciones Móviles Terrestres (FPLMTS – Future
Public Land Mobile Telecommunication System). Actualmente se le ha cambiado de nombre y se habla del Sistema de Telecomunicaciones
Móviles Internacionales (IMT-2000, International Mobil Telecommunication-2000) creado con el objetivo de valorar y especificar los requisitos
de las normas celulares del futuro para la prestación de servicios de datos y multimedia a alta velocidad.
La IMT-2000 es una norma de la ITU para los sistemas de la 3a. generación que proporcionan acceso inalámbrico a la infraestructura de
telecomunicaciones global por medio de los sistemas satelitales y terrestres, para dar servicio a usuarios fijos y móviles en redes públicas y
privadas.
Página 9 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Los objetivos primarios de ITU definidos para IMT-2000 son:

La eficacia operacional, particularmente para los datos y servicios de multimedia.

Flexibilidad y transparencia en la provisión de servicio global

La tecnología conveniente para reducir la falta de telecomunicaciones, es decir ofrecer un costo accesible para millones de personas en el
mundo que todavía no tienen teléfono.

La incorporación de toda una variedad de sistemas.

Alto grado de uniformidad de diseño a escala mundial.

Alto nivel de calidad, comparable con la de una red fija.

Utilización de una terminal de bolsillo a escala mundial.

La conexión móvil-móvil y móvil-fijo.

La prestación de servicios por más de una red en cualquier zona de cobertura.
Los requerimientos que se necesitan para utilizar un sistema de Tercera Generación son:

Alta velocidad en transmisión de datos. Hasta 144 Kb/s, velocidad de datos móviles (vehicular); hasta 384 Kb/s, velocidad de datos
portátil (peatonal) y hasta 2 Mb/s, velocidad de datos fijos (terminal estático).

Transmisión de datos simétrica y asimétrica.

Servicios de conmutación de paquetes y en modo circuito, tales como tráfico Internet (IP) y video en tiempo real.

Calidad de voz comparable con la calidad ofrecida por sistemas alámbricos.

Mayor capacidad y mejor eficiencia del espectro con respecto a los sistemas actuales.

Capacidad de proveer servicios simultáneos a usuarios finales y terminales.

Incorporación de sistemas de segunda generación y posibilidad de coexistencia e interconexión con servicios móviles por satélite.

Itinerancia internacional entre diferentes operadores (Roaming Internacional).
En Europa, el Instituto Europeo de Telecomunicaciones (ETSI) ha propuesto la norma paneuropea de tercera generación UMTS (Universal
Mobile telecommucation System). UMTS es miembro de la familia global IMT-2000 del sistema de comunicaciones móviles de "tercera
generación" de UIT.
La ITU recibió tres familias de propuestas PDD (WCDMA, cdma 2000 y UWC 136) y tres propuestas TDD (UTRA /TDD, TDD-SCDMA y DECT).
Posteriormente se han coordinado esfuerzos para armonizar los candidatos IMT- 2000 y finalmente disponer de las normas comprimidas de
Tercera Generación.
La asignación de espectro para IMT-2000 se realizó en la Conferencia Administrativa Mundial de Radiocomunicaciones 1992, WARC 92,
asignando 230 MHz en las bandas 1885-2025 MHz y 2110-2200 MHz
IMT-2000 comprende también una componente satelital que facilita los aspectos de roaming internacional, así como la obtención de
comunicaciones en lugares donde no haya disponibilidad de sistemas terrestres, complementando las celdas Macro, micro y pico.
Debido al crecimiento de Internet, las Intranets, el correo y el comercio electrónico y los servicios de transmisión de imágenes y sonido; han
elevado la demanda de servicios de banda ancha, teniéndose que incrementar los requerimientos de espectro para IMT-2000.
La Conferencia Mundial de Radiocomunicaciones WRC-2000 celebrada en Estambul en el año 2000, proporcionó tres bandas extras
quedando compuesto el espectro para IMT-2000 de la siguiente forma:

Componente terrenal:
806-960 MHz WRC 2000
1710-1885 MHz WRC 2000
1885-1980 MHz WARC 92
2010-2025 MHz WARC 92
2110-2200 MHz WARC 92
2500-2690 MHz WRC 2000

Componente Satelital:
1980-2010 MHz WARC 92
2170-2200 MHz WARC 92
2500-2520 MHz WRC 2000
2670-2690 MHz WRC 2000
Uno de los elementos más importantes para la definición de las características operativas del IMT-2000, es la selección de la Tecnología de
Transmisión y Radio (RTT), también denominada interfase de aire, parte del sistema que transporta una llamada entre la estación base o
móvil y la terminación del usuario.
En 1998 la UIT denominó RTT (Radio Transmission Technology) a las tecnologías que harían de interfaz de aire entre las estaciones base y los
terminales móviles. Las distintas interfaces propuestas ante la Unión Internacional de telecomunicaciones están basadas en CDMA que se
acompañan de tres modalidades de operación, cada una de las cuales podría perfectamente funcionar sobre la red base de GSM (GSM-MAP)
y sobre la red base CdmaOne (IS-41).
Las especificaciones técnicas de las RTT terrestres fueron aprobadas en la WRC-2000. Las siguientes especificaciones son las que forman esta
tecnología:

IMT-2000 CDMA Direct Spread (UTRA W-CDMA)

IMT-2000 CDMA Multi-Carrier (CDMA-2000)

IMT-2000 CDMA TDD (UTRA TD-CDMA)

IMT-2000 TDMA Single-Carrier (UWC-136)

IMT-2000 FDMA/TDMA (DECT).
Con los avances logrados en los sistemas de 3G dieron lugar a comenzar a pensar en prestar servicios a los usuarios nunca antes imaginados
por ninguna empresa, algunos de estos servicios que empezaron a nacer son:

Voz en banda estrecha a servicios multimedia en tiempo real y banda ancha.

Apoyo para datos a alta velocidad para navegar por la world wide web, entregar información como noticias, tráfico y finanzas por
técnicas de empuje y acceso remoto inalámbrico a Internet e intranets.

Servicios unificados de mensajes como correo electrónico multimedia.

Aplicaciones de comercio electrónico móvil, que incluye operaciones bancarias y compras móviles.

Aplicaciones audio/video en tiempo real como videoteléfono, videoconferencia interactiva, audio y música, aplicaciones multimedia
especializadas como telemedicina y supervisión remota de seguridad.
Página 10 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
La tecnología WiMax se convierte en el estándar 3G
La ITU (Unión Internacional de Telecomunicaciones) ha decidido incorporar la tecnología WiMax a su estándar 3G, abriendo el camino para el
despliegue de una serie de servicios de voz, datos y multimedia tanto en dispositivos móviles como estáticos. De esta manera también se
intenta dar un paso grande hacia la Internet móvil de alta velocidad demandada por los mercados de todo el mundo. Se calcula que 2.700
millones de personas se pueden beneficiar de esta decisión.
Las velocidades de conexión que se podrán obtener serán similares a las obtenidas por ADSL, pero sin cables, y hasta una distancia de 50-60
km. Este nuevo estándar será compatible con otros anteriores, como el de Wi-Fi.
Acceso a Internet de Banda Ancha por Celular
Se lanzó en Capital Federal un nuevo servicio que posibilita tener Internet en los celulares. Son redes de telefonía móvil para celulares de 3G2,
que permiten la transmisión de datos a alta velocidad, esto permitirá poder hacer videoconferencias, viendo al interlocutor en la pantalla del
aparato mientras se habla, o conectarse a internet de manera inalámbrica, a una velocidad mayor a gran parte de las bandas anchas.
Acaban de ser presentados en el país, aunque por el momento sólo se pueden usar en parte de la Capital Federal.
Los usuarios tendrán una velocidad de transmisión de 1,2 Mbs, alta aún comparando con la banda ancha por cable. Y en un futuro cercano
serán 3,2 Mbs.
La Imagen 8 muestra el Área de alcance de este nuevo servicio
Se calcula que para fines del 2007, habrá 183 millones de personas que usen servicios de 3G. En Argentina, esta empezando a ofrecerse la 3G,
principalmente, la video llamada que parecer ser la utilidad más marketinera para insertar en el mercado la tercera generación. Sin
embargo, las posibilidades son amplias.
Con 3G la capacidad de transmisión se amplía y surgen nuevos servicios o se mejoran los que ya existen, permitiendo una conexión de banda
ancha de 800 Mbps para descargar contenidos o navegar por Internet mediante el uso de la tecnología WCDMA.
Según los Empresarios, se trata de un mercado muy propicio, ya que en el mundo existen 2.000 millones de usuarios de telefonía. En
Argentina, si bien la telefonía de tercera generación recién llega, el nivel de penetración de la telefonía móvil ya está por arriba del 70%.
En la zona de cobertura 3G se puede recibir y enviar e-mails a muy alta velocidad. Pero si se sale del área, el teléfono seguirá funcionando
bajo la red de segunda generación. Todo lo que une a las radio bases entre ellas se mantiene igual y se reutiliza. El switch que centraliza toda
la información en la operadora se reutiliza, aunque tiene que incrementar un poco la capacidad porque se va a generar más tráfico de datos,
si no, se generará un cuello de botella.
Telefonía Móvil de Cuarta Generación (4G)
En la ciudad china de Shangai, se están llevando a cabo las primeras pruebas del mundo de la telefonía móvil de cuarta generación (4G), el
cual es 50 veces más rápido que la vigente telefonía sin hilos denominada 3G, la más potente del mercado al permitir la transferencia de
imágenes y sonidos a una velocidad de 2,84 megabites. Igualmente su lanzamiento se estima será dentro de cuatro años.
China aún tiene pendiente la instauración de la tecnología 3G, también de producción nacional. Este hecho, unido a las grandes inversiones en
infraestructuras y redes, hace suponer que las compañías del dragón rojo preferirán amortizar dicho sistema hasta que, finalmente, decidan
lanzar los móviles de cuarta generación.
Se espera que los teléfonos móviles 4G tengan capacidad para transmitir datos con la misma rapidez que la fibra óptica, mejorando
notablemente la transferencia de imágenes de alta calidad a través de una conexión sin hilos.
El crecimiento económico disparó suscitado en este país, superó en 2004 a Estados Unidos como primer mercado mundial de las
telecomunicaciones. En 2010 se calcula que habrá 620 millones de usuarios de móvil, de los cuales más de 200 millones emplearán la
tecnología 3G y, muy pronto, también la 4G.
Lectores de pantalla para celulares
Un lector de pantalla móvil es una aplicación software en teléfonos celulares, que trata de identificar e interpretar aquello que se muestra en
pantalla. Esta interpretación se representa a continuación al usuario mediante sintetizadores de texto a voz. Los lectores disponibles para
celulares actualmente son Talks y Mobile Speak:
TALKS: Ha sido una de las primeras soluciones para Symbian y abre las puertas de este sistema operativo casi desconocido, a todos los ciegos
que lo quieran usar.
El revisor de pantalla TALKS se ejecuta en smartphones bajo Symbian con interfaz Series 60 o Series 90. Un interfaz gráfico de usuario implica
que un revisor de pantalla sepa dónde acudir para proporcionar al usuario ciego o deficiente visual la información que le interesa.
Página 11 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
La accesibilidad a los sistemas informáticos ha experimentado un progreso significativo en los últimos años. Sistemas operativos como Windows
XP o Linux vienen ya equipados de serie con facilidades para la accesibilidad.
Algunos ejemplos de las utilidades provistas son:



Magnificadores de pantalla y sintetizadores de texto a voz para personas con problemas visuales.
Herramientas que transforman sonidos del sistema en mensajes visuales para sordos.
Mejoras de acceso a teclado y ratón para personas con problemas motrices.
Mobile Speak: es un lector de pantalla instalado en un teléfono móvil basado en Symbian, que permite usar el teléfono incluso si no se puede
leer la pantalla.
La información visual que se muestra en la misma, se presenta mediante salida de voz sintetizada generada mediante el uso de tecnologías
de conversión de texto a voz (TTS) y se envía al altavoz del dispositivo o a auriculares. Los contenidos de la pantalla se pueden mostrar
también en Braille si el teléfono móvil se conecta a una línea Braille. Las salidas de voz y de Braille pueden utilizarse simultáneamente.
Mobile Speak no toma el control de la interface de tu teléfono móvil Symbian, de forma que puedes acceder a todas sus funciones integradas
y a sus aplicaciones. Más aún, se puede instalar programas compatibles de terceros para extender las utilidades de tu teléfono móvil. Así
mismo, son compatibles los accesorios externos como teclados Bluetooth3 y auriculares, que permiten el control inalámbrico de la
computadora.
Características destacables










Voces de conversión de texto a voz (TTS) de alta calidad
Soporte para más de 20 idiomas incluyendo: Inglés (EE.UU y RR.UU), Español, Portugués, Italiano, Francés, Alemán, Holandés,
(Holanda y Bélgica), Noruego, Finlandés, Danés, Sueco, Turco, Polaco, Checo, Islandés, Griego, Ruso, Árabe y Chino.
Soporte para más de 20 dispositivos Braille Entrada y salida Braille en idiomas diferentes utilizando braille integral o estenográfico
así como Braille computerizado de seis o de ocho puntos.
Acceso completo a diferentes aplicaciones integradas y soporte para programas de terceros diseñados para mejorar la
funcionalidad del teléfono móvil.
Más de 30 opciones configurables por el usuario y la flexibilidad que proporciona el hecho de poder cambiar rápidamente entre
tres perfiles de usuario (Novato, Normal y Avanzado) que pueden tener diferentes ajustes.
Comandos que permiten cambiar ajustes importantes de forma inmediata, como el eco del teclado, el nivel de puntuación, el nivel
de verbalización, la velocidad y el volumen.
Comandos para repetir o deletrear el texto que se ha hablado anteriormente, leyendo la pantalla completa o solamente parte de
ella como las teclas de función así como la interrupción de la salida vocal o el cambio rápido de habla a silencio.
Posibilidad de callar la voz de forma automática cuando el teclado se bloquea pero de conservar salida vocal cuando se usan los
comandos de información de estado o de fecha y de hora. De forma igualmente automática se vuelve al modo voz cuando se
desbloquea el teclado.
Procesos de instalación y activación del producto cómodos y sencillos
Comando de ayuda disponible en cualquier parte del teléfono.
Actualizaciones: MS-S v3.0
La versión 3.0 de Mobile Speak para teléfonos Symbian, incluye las siguientes novedades y mejoras significativas:








Soporte para las voces integradas de Nokia en más de 20 idiomas.
Soporte para las nuevas y eficientes voces de alta calidad de Loquendo en Symbian 9 para inglés británico y norteamericano,
español, francés, alemán, italiano, polaco y portugués.
Soporte completo para las últimas funciones de Wayfinder Access V2.0.
Traducción completa para 10 nuevos idiomas: Gracias a nuestro soporte exclusivo para las voces de Nokia integradas en los
teléfonos Symbian 9, Mobile Speak habla ahora en hindi, húngaro, búlgaro, cantonés, serbio, eslovaco, tagalo, rumano, urdu e
indonesio. Los usuarios pueden escuchar a Mobile Speak en cualquiera de estos idiomas si el firmware de sus teléfonos Symbian 9
dispone de ellos.
Tono audible opcional que indica que Mobile Speak está cargado en teléfonos Symbian 9.
Función “volumen en llamada” que permite al usuario ajustar un nivel de volumen cuando Mobile Speak opera en modo normal y
otro cuando el programa habla mientras el usuario está atendiendo una llamada.
Función “voz en llamada” que permite a los usuarios elegir entre la voz de Nokia y la de Nokia de alta calidad durante una
llamada.
Nueva herramienta de diccionario para Symbian 9, que permite a los usuarios personalizar la manera en que las voces pronuncian
las palabras y las frases.
3
Bluetooth es una especificación industrial para Redes Inalámbricas de Área Personal (WPANs) que posibilita la
transmisión de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia segura y globalmente
libre
Página 12 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática






Ahora se leen el estado de la WLAN y el teclado bloqueado cuando se pulsa Edit + tecla izquierda;
Mejoras globales en rendimiento y estabilidad.
Respuesta del conversor texto a voz (TTS) más rápida.
Integración de un magnificador a pantalla completa con funciones exclusivas como suavizado de fuentes, configuración del cursor,
teclas rápidas de estado y mucho más.
Compatibilidad con 12 líneas braille de BAUM, Optelec y HumanWare: Soporte para Braille Grado 1 (integral) o Grado 2
(estenográfico), así como Braille computerizado de 6 o de 8 puntos tanto para entrada como para salida, y más de 30 tablas de
trascripción Braille para varios idiomas y sus variantes incluyendo Inglés (EE.UU y RR.UU), Galés, Español, Francés, Italiano,
Portugués, Alemán, Holandés (Holanda y Bélgica(, Noruego, Sueco, Checo, Polaco, Griego e Hindi.
Opción para configurar la salida de voz en editores secretos (por ejemplo los campos para introducir el PIN), que permite a los
usuarios escuchar la palabra “asterisco” * hablada con cada carácter tecleado (como ocurría en versiones anteriores), el carácter
que se está introduciendo, o ninguna salida de voz.
Ventajas Competitivas









“Huella” más pequeña, que significa que se usa menos cantidad de memoria al ejecutar la aplicación, lo que deriva en una mejor
estabilidad y capacidad de respuesta.
El soporte para nuevos modelos de teléfonos móviles y líneas Braille se implementa rápido pero sin poner en riesgo el lanzamiento
de un nuevo producto que tuviera muchos errores (bugs).
Mayor flexibilidad debido a la gran cantidad de ajustes configurables tanto en voz como en Braille, que se ajustan a las
preferencias de usuarios diferentes.
Más opciones de conversores de texto a voz (TTS) con más de un proveedor.
Capacidad de utilizar diccionarios de pronunciación creados por el usuario, específicos para diferentes conversores de texto a voz
(TTS).
El único lector de pantallas en Symbian que soporta el uso de entrada Braille de Grado 1 (integral) y Grado 2 (estenográfico)
Asignación lógica de comandos Braille que garantizan uniformidad en los diferentes tipos de líneas Braille compatibles.
Cursor de revisión Braille que funciona de forma independiente y por tanto puede navegar por las distintas áreas de la pantalla
que no serían accesibles con el uso del cursor del sistema.
Lanzamientos regulares de versiones beta públicas, que permiten a los usuarios comprobar por sí mismos qué novedades ofrecerán
las siguientes versiones y de esa forma poder contribuir al éxito de las versiones finales.
Plataformas de desarrollo sobre Teléfonos Móviles
Los teléfonos móviles de última generación están adoptando paulatinamente capacidades hasta ahora sólo disponibles por ordenadores
personales y PDAs4 (Personal Digital Assistant).
En este sentido tres plataformas de desarrollo (en el orden dado) dominan el mercado: MIDP, Symbian, y SmartPhone OS.
Mobile Information Device profile o MIDP (JSR 118)
Es una versión de J2ME(Java 2 Micro Edition) integrada en el hardware de celulares relativamente modernos que permite el uso en estos de
aplicaciones java denominadas MIDlets, tales como juegos, aplicaciones u otros.
La información de dispositivos móviles, Profile (MIDP) es un elemento clave de la plataforma Java 2, Mobile Edition (J2ME). Cuando se
combina con la Conectado Limited Device Configuration5 (CLDC), MIDP proporciona un estándar de Java Runtime Environment 6 para el día
de hoy más populares dispositivos de información móviles, como teléfonos celulares y las principales asistentes digitales personales (PDA. La
especificación MIDP se definió a través de la Java Community Process (JCP) de un grupo de expertos de más de 50 empresas, incluidas las
principales fabricantes de dispositivos, operadores inalámbricos y proveedores de software móvil. Se define una plataforma dinámica para el
despliegue de forma segura y optimizada, gráficos, aplicaciones de red.
CLDC y MIDP proporcionan la funcionalidad básica requerida por las aplicaciones móviles, en la forma de una normalización de Java
Runtime Environment y un rico conjunto de APIs7 Java. Desarrolladores que utilizan MIDP pueden escribir aplicaciones una sola vez, entonces
desplegar de forma rápida a una amplia variedad de dispositivos de información móviles. MIDP ha sido ampliamente adoptado como la
plataforma de elección para aplicaciones móviles. Es desplegado a nivel mundial en millones de teléfonos y PDAs, y es apoyada por los
principales entornos de desarrollo integrado (IDE). Empresas de todo el mundo ya han tomado ventaja de MIDP para escribir una amplia
gama de consumidores y las empresas aplicaciones móviles.
4
PDA, del inglés Personal Digital Assistant (Asistente Digital Personal), es un computador de mano originalmente
diseñado como agenda electrónica (calendario, lista de contactos, bloc de notas y recordatorios) con un sistema de
reconocimiento de escritura.
5
La configuración de dispositivo limitada conectada (CLDC) es una especificación de un marco para Java . S usan
en los dispositivos con los recursos muy limitados tales como paginadores y teléfonos móviles.
6
Java Runtime Environment (entorno en tiempo de ejecución Java) y se corresponde con un conjunto de utilidades
que permite la ejecución de programas java sobre todas las plataformas soportadas.
7
Interfaces de Aplicación
Página 13 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Kit de Compatibilidad de Tecnología
El MIDP TCK puede ser objeto de licencias de Sun8 para certificar un CLDC / MIDP aplicación en una determinada
Herramientas de desarrollo
El Sun Java Wireless Toolkit proporciona una completa ayuda al desarrollo para el desarrollo de aplicaciones MIDP, y trabaja en combinación
con el Sun ONE Studio, Mobile Edition es una tecnología Java IDE para desarrollo de aplicaciones que pueden ser desplegados en tecnología
Java dispositivos móviles.
Beneficios
Capacidades de interfaz de usuario: aplicaciones MIDP proporcionan la base para gráfica y altamente intuitiva La interfaz gráfica de usuario
está optimizada para la pequeña pantalla el tamaño, variados métodos de entrada, y otras características nativas de dispositivos móviles
modernos. MIDP proporciona navegación intuitiva y la entrada de datos mediante la adopción de todas las ventajas de los teclados de
teléfono, botones extra, como teclas de flecha, pantallas táctiles, y los pequeños teclados QWERTY9. MIDP aplicaciones se instalan y ejecutar a
nivel local, puede funcionar tanto en red y sin modos, y puede almacenar y gestionar la persistencia local datos de forma segura.
Amplia Conectividad: MIDP permite a los desarrolladores aprovechar la red de datos nativos y recibir mensajes de información de dispositivos
móviles. Soporta conectividad líder normas, incluidos HTTP, HTTPS, datagramas, enchufes, tomas de corriente del servidor, y puerto serie.
MIDP también apoya el servicio de mensajes cortos y Cell Broadcast 10 capacidades de servicios de GSM11 y CDMA12, redes, wi-fi a través de la
mensajería API (WMA) paquete opcional.
Seguridad: MIDP proporciona un robusto modelo de seguridad que cumple con los estándares abiertos y protege la red, las aplicaciones y los
dispositivos de información móviles. HTTPS permite que las solicitudes de apoyo para la utilización de las normas existentes, tales como SSL y
WTLS13 para enviar y recibir datos encriptados.
Sistema Operativo Symbian
Symbian es un Sistema Operativo, es decir, un programa básico que hace que una máquina pueda funcionar. Por encima de un sistema
operativo se pueden instalar aplicaciones, controladores de dispositivo y/o interfaces gráficos para relacionarse con el usuario. Fue producto de
la alianza de varias empresas de telefonía celular, entre las que se encuentran Nokia, Sony Ericsson, PSION, Samsung, Siemens, Arima, Benq,
Fujitsu, Lenovo, LG, Motorola, Mitsubishi Electric (creador de los teléfonos FOMA junto a Fujitsu, Sharp, etc.), Panasonic, Sharp, etc. Sus
orígenes provienen de su antepasado EPOC32, utilizado en PDA's y Handhelds14 de PSION. En 2003 Motorola vendió el 13% de su
8
Sun Microsystems es una empresa informática de Silicon Valley, fabricante de semiconductores y software. Fue
constituida en 1982 por el alemán Andreas von Bechtolsheim y los norteamericanos Vinod Koshla, Bill Joy, Scott
McNealy y Marcel Newman. Las siglas SUN se derivan de «Stanford University Network», proyecto que se había
creado para interconectar en red las bibliotecas de la Universidad de Stanford
9
QWERTY es un teclado que posee una distribución de teclado más común. Fue diseñado y patentado por
Christopher Sholes en 1868 y vendido a Remington en 1873. Su nombre proviene de las primeras seis letras de su
fila superior de teclas.
10
Cell Broadcast es una característica móvil de la tecnología definida por el comité del GSM (Global System for
Mobile Communications) de la ETSI (European Telecommunications Standards Institute) y es parte del estándar del
GSM
11
El Sistema Global para las Comunicaciones Móviles (GSM) es un sistema estándar para comunicación utilizando
teléfonos móviles que incorporan tecnología digital.
12
Acceso múltiple por división de código o CDMA (del inglés Code Division Multiple Access) es un término
genérico para varios métodos de multiplexación o control de acceso al medio basados en la tecnología de espectro
ensanchado (spread spectrum). Habitualmente se emplea en comunicaciones inalámbricas (por radiofrecuencia),
aunque también puede usarse en sistemas de fibra óptica o de cable.
13
Wireless Transport Layer Security (WTLS) . Capa Inalámbrica de Seguridad de Transporte (WTLS) es un
protocolo basado en el estándar TSL (Transport Layer Security) el cual se basa a su vez en la especificación SSL3.0
utilizada en el entorno Web para la realización de transferencias seguras de datos.
14 Ordenador portátil para diversas aplicaciones o tambien llamados PDA’s
Página 14 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
participación a Nokia, lo cual hizo que se quedara con el 32.2% de la compañía, pero más tarde Motorola, después de no tener el éxito
esperado con sus terminales Linux-Like, volvió al mundo del Symbian comprándole el 50% a Sony Ericsson.
El objetivo de Symbian fue crear un sistema operativo para terminales móviles que pudiera competir con el de Palm o el Windows Mobile de
Microsoft.
La mayoría de los móviles con Symbian son de la compañía Nokia: 3650, 3660, 5700, 6120, 6260, 6600, 6620,6630, 6680, 6681, 7650, 7610,
6670, 9300, 9500, 5700, N-Gage, N-Gage QD, E50, E60, E61, E65, E70, N70, N72, N73, N80, N81, N82, N95, N96, etc. Es decir, todos los
modelos de la serie 60 y superiores, incluyéndose toda la serie N (excepto los n810 n800 n700m también se pueden llamar tablets, los cuales
funcionan con Maemo/Linux) y los denominados Communicator. Son muy pocos los móviles de otros fabricantes: Sony Ericsson P800, P802,
P900, P910, P990, W950 y M600i; Siemens SX1 ; Motorola A1000, A1010, A920, A925, A728 (sólo disponible en China), Z8, Z10; todos los
celulares FOMA (sólo disponibles en Japón) y Samsung con dos modelos: el SGH-D720 y el SGH-D730 y dos de Panasonic (X700, X800). La
lista completa de teléfonos con este sistema operativo se encuentra actualizada en el sitio oficial de Symbian.
Symbian cuenta con cuatro interfaces de usuario ó plataformas para su sistema operativo, las denominadas Serie 60, Serie 80, Serie 90, UIQ y
FOMA. La mayoría de los móviles utilizan la Serie 60, todos los de Sony Ericsson trabajan bajo UIQ, como así también Motorola.
El desarrollo de aplicaciones para Symbian es sencillo ya que no es necesario aprender un lenguaje de programación nuevo, se puede
programar a partir de lenguajes de programación de PC como Java, C++ Visual Basic, Python, Perl, Flash Lite (entre otros). Este echo ha
conseguido que existan en la actualidad millones de aplicaciones para móviles Symbian que realicen todas las tareas imaginables: juegos,
mapas, guías de ciudades, reproductores de vídeo, traductores, diccionarios, administradores de archivos, emuladores de otros dispositivos
como consolas, navegadores web.
Smartphone
Un Smartphone (Teléfono inteligente en español) es un dispositivo electrónico que fusiona un teléfono celular con características similares a las
de un computador personal. Casi todos los teléfonos inteligentes son celulares que soportan completamente un cliente de correo electrónico
con la funcionalidad completa de un organizador personal. Una característica importante de casi todos los teléfonos inteligentes es que
permiten la instalación de programas para incrementar el procesamiento de datos y la conectividad. Estas aplicaciones pueden ser
desarrolladas por el fabricante del dispositivo, por el operador o por un tercero. El término "Inteligente" hace referencia a cualquier interfaz,
como un teclado QWERTY en miniatura, una pantalla táctil, o simplemente el acceso seguro al correo electrónico de una compañía, como el
provisto por un BlackBerry15.
Los smartphones son fácilmente utilizables por no videntes, porque tienen teclado numérico simple, además de los cursores y otras teclas de
función.
Definición
Los teléfonos inteligentes se distinguen por muchas características, que incluyen, pero no están limitadas a, pantallas táctiles, un sistema
operativo así como la conectividad a Internet. El completo soporte al correo electrónico parece ser una característica definitiva encontrada en
todos los modelos existentes y anunciados en 2007. Casi todos los teléfonos inteligentes también permiten al usuario instalar programas
adicionales, normalmente inclusive desde terceros, pero algunos vendedores gustan de tildar a sus teléfonos como inteligentes aun cuando no
tienen esa característica.
Entre las características más importantes están el acceso a Internet y al correo electrónico, a los programas de agenda, las cámaras integradas,
administración de contactos y algunos programas de navegación así como ocasionalmente la habilidad de leer documentos de negocios en
variedad de formatos como PDF y Microsoft Office
Historia
El primer teléfono inteligente fue diseñado por IBM en 1992 y se llamó Simón. Fue mostrado como un producto concepto en ese año en la
exposición COMDEX16. Fue liberado al público en 1993 y comercializado por BellSouth17. Aparte de ser un teléfono móvil, contenía calendario,
libreta de direcciones, reloj mundial, calculadora, libreta de anotaciones, correo electrónico, enviaba y recibía FAX e incluía juegos. No tenía
botones físicos para marcar. En su lugar usaba una pantalla táctil para seleccionar los contactos con el dedo o para crear facsímiles y memos
con un stylus opcional. El texto era ingresado con un teclado predictivo incluido en la pantalla. Para los estándares de la actualidad, el Simon
sería de lejos un teléfono de gama baja.
15
Un BlackBerry es un dispositivo handheld inalámbrico introducido en 1999 que admite correo electrónico,
telefonía móvil, SMS, navegación web y otros servicios de información inalámbricos.
16
COMDEX (Computer Dealer's Exhibition) era un exposición de computadores llevada a cabo en Las Vegas, cada
noviembre desde 1979 hasta el 2003. Era una de las convenciones de negocios de computadores más grandes del
mundo
17
BellSouth Corporation Es una compañía estadounidense de telecomunicaciones cuya casa matriz se encuentra en
Atlanta (Georgia).
Página 15 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
El Nokia 9000, liberado en 1996, fue catalogado como un comunicador, pero fue discutiblemente el primero en una línea de teléfonos
inteligentes. El Ericsson R380 fue vendido como un "teléfono inteligente", pero no podía ejecutar aplicaciones nativas de terceros. Aunque el
Nokia 9210 fue discutiblemente el primer teléfono inteligente con sistema operativo, Nokia continuó refiriéndose a él como comunicador.
Aunque el Nokia 7650 (anunciado en el 2001) fue referido como un "smart phone" en los medios de comunicación y ahora es llamado
"smartphone" en el sitio de soporte de Nokia, la prensa lo calificó como un teléfono destinado al ámbito fotográfico. El término ganó
credenciales cuando en el 2002 Microsoft anunció sus sistema operativo para celulares, en ese entonces conocido como "Microsoft Windows
Powered Smartphone 2002".[6]
Más de 1000 millones de celulares con cámara serán vendidos en el 2008. Los teléfonos inteligentes con soporte completo para el correo
electrónico representarán cerca del 10%, es decir 100 millones de unidades.
Sistemas operativos en teléfonos celulares:
Los sistemas operativos más usados en los teléfonos inteligentes son:






Symbian OS de Symbian Ltd. (72.40% del mercado )
Linux operating system (13.3% del mercado)
Windows Mobile from Microsoft (6.1% del Mercado)
RIM BlackBerry (5.3% del mercado)
Palm OS, desarrollado por PalmSource (1.6% del mercado)
Mac OS X de Apple, Inc. (1.3% del mercado)
Sistemas de Posicionamiento Global (GPS)
El Global Positioning System (GPS) o Sistema de Posicionamiento Global (más conocido con las siglas GPS, aunque su nombre
correcto es NAVSTAR-GPS) es un Sistema Global de Navegación por Satélite (GNSS) que permite determinar en todo el mundo la posición
de un objeto, una persona, un vehículo o una nave, con una precisión hasta de centímetros, usando GPS diferencial, aunque lo habitual son
unos pocos metros. Aunque su invención se atribuye a los gobiernos francés y belga, el sistema fue desarrollado e instalado, y actualmente es
operado por el Departamento de Defensa de los Estados Unidos.
El GPS funciona mediante una red de 27 satélites (24 operativos y 3 de respaldo) en órbita sobre el globo, a 20.200 km, con trayectorias
sincronizadas para cubrir toda la superficie de la Tierra. Cuando se desea determinar la posición, el receptor que se utiliza para ello localiza
automáticamente como mínimo tres satélites de la red, de los que recibe unas señales indicando la posición y el reloj de cada uno de ellos. Con
base en estas señales, el aparato sincroniza el reloj del GPS y calcula el retraso de las señales; es decir, la distancia al satélite. Por
"triangulación" calcula la posición en que éste se encuentra. La triangulación en el caso del GPS, a diferencia del caso 2-D que consiste en
averiguar el ángulo respecto de puntos conocidos, se basa en determinar la distancia de cada satélite respecto al punto de medición.
Conocidas las distancias, se determina fácilmente la propia posición relativa respecto a los tres satélites. Conociendo además las coordenadas o
posición de cada uno de ellos por la señal que emiten, se obtiene la posición absoluta o coordenadas reales del punto de medición. También se
consigue una exactitud extrema en el reloj del GPS, similar a la de los relojes atómicos que llevan a bordo cada uno de los satélites.
La antigua Unión Soviética tenía un sistema similar llamado GLONASS, ahora gestionado por la Federación Rusa.
Actualmente la Unión Europea está desarrollando su propio sistema de posicionamiento por satélite, denominado Galileo.
Características
El Sistema Global de Navegación por Satélite lo componen:



Sistema de satélites. Está formado por 24 unidades con trayectorias sincronizadas para cubrir toda la superficie del globo
terráqueo. Más concretamente, repartidos en 6 planos orbitales de 4 satélites cada uno. La energía eléctrica que requieren para su
funcionamiento la adquieren a partir de dos paneles compuestos de celdas solares adosados a sus costados.
Estaciones terrestres. Envían información de control a los satélites para controlar las órbitas y realizar el mantenimiento de toda la
constelación.
Terminales receptores: Indican la posición en la que están; conocidas también como Unidades GPS, son las que podemos adquirir en
las tiendas especializadas.
Evolución
El GPS está evolucionando hacia un sistema más sólido (GPS III), con una mayor disponibilidad y que reduzca la complejidad de las
aumentaciones GPS. Algunas de las mejoras previstas comprenden:

Incorporación de una nueva señal en L2 para uso civil.
Página 16 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática







Adición de una tercera señal civil (L5): 1176,45 MHz
Protección y disponibilidad de una de las dos nuevas señales para servicios de Seguridad Para la Vida (SOL).
Mejora en la estructura de señales.
Incremento en la potencia de señal (L5 tendrá un nivel de potencia de -154 dB).
Mejora en la precisión (1 – 5 m).
Aumento en el número de estaciones monitorizadas: 12 (el doble)
Permitir mejor interoperabilidad con la frecuencia L1 de Galileo
El programa GPS III persigue el objetivo de garantizar que el GPS satisfará requisitos militares y civiles previstos para los próximos 30 años.
Este programa se está desarrollando para utilizar un enfoque en 3 etapas (una de las etapas de transición es el GPS II); muy flexible, permite
cambios futuros y reduce riesgos. El desarrollo de satélites GPS II comenzó en 2005, y el primero de ellos estará disponible para su lanzamiento
en 2012, con el objetivo de lograr la transición completa de GPS III en 2017.
Desafíos




Representar los requisitos de usuarios, tanto civiles como militares, en cuanto a GPS.
Limitar los requisitos GPS III dentro de los objetivos operacionales.
Proporcionar flexibilidad que permita cambios futuros para satisfacer requisitos de los usuarios hasta 2030.
Proporcionar solidez para la creciente dependencia en la determinación de posición y de hora precisa como servicio internacional.
Fiabilidad de los datos
Debido al carácter militar del sistema GPS, el Departamento de Defensa de los EE.UU. se reservaba la posibilidad de incluir un cierto grado de
error aleatorio, que podía variar de los 15 a los 100 m. La llamada disponibilidad selectiva (S/A) fue eliminada el 2 de mayo de 2000.
Aunque actualmente no aplique tal error inducido, la precisión intrínseca del sistema GPS depende del número de satélites visibles en un
momento y posición determinados.
Con un elevado número de satélites siendo captados (7, 8 o 9 satélites), y si éstos tienen una geometría adecuada (están dispersos), pueden
obtenerse precisiones inferiores a 2,5 metros en el 95% del tiempo. Si se activa el sistema DGPS llamado SBS (WAAS-EGNOS-MSAS), la
precisión mejora siendo inferior a un metro en el 97% de los casos. (Estos sistemas SBS no aplican en Sudamérica, ya que esta parte del mundo
no cuenta con este tipo de satélites geoestacionarios)
GPS en el móvil
Guiar al usuario hacia su destino no está sólo en manos de los GPS para automóviles. Los nuevos teléfonos móviles comienzan a incluir
navegadores con información útil. Su objetivo es situar las necesidades del usuario itinerante en un punto concreto del mapa.
Después de la inclusión en los móviles del reproductor de MP3 y la cámara de fotos digital, contar con un navegador GPS es el siguiente
movimiento de los fabricantes de cara a completar los servicios que ofrecen al usuario. Los expertos del sector esperan que durante 2010 más
de un 30% de los móviles vendidos incorporen esta funcionalidad.
Por el momento, la tecnología GPS es utilizada mayoritariamente en vehículos a motor y en actividades al aire libre. Sin embargo, con la
incorporación de los navegadores GPS a los teléfonos móviles de gama media, se espera que las ventas de estos dispositivos superen en pocos
años las de los actuales dispositivos, fabricados por marcas como TomTom o Garmin. El motivo es que los móviles con GPS pueden hacer las
veces de navegadores para autos.
Por su parte, los GPS para automóviles también pueden ser utilizados por los peatones. Los programas de mapas digitales como TomTom,
Route, Destinator, Igo y otros, disponen en sus últimas versiones de una opción de navegación en 'modo peatón'.
Este modo de utilización está pensado para un usuario que camina por la acera y, por consiguiente, no tiene en cuenta el sentido de la
dirección del tráfico ni las rutas más cortas para llegar al destino. Pero tampoco es la panacea, pues en muchas de estas versiones de mapas
no aparecen vías públicas de uso frecuente para el caminante como las rutas en los parques, las plazas y los jardines.
Ahora preguntémonos, si el usuario es una persona no vidente o con problemas de visión. Que ventajas nos brindan hoy en día los equipos de
ultima generación a fin de facilitarle la tarea a estas personas?
La respuesta es, muy poca. Además, lo poco que hay en el mercado, para facilitar el manejo de estos dispositivos a personas no videntes es de
muy alto costo. Seria ideal contar con un software, desarrollado con tecnologías libre de costos, disponibles en el mercado tecnológico, que se
adapte a cualquier celular con GPS, y sea capaz de incorporar distintas funcionalidades que hoy en día son de fácil acceso en exclusividad de
las personas con visión normal.
Algunos celulares pueden vincularse a un receptor GPS diseñado a tal efecto. Suelen ser módulos independientes del teléfono que se
comunican vía inalámbrica bluetooth, o implementados en el mismo terminal móvil, y que le proporcionan los datos de posicionamiento que
son interpretados por un programa de navegación. Esta aplicación del GPS está particularmente extendida en los teléfonos móviles que
operan con el sistema operativo Symbian, y PDAs con el sistema operativo Windows Mobile, aunque varias marcas han lanzado modelos con
un módulo GPS integrado con software GNU/Linux.
Página 17 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
JSR-179 API de Localización de Java para dispositivos móviles compatibles
La especificación JSR-179 Location API for J2ME pone a nuestra disposición una serie de clases que permiten acceder desde Java a información
relacionada con la posición y el movimiento de nuestro dispositivo.
Hay que tener en cuenta que no es necesario que el móvil disponga de GPS. La Location API nos aísla del origen de los datos, que puede ser
un GPS o puede ser un servicio de pago proporcionado por la operadora. Debido a esto la API nos ofrece una serie de parámetros para filtrar
qué tipo de servicios nos interesan de aquellos disponibles.
Fuentes de localización
En lo referente a localización, existen habitualmente tres fuentes posibles de datos:
GPS: nuestro móvil incorpora un GPS, o está conectado a uno (habitualmente a través de Bluetooth).
Assisted GPS: además de un GPS, nuestro móvil tiene acceso a información de localización que evita que el GPS pase hasta varios minutos
obteniendo esa información de los satélites antes de dar la primera posición. Para ello es necesario un servicio específico ofrecido por algunas
operadoras, habitualmente de pago.
Cell Id: el móvil no tiene acceso a un GPS, pero sí a un servicio que le proporciona información basada en el identificador de la célula
telefónica en la que se encuentra. También suele ser un servicio de pago por parte de las operadoras.
La Location API está preparada para el dispositivo tenga acceso a todo tipo de Location Providers o Proveedores de Localización, que es
como se denominan a estas fuentes de datos. Para poder seleccionar entre las opciones actuales y futuras existe una clase que nos permite
definir una serie de criterios que deba cumplir el proveedor que nos interese.
En lo que resta de la tesis nos dedicaremos exclusivamente a la utilización de la API de localización en dispositivos móviles con GPS.
Estableciendo criterios
La clase javax.microedition.location.Criteria proporciona funciones que nos van a permitir filtrar los proveedores de localización disponibles.
Veamos qué podemos definir en esta clase:




La precisión horizontal y vertical.
Se establece mediante los métodos setHorizontalAccuracy y setVerticalAccuracy. La precisión de los datos depende de su origen.
Así, si indicamos una precisión de 50 metros excluiremos los datos provenientes de localización por celda telefónica, que suelen tener
precisiones de cientos de metros, pero aceptaremos los datos del GPS, con precisiones típicas de pocos metros.
El permiso para obtener datos a cambio de un precio.
Mediante el método setCostAllowed(false) (el valor por defecto es true) impedimos que nos cobren por obtener datos de
localización. Esto excluye habitualmente el A-GPS y la localización por celda telefónica, que necesitan comunicación con la red
telefónica para obtener la información, además de un posible sobrecoste por el servicio.
El nivel de consumo de batería.
A través del método setPreferredPowerConsumption podemos indicar si permitiremos un nivel de consumo bajo, medio o alto. Hay
que tener en cuenta que es el fabricante del dispositivo quien decide qué es alto, medio o bajo, pero probablemente el uso de un
dispositivo GPS interno o bluetooth tendrá un consumo medio o alto.
Otros criterios.
El tiempo de respuesta, la velocidad o información relativa a la dirección postal. Para una descripción más extensa, véase la
referencia de la clase Criteria.
Accediendo al GPS
Una vez definidos los criterios, obtendremos una referencia al proveedor de contenidos. La clase LocationProvider implementa un método
estático getInstance(Criteria criteria) que devuelve un proveedor que se adapte a los criterios que hemos indicado. Si ninguno de los
proveedores disponibles encaja en los criterios indicados, el método devolverá null. En caso de que no exista ningún proveedor de localización
disponible se lanzará una LocationException. Es posible llamar a getInstance pasando null como parámetro: de esta forma se especifican los
parámetros menos restrictivos para la selección.
Utilizaremos la instancia obtenida de LocationProvider para obtener la posición mediante el método getLocation. En el podemos especificar
un timeout, o tiempo que queremos que espere el sistema para obtener una posición. Una vez obtenida dispondremos de un objeto Location
que contendrá, entre otras cosas, las coordenadas de nuestra ubicación.
Un ejemplo sencillo
Página 18 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Juntemos todo en un ejemplo muy sencillo, sólo útil para hacerse una idea del código descrito:
// Establecemos los criterios. Queremos sólo un GPS interno o Bluetooth
Criteria criteria = new Criteria();
criteria.setCostAllowed(false);
// Como el valor por defecto de los siguientes parámetros
// es NO_REQUIREMENT, las siguientes líneas no son necesarias
criteria.setHorizontalAccuracy(NO_REQUIREMENT);
criteria.setVerticalAccuracy(NO_REQUIREMENT);
criteria.setPreferredPowerConsumption(NO_REQUIREMENT);
// Aquí falta capturar la posible excepción y verificar que el
// valor devuelto no es null
LocationProvider lp = LocationProvider.getInstance(criteria);
// Con -1 indicamos el timeout por defecto
Location location = lp.getLocation(-1);
Coordinates coordinates = location.getQualifiedCoordinates();
System.out.println("Latitud: " + coordinates.getLatitude());
System.out.println("Longitud: " + coordinates.getLongitude());
Servicios Web
Introducción
“Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre distintas aplicaciones
de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma.” (Wikipedia)
Existen múltiples definiciones sobre lo que son los Servicios Web, lo que muestra su complejidad a la hora de dar una adecuada definición que
englobe todo lo que son e implican. Una posible sería hablar de ellos como un conjunto de aplicaciones o de tecnologías con capacidad para
ínter operar en la Web. Estas aplicaciones o tecnologías intercambian datos entre sí con el objetivo de ofrecer unos servicios. Los proveedores
ofrecen sus servicios como procedimientos remotos y los usuarios solicitan un servicio llamando a estos procedimientos a través de la Web.
Estos servicios proporcionan mecanismos de comunicación estándares entre diferentes aplicaciones, que interactúan entre sí para presentar
información dinámica al usuario. Para proporcionar interoperabilidad y extensibilidad entre estas aplicaciones, y que al mismo tiempo sea
posible su combinación para realizar operaciones complejas, es necesaria una arquitectura de referencia estándar.
Existen gran cantidad de implementaciones que ayudan al desarrollo de Servicios Web para cada uno de los lenguajes de programación.
Sun provee de una serie de tecnologías en su versión Java EE para el desarrollo de Servicios Web. Éstas tecnologías son estándares de
desarrollo, así como API’s que especifican el comportamiento de implementaciones. En las últimas especificaciones Sun crea una nueva
especificación que facilita el desarrollo de Web Services a través de anotaciones.
Principales características y ventajas





Envío de información mediante protocolos estándares.
Independencia del lenguaje, protocolo y plataforma
Alto nivel de interoperabilidad.
No requiere un conocimiento especializado de la implementación del servicio.
Opera en forma asíncrona.
Desventajas y limitaciones



Limitaciones para realizar transacciones
Su rendimiento es bajo si se compara con otros modelos de computación distribuida.
Pueden esquivar medidas de seguridad basadas en firewall.
Página 19 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
El siguiente gráfico muestra cómo interactúa un conjunto de Servicios Web:
Según el ejemplo del gráfico, un usuario (que juega el papel de cliente dentro de los Servicios Web), a través de una aplicación, solicita
información sobre un viaje que desea realizar haciendo una petición a una agencia de viajes que ofrece sus servicios a través de Internet. La
agencia de viajes ofrecerá a su cliente (usuario) la información requerida. Para proporcionar al cliente la información que necesita, esta
agencia de viajes solicita a su vez información a otros recursos (otros Servicios Web) en relación con el hotel y la compañía aérea. La agencia
de viajes obtendrá información de estos recursos, lo que la convierte a su vez en cliente de esos otros Servicios Web que le van a proporcionar
la información solicitada sobre el hotel y la línea aérea. Por último, el usuario realizará el pago del viaje a través de la agencia de viajes que
servirá de intermediario entre el usuario y el servicio Web que gestionará el pago.
En todo este proceso intervienen una serie de tecnologías que hacen posible esta circulación de información. Por un lado, estaría SOAP
(Protocolo Simple de Acceso a Objetos). Se trata de un protocolo basado en XML, que permite la interacción entre varios dispositivos y que
tiene la capacidad de transmitir información compleja. Los datos pueden ser transmitidos a través de HTTP , SMTP , etc. SOAP especifica el
formato de los mensajes. El mensaje SOAP está compuesto por un envelope (sobre), cuya estructura está formada por los siguientes elementos:
header (cabecera) y body (cuerpo).
Página 20 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Estructura de los mensajes
Para optimizar el rendimiento de las aplicaciones basadas en Servicios Web, se han desarrollado tecnologías complementarias a SOAP, que
agilizan el envío de los mensajes (MTOM) y los recursos que se transmiten en esos mensajes (SOAP-RRSHB).
Por otro lado, WSDL (Lenguaje de Descripción de Servicios Web), permite que un servicio y un cliente establezcan un acuerdo en lo que se
refiere a los detalles de transporte de mensajes y su contenido, a través de un documento procesable por dispositivos. WSDL representa una
especie de contrato entre el proveedor y el que solicita. WSDL especifica la sintaxis y los mecanismos de intercambio de mensajes.
Tecnologías para servicios Web en Java
Especificación de Implementación
http://jcp.org/en/jsr/detail?id=109
JAX-WS: Java API for XML Web Services
https://jax-ws.dev.java.net/
JAX-RPC: Java API for XML-based RPC
https://jax-rpc.dev.java.net/
JAXB: Java Architecture for XML Binding
https://jaxb.dev.java.net/
SAAJ: SOAP with Attachments API for Java
https://saaj.dev.java.net/
StAX:Streaming API for XML
http://java.sun.com/webservices/docs/1.6/tutorial/doc/SJSXP.html
Web Services Metadata for the Java Platform
http://jcp.org/en/jsr/detail?id=181
Los Servicios Web son actualmente uno de los pilares de los proyectos de integración, ya que permiten la comunicación entre aplicaciones de
distinto lenguaje ejecutadas sobre cualquier plataforma, incluidas las aplicaciones para telefonía móvil.
La arquitectura SOA favorece en gran medida el mantenimiento y escalabilidad de las aplicaciones, disminuyendo el acoplamiento de
módulos. Java EE presenta dos API’s para el desarrollo de Servicios Web: JAX-RPC y JAX-WS.
La mayoría de las implementaciones actuales de Web Services utilizan JAX-RPC ya que JAX-WS todavía no está extendido entre los
desarrolladores. JAX-WS es más novedoso y simplifica en gran medida el desarrollo de Servicios Web por el uso de anotaciones.
Página 21 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Text To Speech (TTS)
¿Qué es un sistema Text to Speech?
La síntesis de voz es la producción artificial del habla humana. Se han diseñado diferentes sistemas para este propósito llamados sintetizadores
de voz y pueden ser implementados tanto en hardware como en software. Un sistema TTS (text to speech) o sintetizador de voz convierte el
lenguaje escrito en habla. Otros sistemas convierten el texto en representaciones simbólicas lingüísticas tales como transcripciones fonéticas.
El habla sintetizada se genera concatenando segmentos de grabaciones que se encuentran almacenados en una base de datos. Los sistemas
text to speech difieren en diversos aspectos, uno de ellos es el tamaño de las unidades de habla almacenados. Los sistemas que almacenen
fonemas y di fonemas proveen el rango de salida más amplio, sin embargo es posible que su calidad sea baja. Para una salida de alta
calidad, se utiliza la técnica de dominios específicos; en esta técnica el almacenamiento de palabras u oraciones pre-grabadas enteras
permiten una salida de alta calidad.
Alternativamente, un sintetizador puede incorporar un modelo del tracto vocal y otras características de la voz humana para generar una
voz completamente “sintética” o “electrónica”.
Un elemento para juzgar la calidad de la síntesis de voz es su parecido con la voz humana y su potencialidad para ser entendida. Un
sistema TTS puede lograr que personas con discapacidad visual, de lectura o en actividades en las cuales ojos y manos están ocupadas
puedan escuchar instrucciones, textos leídos, entre otros textos. Muchos sistemas operativos han incluido sintetizadores de voz desde principios
de la década de los ochenta y su calidad ha variado mucho de modelo en modelo, incluso actualmente hay TTS de muy variados tipos y
calidades.
¿Cómo funciona el procesamiento de texto a voz?
Existe una gran gama de diferentes sistemas para el procesamiento de texto con complejidad muy variada. Sin embargo, muchos de estos
sistemas comparten una arquitectura general que ha demostrado ser muy útil en muchos casos. La siguiente figura muestra esta
arquitectura común para los sistemas TTS.
Podemos ver que existen dos bloques principales que forman el sistema: el bloque de Procesamiento de Lenguaje Natural (Natural
Language Processing o NLP) y el bloque de Proceso de Síntesis. El bloque de NLP se encarga de producir una transcripción fonética del texto
leído, además de la entonación y el ritmo deseados para la voz de salida. Después, el bloque de Proceso de Síntesis transforma la información
simbólica que recibe del bloque anterior, en una voz de salida.
El bloque NLP tiene dos tareas importantes. La primera tarea es convertir el texto en crudo, conteniendo símbolos como números o
abreviaciones, en su equivalente en palabras escritas. Esto comúnmente es llamado “normalización de texto”, “pre-procesamiento” o
“señalización” (tokenization). Su segunda tarea es asignar transcripciones fonéticas a cada palabra y dividirlas en unidades prosódicas tales
como frases, cláusulas y oraciones. El proceso de asignar transcripciones fonéticas en palabras es llamado conversión “texto a fonema” o
conversión “grafema a fonema”.
El bloque NLP tiene como salida una representación lingüística, la cual está formada tanto por las transcripciones fonéticas como por la
información prosódica. El bloque de Proceso de Síntesis es el sintetizador en sí, aquí es dónde se transforma la representación de la lógica
lingüística en sonido.
Utilidad de los sintetizadores de voz
Los sintetizadores de voz se utilizan principalmente para dar accesibilidad a personas discapacitadas visualmente, así como para actividades
o situaciones en las cuales no se puede usar la vista. Así, una aplicación clásica de esta tecnología son los lectores de pantalla donde personas
invidentes o de visión débil pueden escuchar todos los textos presentados en pantalla.
Página 22 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Los sistemas TTS se emplean con frecuencia para apoyar a personas con dislexia y otras dificultades de lectura. También son aplicados
para la educación de niños que todavía no saben leer, para ayudar a personas con discapacidad de habla a través de un sistema VOCA
(Voice-Output Communication Aid), en sistemas de navegación (GPS), juegos, etc.
Otras aplicaciones de la tecnología text to speech son los servicios de noticias. Sitios como ananova.com utiliza síntesis de voz para convertir
noticias textuales en contenido auditivo.
Esta posibilidad nos abre un gran campo en las tecnologías móviles. En la rama del entretenimiento existen aplicaciones para generar
audio a través de texto con la finalidad de narración. Compañías como Animo Limited y CELSYS, Inc. utilizan un software basado en
FineSpeech que genera narración y líneas de diálogo de animaciones a través de texto asignado por el usuario.
Una interfaz auditiva nos puede ayudar a la educación y al aprendizaje. Con dicha interfaz es posible no solo leer la información, sino
escucharla. De esta manera tendríamos una interfaz multi modal donde el sentido del oído formaría parte esencial de la manipulación y
asimilación de la información.
Tecnologías de Síntesis de Voz
Las dos características utilizadas para describir la calidad de un sintetizador de voz son la naturalidad e inteligibilidad. La naturalidad de un
sintetizador de voz se refiere a hasta qué punto suena como la voz de una persona real. La inteligibilidad de un sintetizador se refiere a la
facilidad de la salida de poder ser entendida. El sintetizador ideal debe de ser a la vez natural e inteligible, y cada tecnología intenta
conseguir el máximo de ambas. Algunas de las tecnologías son mejores en naturalidad o en inteligibilidad y las metas de la síntesis determinan
a menudo qué aproximación debe seguirse. Hay dos tecnologías principales usadas para generar habla sintética: síntesis concatenativa y
síntesis de formantes.
Síntesis concatenativa
La síntesis concatenativa se basa en la concatenación de segmentos de voz grabados. Generalmente, la síntesis concatenativa produce los
resultados más naturales. Sin embargo, la variación natural del habla y las técnicas automatizadas de segmentación de formas de onda
resultan en defectos audibles, que conllevan una pérdida de naturalidad.
Hay tres tipos básicos de síntesis concatenativa.
Síntesis por selección de unidades
La síntesis por selección de unidades utiliza una base de datos de voz grabada (más de una hora de habla grabada). Durante la creación de
la base de datos, el habla se segmenta en algunas o todas de las siguientes unidades: fonemas, sílabas, palabras, frases y oraciones.
Normalmente, la división en segmentos se realiza usando un reconocedor de voz modificado para forzar su alineamiento con un texto
conocido. Después se corrige manualmente, usando representaciones como la forma de onda y el espectrograma. Se crea un índice de las
unidades en la base de datos basada en parámetros acústicos de la segmentación como la frecuencia fundamental, el pitch, la duración, la
posición en la sílaba y los fonemas vecinos. En tiempo de ejecución, el objetivo deseado se crea determinando la mejor cadena de candidatos
de la base de datos (selección de unidades). Este proceso se logra típicamente usando un árbol de decisión especialmente ponderado.
La selección de unidades da la máxima naturalidad debido al hecho de que no aplica mucho procesamiento digital de señales al habla
grabada, lo que a menudo hace que el sonido grabado suene menos natural, aunque algunos sistemas usan un poco de procesado de señal en
la concatenación para suavizar las formas de onda. De hecho, la salida de la mejor selección de unidades es a menudo indistinguible de la voz
humana real, especialmente en contextos en los que el sistema ha sido adaptado. Por ejemplo, un sistema de síntesis de voz para dar
informaciones de vuelos puede ganar en naturalidad si la base de datos fue construida a base grabaciones de informaciones de vuelos, pues
será más probable que aparezcan unidades apropiadas e incluso cadenas enteras en la base de datos. Sin embargo, la máxima naturalidad a
menudo requiere que la base de datos sea muy amplia, llegando en algunos sistemas a los gigabytes de datos grabados.
Síntesis de difonos
La síntesis de difonos usa una base de datos mínima conteniendo todos los difonos que pueden aparecer en un lenguaje dado. El número de
difonos depende de la fonética del lenguaje: el español tiene unos 800 difonos, el alemán unos 2500. En la síntesis de difonos, la base de datos
contiene un sólo ejemplo de cada difono. En tiempo de ejecución, la prosodia de una oración se sobre impone a estas unidades mínimas
mediante procesamiento digital de señales, como codificación lineal predictiva, PSOLA o MBROLA.
La calidad del habla resultante es generalmente peor que la obtenida mediante selección de unidades pero más natural que la obtenida
mediante sintetización de formantes. La síntesis difonos adolece de los defectos de la síntesis concatenativa y suena robótica como la síntesis de
formantes, y tiene pocas ventajas respecto a estas técnicas aparte del pequeño tamaño de la base de datos, así que su uso en aplicaciones
comerciales experimenta un declive, aunque continúa usándose en investigación porque hay unas cuantas implementaciones libres.
Página 23 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Síntesis específica para un dominio
La síntesis específica para un dominio concatena palabras y frases grabadas para crear salidas completas. Se usa en aplicaciones donde la
variedad de textos que el sistema puede producir está limitada a un particular dominio, como anuncios de salidas de trenes o información
meteorológica.
Esta tecnología es muy sencilla de implementar, y se ha usado comercialmente durante largo tiempo: es la tecnología usada por aparatos
como relojes y calculadoras parlantes. La naturalidad de estos sistemas puede ser muy grande, porque la variedad de oraciones está limitada
y corresponde a la entonación y la prosodia de las grabaciones originales. Sin embargo, al estar limitados a unas ciertas frases y palabras de la
base de datos, no son de propósito general y sólo pueden sintetizar la combinación de palabras y frases para los que fueron diseñados.
Síntesis de formantes
La síntesis de formantes no usa muestras de habla humana en tiempo de ejecución. En lugar de eso, la salida se crea usando un modelo
acústico. Parámetros como la frecuencia fundamental y los niveles de ruido se varían durante el tiempo para crear una forma de onda o
habla artificial. Este método se conoce también como síntesis basada en reglas pero algunos aducen que muchos sistemas concatenativos usan
componentes basados en reglas para algunas partes de sus sistemas, como el front-end, así que el término no es suficientemente específico.
Muchos sistemas basados en síntesis de formantes generan habla robótica y de apariencia artificial, y la salida nunca se podría confundir con la
voz humana. Sin embargo, la naturalidad máxima no es siempre la meta de un sintetizador de voz, y estos sistemas tienen algunas ventajas
sobre los sistemas concatenativos.
La síntesis de formantes puede ser muy inteligible, incluso a altas velocidades, evitando los defectos acústicos que pueden aparecer con
frecuencia en los sistemas concatenativos. La síntesis de voz de alta velocidad es a menudo usada por los discapacitados visuales para utilizar
computadores con fluidez. Por otra parte, los sintetizadores de formantes son a menudo programas más pequeños que los sistemas
concatenativos porque no necesitan una base de datos de muestras de voz grabada. De esta forma, pueden usarse en sistemas empotrados,
donde la memoria y la capacidad de proceso son a menudo exiguas. Por último, dado que los sistemas basados en formantes tienen un
control total sobre todos los aspectos del habla producida, pueden incorporar una amplia variedad de tipos de entonaciones, que no sólo
comprendan preguntas y enunciaciones.
Otros métodos de síntesis



La síntesis articulatoria ha sido un método de interés puramente académico hasta hace poco. Se basa en modelos
computacionales del tracto vocal y el proceso de articulación. Pocos de los modelos son suficientemente avanzados o eficientes
computacionalmente para ser usados en sistemas comerciales de síntesis de voz. Una excepción notable es el sistema basado
en NeXT, originalmente desarrollado y comercializado por Trillium Sound Research Inc, que pasó más tarde a tener una
licencia GPL y se continuó como gnuspeech, siendo un proyecto GNU. El software original de NeXT y versiones del software
para Mac OS/X y Linux GNUStep están disponibles en [http://savannah.gnu.org/projects/gnuspeech] junto a manuales y
documentos relevantes a los fundamentos teóricos del trabajo. El sistema, que fue comercializado por primera vez en 1994,
proporciona una conversión texto a voz articulatoria completa mediante una analogía de guía de onda o línea de
transmisión de los tractos vocal y nasal humanos, controlados por el Modelos de Región Distintiva de Carré que está
basado en el trabajo de Gunnar Fant y otros del laboratorio Stockholm Specch Technology Lab del Royal Institute of
Technology sobre el análisis de la sensibilidad de formantes. Este trabajo mostró que los formantes en un tubo resonante
pueden ser controlados por sólo ocho parámetros que corresponden a los articuladores disponibles en el tracto vocal humano
natural.
La Síntesis híbrida aúna aspectos de las síntesis concatenativa y de formantes para minimizar los defectos acústicos cuando
se concatenan segmentos.
La Síntesis basada en HMM es un método de síntesis basado en Modelos ocultos de Márkov (HMM en inglés). En este
sistema, el habla espectro de frecuencias (tracto vocal), frecuencia fundamental (fuente vocal), y la duración (prosodia) se
modelan simultáneamente por modelos ocultos de Márkov. Las formas de onda se generan desde estos modelos ocultos de
Márkov mediante el criterio de máxima verosimilitud.
Desafíos del front-end
Desafíos de la normalización de texto
El proceso de normalizar texto es pocas veces simple. Los textos están llenos de homógrafos, números y abreviaturas que tienen que ser
transformados en una representación fonética.
Por supuesto, en lenguas donde la correspondencia entre el texto escrito y su equivalente fonético es poca (inglés) o ninguna (mandarín), la
creación de estos sistemas se complica.
Muchos sistemas de texto a voz no generan representaciones semánticas de los textos de entradas, pues los sistemas para hacerlo no son fiables
o computacionalmente efectivos. Como resultado, se usan varias técnicas heurísticas para estimar la manera correcta de desambiguar
homógrafos, como buscar palabras vecinas y usar estadísticas sobre la frecuencia de aparición de las palabras.
Página 24 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Decidir cómo convertir números en palabras es otro problema que tienen que solucionar los sintetizadores de voz. Es un desafío bastante
simple programar un sistema que convierta números en palabras, como por ejemplo transformar 1325 en "mil trescientos veinticinco". Sin
embargo, los números aparecen en diferentes contextos, y 1325 puede ser un ordinal, "uno tres dos cinco" si son los últimos dígitos de un DNI o
"trece veinticinco" si es un número de teléfono. A menudo un sistema de síntesis de voz puede inferir cómo expandir un número en función de
las palabras o números vecinos y la puntuación, y algunos sistemas proporcionan un sistema para especificar el tipo de contexto si es ambiguo.
De la misma forma, abreviaturas como "etc." se pueden transformar fácilmente en "etcétera", pero a menudo las abreviaturas pueden ser
ambiguas. Por ejemplo la abreviatura "am" puede ser "ante meridiam" en el ejemplo: "El vuelo aterrizará a las 11 am" o puede ser
"modulación de amplitud" o simplemente "a eme" en el ejemplo "Nos puede encontrar en la sintonía 1425 am". Los sistemas con front end
inteligentes pueden hacer estimaciones adecuadas acerca de como tratar abreviaturas ambiguas, mientras que otros pueden hacer lo mismo
en todos los casos, dando resultados en ocasiones cómicos.
Desafíos de los sistemas Texto a fonema
Los sintetizadores de voz usan dos aproximaciones básicas al problema de determinar la pronunciación de una palabra basándose en su
pronunciación, un proceso que a menudo recibe el nombre de conversión texto a fonema o grafema a fonema, dado que fonema es el
término usado por los lingüistas para describir sonidos distintivos en una lengua.
La aproximación más simple a este problema es la basada en diccionario, donde se almacena en el programa un gran diccionario que
contiene todas las palabras de la lengua y su correcta pronunciación. Determinar la pronunciación correcta de cada palabra consiste en
buscar cada palabra en el diccionario y reemplazar el texto con la pronunciación especificada en el diccionario.
La otra aproximación para convertir texto en fonemas es la aproximación basada en reglas, donde dichas reglas para la pronunciación de las
palabras se aplican a palabras para extraer sus pronunciaciones basadas en su forma escrita.
Cada aproximación tiene ventajas y desventajas. La técnica basada en diccionarios tiene como ventajas ser rápida y precisa, pero falla
completamente si una palabra dada no aparece en el diccionario, y a medida que crece el diccionario crecen los requerimientos de memoria
del sistema de síntesis. Por otra parte, la técnica basada en reglas funciona con cualquier entrada, pero la complejidad de las reglas crece
sustancialmente a medida que se van teniendo en cuenta ortografías y pronunciaciones irregulares. Como resultado, casi cualquier
sintetizador de voz usa una combinación de las dos técnicas.
Algunos idiomas, como el español, tienen un sistema de escritura muy regular y la predicción de la pronunciación de palabras basada en
deletreos es casi siempre correcta. Los sistemas de síntesis de voz para este tipo de lenguajes generalmente usan un enfoque basado en reglas
como el enfoque central para la conversión texto-fonema y auxiliándose de diccionarios pequeños para algunas palabras de origen extranjero
cuya pronunciación no se deduce de la escritura. En otros como el inglés, dado que se trata de sistemas muy irregulares en su escritura, el
enfoque se basa principalmente en diccionarios y sólo para palabras no usuales se basa en reglas.
El Sintetizador de voz MBROLA
El objetivo del proyecto MBROLA [http://tcts.fpms.ac.be/synthesis/mbrola.html], iniciado por una universidad Belga (the TCTS Lab of the
Faculté Polytechnique de Mons), es obtener un grupo de sintetizadores de voz en tantos lenguajes como fuese posible, y proveer a los mismos
de manera gratuita para aplicaciones y propósitos no-comerciales. El fin último es mejorar la investigación académica en la síntesis de voz y
particularmente en la generación de prosodia, conocido como uno de los retos más grandes en la conversión de texto a voz.
El centro del proyecto MBROLA es un programa del mismo nombre el cual es un sintetizador del habla humana basado en la concatenación
de dífonos. Toma como entrada una lista de fonemas junto con la información prosódica (duración de los fonemas y una descripción del tono
de los mismos) y produce una salida de audio a 16 bits, en la frecuencia de sampleo de los dífonos de la base de datos usada (por lo tanto NO
es un Sintetizador de Texto-a-Voz, ya que no acepta texto crudo como entrada).
La licencia de este programa es simple: se puede usar sólo para aplicación no-comercial y no-militar.
Un grupo en Venezuela, específicamente en la Universidad de Los Andes, tiene una investigación en este respecto. Se narra un extracto de su
experiencia:
"En el ámbito Venezolano, un grupo de investigadores de la Universidad de Los Andes (ULA) logró implementar un sistema de conversión
texto a voz de alta calidad para el español, capaz de convertir cualquier texto en formato electrónico a voz sintetizada en español
venezolano. La capacidad de lectura se hace universal al combinarlo con un sistema OCR (optical character recognition) de escáner con
conversión de caracteres a texto.
Dentro de sus múltiples usos este sistema tiene una utilidad social inmediata para quienes sufren una minusvalía que les impida la
comunicación oral, ya que permite por ejemplo darle capacidad de «lectura» a los ciegos e incapacita dos visuales y darle «voz» a través de
un computador a personas sordomudas, mudas o con incapacidades mayores que restringen la producción de voz. Por otra parte, el sistema
Página 25 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
es una herramienta de investigación muy poderosa para estudiar la entonación de nuestra lengua, una materia que apenas empieza a
desenmascarar sus secretos.
Los profesores de la ULA más directamente involucrados en el desarrollo de este sistema de síntesis de voz son la lingüista Elsa Mora de la
Facultad de Humanidades y Educación y el ingeniero electrónico Manuel Rodríguez de la Facultad de Ingeniería."
Para esta Tesis, basados en la información recolectada durante la investigación utilizaremos el proyecto MBROLA como
sintetizador de voz Base, y a partir del trabajo realizado por los investigadores venezolanos de la Universidad de los Andes,
nombrados anteriormente, tomaremos su base de datos de fonética para lograr síntesis de voz en español, de distribución
gratuita y de libre acceso para todo el mundo. Ya que la licencia GLP permite construir y distribuir aplicaciones que
utilicen tecnologías e investigaciones de terceros siempre y cuando no se utilice de modo comercial o militar.
Servidores Web
Introducción
En informática, un servidor es un tipo de software que realiza ciertas tareas en nombre de los usuarios. El término servidor ahora también se
utiliza para referirse al ordenador físico en el cual funciona ese software, una máquina cuyo propósito es proveer datos de modo que otras
máquinas puedan utilizar esos datos.
Este uso dual puede llevar a confusión. Por ejemplo, en el caso de un servidor web, este término podría referirse a la máquina que almacena y
maneja los sitios web, y en este sentido es utilizada por las compañías que ofrecen hosting u hospedaje. Alternativamente, el servidor web
podría referirse al software, como el servidor de http de Apache, que funciona en la máquina y maneja la entrega de los componentes de los
páginas web como respuesta a peticiones de los navegadores de los clientes.
Los archivos para cada sitio de Internet se almacenan y se ejecutan en el servidor. Hay muchos servidores en Internet y muchos tipos de
servidores, pero comparten la función común de proporcionar el acceso a los archivos y servicios.
Un servidor sirve información a los ordenadores que se conecten a él. Cuando los usuarios se conectan a un servidor pueden acceder a
programas, archivos y otra información del servidor.
En la web, un servidor web es un ordenador que usa el protocolo http para enviar páginas web al ordenador de un usuario cuando el usuario
las solicita.
Los servidores se conectan a la red mediante una interfaz que puede ser una red verdadera o mediante conexión vía línea telefónica o digital.
Un servidor web es un programa que implementa el protocolo HTTP (HyperText Transfer Protocol). Este protocolo pertenece a la capa de
aplicación del modelo OSI y está diseñado para transferir lo que llamamos hipertextos, páginas web o páginas HTML (HyperText Markup
Language): textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de música.
Es un programa que se ejecuta continuamente en un ordenador (también se emplea el término para referirse al ordenador que lo ejecuta),
manteniéndose a la espera de peticiones por parte de un cliente (un navegador web) y que responde a estas peticiones adecuadamente,
mediante una página web que se exhibirá en el navegador o mostrando el respectivo mensaje si se detectó algún error.
Página 26 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Instalar un servidor web en nuestro PC nos permitirá, entre otras cosas, poder montar nuestra propia página web sin necesidad de contratar
hosting, probar nuestros desarrollos vía local, acceder a los archivos de nuestro equipo desde un PC remoto (aunque para esto existen otras
opciones, como utilizar un servidor FTP) o utilizar alguno de los programas basados en web tan interesantes que están viendo la luz
últimamente. El problema de usar nuestro ordenador como servidor web es que conviene tenerlo encendido permanentemente (para que
esté accesible de forma continua como la mayoría de los sitios webs), con el consiguiente coste debido al consumo de electricidad (conviene
tener en cuenta que hay alojamientos web gratuitos, incluso sin publicidad y con interesantes funciones).
Sobre el servicio web clásico podemos disponer de aplicaciones web. Éstas son porciones de código que se ejecutan cuando se realizan ciertas
peticiones o respuestas HTTP. Hay que distinguir entre:


Aplicaciones en el lado del cliente: el cliente web es el encargado de ejecutarlas en la máquina del usuario. Son las aplicaciones tipo
Java o Javascript: el servidor proporciona el código de las aplicaciones al cliente y éste, mediante el navegador, las ejecuta. Es
necesario, por tanto, que el cliente disponga de un navegador con capacidad para ejecutar aplicaciones (también llamadas
scripts). Comúnmente, los navegadores permiten ejecutar aplicaciones escritas en lenguaje javascript y java, aunque pueden
añadirse más lenguajes mediante el uso de plugins.
Aplicaciones en el lado del servidor: el servidor web ejecuta la aplicación; ésta, una vez ejecutada, genera cierto código HTML; el
servidor toma este código recién creado y lo envía al cliente por medio del protocolo HTTP.
Las aplicaciones de servidor muchas veces suelen ser la mejor opción para realizar aplicaciones web. La razón es que, al ejecutarse ésta en el
servidor y no en la máquina del cliente, éste no necesita ninguna capacidad añadida, como sí ocurre en el caso de querer ejecutar aplicaciones
javascript o java. Así pues, cualquier cliente dotado de un navegador web básico puede utilizar este tipo de aplicaciones.
Conceptos relacionados con las aplicaciones web








PHP
ASP
Perl
Python/WSGI
CGI
.NET
JSP (Tecnología Java )
CF (Adobe Coldfusion)
Algunos servidores Web importantes son:



Apache
IIS
Cherokee
Servidor HTTP Apache
El servidor HTTP Apache es un servidor web HTTP de código abierto para plataformas Unix(BSD, GNU/Linux, etc.), Windows, Macintosh y
otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código
del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Su nombre se debe a que Behelendorf eligió ese nombre porque
quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto
se convertiría en gobierno de EEUU, y en esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el paisaje
que habían creado los primeros ingenieros de internet. Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de
NCSA. Era, en inglés, a patchy server (un servidor "parcheado").
El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation.
Apache presenta entre otras características altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue
criticado por la falta de una interfaz gráfica que ayude en su configuración.
Apache tiene amplia aceptación en la red: desde 1996, Apache, es el servidor HTTP más usado. Alcanzó su máxima cuota de mercado en
2005 siendo el servidor empleado en el 70% de los sitios web en el mundo, sin embargo ha sufrido un descenso en su cuota de mercado en los
últimos años. (Estadísticas históricas y de uso diario proporcionadas por Netcraft).
Ventajas

Modular
Página 27 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática




Open source
Multi-plataforma
Extensible
Popular (fácil conseguir ayuda/soporte)
Licencia
La licencia de software bajo la cual el software de la fundación Apache es distribuido es una parte distintiva de la historia de Apache HTTP
Server y de la comunidad de código abierto. La Licencia Apache permite la distribución de derivados de código abierto y cerrado a partir de
su código fuente original.
La Free Software Foundation no considera a la Licencia Apache como compatible con la versión 2 de la GNU General Public License (GPL),
en la cual el software licenciado bajo la Apache License no puede ser integrado con software distribuido bajo la GPL:
Este es software libre pero es incompatible con la GPL. La Apache Software License es incompatible con la GPL porque tiene un requerimiento
específico que no está incluido en la GPL: tiene ciertos casos de terminación de patentes que la GPL no requiere. No consideramos que dichos
casos de terminación de patentes son inherentemente una mala idea, pero a pesar de ello son incompatibles con la GNU GPL.
Sin embargo, la versión 3 de la GPL incluye una provisión (Sección 7e) que le permite ser compatible con licencias que tienen cláusulas de
represalia de patentes, incluyendo a la Licencia Apache.
El nombre Apache es una marca registrada y puede ser sólo utilizada con el permiso expreso del dueño de la marca.
Motor de base de Datos
Introducción
MySQL es un gestor de base de datos sencillo de usar y increíblemente rápido. También es uno de los motores de base de datos más usados en
Internet, la principal razón de esto es que es gratis para aplicaciones no comerciales.
Las características principales de MySQL son:

Es un gestor de base de datos. Una base de datos es un conjunto de datos y un gestor de base de datos es una aplicación capaz
de manejar este conjunto de datos de manera eficiente y cómoda.

Es una base de datos relacional. Una base de datos relacional es un conjunto de datos que están almacenados en tablas entre
las cuales se establecen unas relaciones para manejar los datos de una forma eficiente y segura. Para usar y gestionar una base de
datos relacional se usa el lenguaje estándar de programación SQL.
Página 28 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática

Es Open Source. El código fuente de MySQL se puede descargar y está accesible a cualquiera, por otra parte, usa la licencia GPL
para aplicaciones no comerciales.

Es una base de datos muy rápida, segura y fácil de usar. Gracias a la colaboración de muchos usuarios, la base de datos se ha
ido mejorando optimizándose en velocidad. Por eso es una de las bases de datos más usadas en Internet.
El software MySQL tiene una doble licencia. Los usuarios pueden elegir entre usar el software MySQL como un producto Open Source bajo los
términos de la licencia GNU General Public License (http://www.fsf.org/licenses/) o pueden adquirir una licencia comercial estándar de MySQL
AB. Consulte http://www.mysql.com/company/legal/licensing/ para más información acerca de nuestras políticas de licencia.
Interioridades y portabilidad















Escrito en C y en C++
Probado con un amplio rango de compiladores diferentes
Funciona en diferentes plataformas.
Usa GNU Automake, Autoconf, y Libtool para portabilidad.
APIs disponibles para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, y Tcl. Consulte
Uso completo de multi-threaded mediante threads del kernel. Pueden usarse fácilmente en múltiples CPUs si están disponibles.
Proporciona sistemas de almacenamiento transaccionales y no transaccionales.
Usa tablas en disco B-tree (MyISAM) muy rápidas con compresión de índice.
Relativamente sencillo de añadir otro sistema de almacenamiento. Esto es útil si desea añadir una interfaz SQL para una base de
datos propia.
Un sistema de reserva de memoria muy rápido basado en threads.
Joins muy rápidos usando un multi-join de un paso optimizado.
Tablas hash en memoria, que son usadas como tablas temporales.
Las funciones SQL están implementadas usando una librería altamente optimizada y deben ser tan rápidas como sea posible.
Normalmente no hay reserva de memoria tras toda la inicialización para consultas.
El código MySQL se prueba con Purify (un detector de memoria perdida comercial) así como con Valgrind, una herramienta GPL
(http://developer.kde.org/~sewardj/).
El servidor está disponible como un programa separado para usar en un entorno de red cliente/servidor. También está disponible
como biblioteca y puede ser incrustado (linkado) en aplicaciones autónomas. Dichas aplicaciones pueden usarse por sí mismas o en
entornos donde no hay red disponible.
Capítulo 3 - Presentación de la Problemática y Propuesta de Solución
Introducción
En cualquier área de la actividad humana que pensemos, nos daremos cuenta que un gran porcentaje de la información llega a través de la
vista. Por ello, las personas con ceguera y/o deficiencia visual han tenido que buscar medios y modos alternativos de acceso, para que la falta
de visión no represente más limitaciones de las estrictamente necesarias. Cuando la ceguera es total, el oído y el tacto pasan a ser los
principales canales en la recepción de la información, mientras que para las personas con deficiencia visual el resto de visión que poseen es un
recurso más a utilizar.
Internet es un medio inestimable de acceso a la información para las personas con discapacidad visual. Incluso con la evolución que ya ha
alcanzado la red, este canal de comunicación puede tener una función en muchos casos compensatoria al facilitar actividades que se realizan
con dificultad o a través de la asistencia de otra persona, como por ejemplo leer la prensa, hacer determinadas compras, participar en
actividades formativas, y porque no, transitar por la ciudad teniendo en todo momento información acerca de donde se esta ubicado o hacia
donde quiere dirigirse.
Para que todo ello sea una realidad y un gran número de personas ciegas se beneficien, es necesario lograr la estandarización para que
Internet sea accesible a todo tipo de usuarios. En cuanto a las iniciativas privadas cada uno desarrollará sus productos guiado por sus propios
valores, pero en cuanto a la iniciativa pública y a los que persigan dar un servicio a todas las personas deberían ajustarse ya a las soluciones
que conduzcan a la accesibilidad. Hoy en día los costos de las iniciativas privadas es en ocasiones excesivo, y en el ámbito de la GEO
localización asistida para personas con deficiencias visuales no hay en el mercado iniciativas de acceso gratuito.
Es por ello que el esta tesis permitirá demostrar que con ayuda de distintas tecnologías informáticas disponibles, en combinación con productos
tecnológicos de fácil adquisición como ser los teléfonos móviles, se podría lograr el desarrollo de aplicaciones de bajo costo que permitan a sus
usuarios un fácil acceso a información mas allá de que posean deficiencias visuales.
Es evidente, que en el mundo de la informática son amplias las opciones que existen en cuanto a las comunicaciones multiplataforma tanto en
código libre como pago. Así también, los avances en comunicación móvil, permiten al día de hoy estar permanentemente conectados a
Internet a través de estos dispositivos, los cuales, a su vez, poseen distintos componentes de hardware complejos y avanzados, como es un GPS.
De esta manera, realizando un estudio exhaustivo de las tecnologías libres en lo que a Síntesis y Reconocimiento de voz se refiere, se podría
comenzar a elaborar un proyecto que de soporte a algunas necesidades insatisfechas de las personas con discapacidad visual y de ser posible a
muy bajo costo.
Página 29 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
La presente Tesis tratara de demostrar que es posible desarrollar una aplicación en beneficio de personas con deficiencias visuales, utilizando la
amplia gamas de posibilidades tecnológicas de libre acceso que brinda el mercado, generando un producto de muy bajo costo tanto en su
concepción como en su implementación. Y a si vez brindando idénticas prestaciones que las tecnologías pagas.
Por otro lado dejando abiertas muchas posibilidades de crecimiento tanto en el desarrollo más a fondo y optimizado de las tecnologías usadas
como en la aplicación de nuevas tecnologías.
Detalles de funcionalidad de la Solución Planteada
La solución planteada contara buscará brindarle al usuario la siguiente funcionalidad:

Asistencia constante vía voz de las opciones elegidas y teclas presionadas.

Reproducción vía síntesis de voz de los textos ingresados en los distintos módulos.

Activación y desactivación de Ayuda auditiva para las opciones de menú y textos ingresados.

Opción de Localización: Deberá determinar la Calle, Número, Barrio o Localidad, Provincia y País según la ubicación
establecida por el receptor GPS del usuario brindando la misma vía voz sintetizada en español.

Opción de Modo Caminante: Deberá determinar e informar cada 20 segundos la Calle, Número, Barrio o Localidad, Provincia
y País según la ubicación establecida por el receptor GPS del usuario brindando la misma, vía voz sintetizada en español.

Opción Determinación de Trayectoria: Dada una dirección ingresada por el usuario y en conjunto con su ubicación actual
determinada por el receptor GPS, este modulo deberá elaborar el camino y brindar los distintos pasos a seguir por el usuario, junto con la
distancia de cada uno de ellos, para llegar desde su ubicación actual hasta la dirección que ingreso vía teclado.

Opción Puntos de interés en Radio: Este modulo deberá permitir al usuario el ingreso de un rubro determinado y en base a la
ubicación actual determinada por el receptor GPS, determinar que punto de interés, correspondiente a ese rubro ingresado, esta mas cercano
al usuario. Brindando vía síntesis de voz, el recorrido en pasos y distancias que deberá realizar el usuario para llegar a ese punto. Este modulo
deberá estar respaldado por una base de datos, la cual deberá ser abastecida de modo comunitario con distintos puntos de interés y sus
coordenadas.
Para ello se propone el desarrollo de una Aplicación multi-plataforma, basada en la tecnología J2ME de Java para desarrollo de aplicaciones
compatibles con teléfonos móviles. La misma utilizara la especificación JSR-179 para J2ME, también desarrollada por Java, la cual pone a
nuestra disposición una serie de clases que permiten acceder desde Java a información relacionada con la posición y el movimiento de nuestro
dispositivo móvil.
Esta aplicación estará soportada por una serie de Servicios Web los cuales brindaran la información y funcionalidades necesarias para el
procesamiento de la información brindada por el GPS del teléfono móvil y para acceder a la funcionalidad de síntesis de Voz que se
necesitara a la hora de asistir a personas con deficiencias visuales a fin de poder interactuar con el móvil gracias a la asistencia auditiva que le
brindara el mismo.
Generalidades de funcionalidad de la Solución Móvil
Localización: Se obtendrá la ubicación geográfica que nos brinda el teléfono móvil del usuario, para luego
comunicarse con el servicio GPS a fin de obtener la dirección exacta de la coordenada obtenida, luego de esto, se realizara la síntesis del texto
resultante (dirección) en formato de audio a través del servicio TTS. Luego se recibirá en la aplicación móvil el código binario correspondiente
al audio y se decodificara el mismo y se realizara la reproducción a fin de que el usuario la escuche.
Procesador de Trayectoria: Esta función permitirá en primer lugar ingresar al usuario una dirección destino deseada
en un campo de texto disponible para tal fin y con asistencia auditiva. Es decir, cada tecla presionada será reproducida por el parlante a fin
de que el usuario sepa lo que escribió. Luego de esto estarán disponibles 2 funciones de menú distintas. Una de ella será la de reproducir,
mediante síntesis de voz, con la asistencia del Servicio Web TTS, el audio del texto ingresado por el usuario en el campo nombrado, a fin de
saber con certeza si lo ingresado es correcto. En segundo lugar, luego de capturar la ubicación geográfica del móvil, el modulo contactara al
Servicio Web GPS y le enviara los parámetros de Ubicación Geográfica actual junto con la dirección destino ingresada por el usuario. Este
servicio trazara mediante una serie de funciones, la trayectoria entre el punto inicial y el destino ingresado y luego con ayuda del servicio TTS
retornara al cliente los audios correspondientes y el modulo se encargara de reproducirlos en el parlante de forma asincrónica.
Modo Caminante: Esta funcionalidad será similar a la función 1 pero generara una petición de localización cada 20
segundos informando de forma repetitiva la localización al usuario hasta tanto este detenga el procesos mediante una opción de menú. La
cual también reactivara el proceso en caso de que el usuario lo solicite.
Puntos de Interés en Radio: Esta función permitirá en primer lugar ingresar al usuario un rubro de comercio deseado
en un campo de texto disponible para tal fin y con asistencia auditiva. Es decir, cada tecla presionada será reproducida por el parlante a fin
de que el usuario sepa lo que escribió. Luego de esto estarán disponibles 2 funciones de menú distintas. Una de ella será la de reproducir,
mediante síntesis de voz, con la asistencia del Servicio Web TTS, el audio del texto ingresado por el usuario en el campo nombrado, a fin de
saber con certeza si lo ingresado es correcto. En segundo lugar, luego de capturar la ubicación geográfica del móvil, el modulo contactara al
Servicio Web GEO y le enviara los parámetros de Ubicación Geográfica actual junto con el rubro ingresado por el usuario. Este servicio en
primer lugar calculara un radio de 400 mts desde el punto de ubicación del usuario, luego obtendrá los distintos comercios del rubro ingresado
y trazara mediante una serie de funciones, las trayectorias entre la ubicación del usuario y los distintos destinos ingresados para luego obtener
la menor trayectoria hasta uno de los comercios del rubro deseado. Luego con ayuda del servicio TTS retornara al cliente los audios
correspondientes y el modulo se encargara de reproducirlos en el parlante de forma asincrónica.
Activar/Desactivar Ayuda: Esta función activa y desactiva la ayuda auditiva disponible en las opciones 2 y 4 del
modulo.
Página 30 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Generalidades de funcionalidad de los Servicios Web
1- Servicio TTS (Text To Speech): Brindara soporte para síntesis de voz en español. Basado en el motor de síntesis de
voz MBROLA, de uso gratuito para fines no comerciales ni militares y con soporte de una base de datos de voz venezolana creada por la
universidad de los Andes de ese país, desarrollada para uso de MBROLA. También, por reglas de licencia de libre distribución para fines no
comerciales ni militares.
Funciones generales: Recepción del texto, formateo de frases, separación y formateo de palabras, reemplazo de abreviaciones y modismos,
reemplazo de palabras especiales a su pronunciación, reemplazo de valores numéricos por su correspondiente frase en texto, creación de
archivos de texto (TXT) formateado para su posterior separación en fonemas, creación de archivos de fonemas (PHO). Creación de archivo de
audio TTS en formato WAV basado en el archivo de fonemas creado previamente. Segmentación del archivo de audio en código binario para
su transferencia a través del Servicio Web hacia el cliente que hizo la petición.
2- Servicio GPS: Brindara soporte de localización y procesamiento de trayectorias con y sin audio. Para clientes
consumidores desarrollados en cualquier tipo de plataforma. En esta tesis J2ME. Su funcionamiento esta soportado por un modelo de clases a
medida los cuales basan sus funciones principales en la API de localización de Google Maps de uso libre y gratuito para fines no comerciales ni
militares.
Funciones Generales: Recepción de coordenadas y generación de dirección exacta con y sin soporte de audio. Recepción de una dirección y
traducción a una coordenada especifica. Recepción de coordenadas origen y dirección destino y generación de trayectoria con y sin soporte de
audio y con generación secuencial de los pasos. A fin de poder reproducir individualmente los distintos pasos generados para una trayectoria
determinada. Generación de destinos alternativos en caso de recibir una dirección destino ambigua.
3- Servicio GEO: Brindara soporte para la determinación de un radio de coordenadas a partir de un punto central de
Origen y ubica las distintas trayectorias hacia un rubro comercial determinado dentro del rango de coordenadas establecido. Luego de esto
determina la trayectoria mas corta y codifica el audio correspondiente con ayuda del servicio TTS. Su funcionamiento esta soportado por un
modelo de clases a medida los cuales basan sus funciones principales en la API de localización de Google Maps de uso libre y gratuito para
fines no comerciales ni militares.
Funciones Generales: Recepción de coordenada origen y rubro determinado. Determinación de radio de coordenadas dentro de los 400
mts del Origen. Ubicación de destinos dentro del rango. Determinación de Trayectorias a destinos encontrados. Calculo de trayectoria mas
corta. Segmentación del archivo de audio en código binario para su transferencia a través del Servicio Web hacia el cliente que hizo la
petición.
Página 31 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Capítulo 4 – Desarrollo de la Solución Propuesta
Metodología de Desarrollo
La decisión de tecnologías de desarrollo en primer lugar se basa en la premisa de poder utilizar un lenguaje de programación de
libre acceso y de libre distribución de sus productos, con lo cual se eligió JAVA para el desarrollo de los Servicios Web y JAVA ME para el
desarrollo de la aplicación Móvil.
En consecuencia, para poder trabajar sobre un entorno centralizado se eligió la plataforma de desarrollo Netbeans versión 6.5.1 que
brinda la posibilidad de trabajar con ambas tecnologías. Y a su vez interactuar con el Servidor Web para la publicación de los servicios.
Para la publicación de los Servicios Web también se partió de la premisa de libre distribución con lo cual se Eligio el Servidor
Apache Tomcat versión 5.5, de simple administración y de fácil cooperación con el entorno de desarrollo Netbeans.
Para la implementación de la base de datos contenedora de Puntos de Interés se Eligio MySql, también de libre acceso y de gran
soporte en Internet y de muy simple interacción a través de JAVA.
En base a esto se buscó una metodología que se adapte, se decidió por utilizar el concepto que propone el modelo la Metodología
RUP, que como se puede ver en la Imagen 9, divide el Desarrollo del software en 4 fases:

Concepción: El Objetivo de esta etapa es determinar la visión del proyecto, que es donde se realiza todo el Análisis de Requerimiento.

Elaboración: Determinar la arquitectura óptima, se centra en el Diseño.

Construcción: En esta etapa el objetivo es llevar a obtener la capacidad operacional inicial, se desarrolla la mayor parte del software.

Transición: El objetivo es llegar a obtener el release del proyecto, se realizarían las pruebas finales, posteriormente la instalación y el
mantenimiento.
Es muy difícil, casi imposible, el poder desarrollar un software de manera totalmente secuencial, definiendo primero el problema
completo, diseñando toda la solución, construyendo el software y por último, testear el producto. Por lo cual lo que propone RUP es realizar
un enfoque iterativo, obteniendo en una primera etapa una comprensión lo más justa del sistema a desarrollar y posteriormente a través de
refinamientos sucesivos logradas por múltiples iteraciones, poder obtener una solución efectiva del mismo.
Para la etapa de Concepción, en donde se realiza todo el Análisis de Requerimiento se siguieron las recomendaciones propuestas
por el estándar de la IEEE 830-1993 para elaborar un documento donde estén todos los requerimientos del software de manera clara y
precisa.
Para la etapa de Elaboración se utilizó la Herramienta Visio - Herramienta de diseño UML a través de la cual se obtuvo el
Definición de los casos de Uso, elaborando también los Diagramas de Actividades de aquellos casos de uso que así lo requerían y obteniendo
finalmente el Diagrama de Clases
En base a estos casos de uso se fueron realizando el Diccionario de Datos y el Diagrama de la Base de Datos utilizando la
Herramienta provista por MySql WorkBench para los diagramas de Base de datos.
Posteriormente, utilizando toda la documentación obtenida del sistema, se procedió a la programación del mismo utilizando la
Herramienta Netbeans mencionada.
Para el testeo de la aplicación se procedió a instalar la versión 2.5.2 para CLDC de Sun Java gíreles Toolkit que provee un emulador
de telefonía celular con la posibilidad de accede a eventos externos simulaos a través de información provista por un XML el cual brindara la
posibilidad de emular la recepción de información GPS en el celular como si el mismo fuera un equipo provisto con este dispositivo y que
respete la especificación JSR-179.
Especificación de Requerimiento de Software
Introducción
Este Proyecto buscara en su implementación, que personas con deficiencias visuales puedan interactuar con el dispositivo GPS de su
unidad Móvil sin complicaciones de manipulación y con asistencia auditiva en su totalidad a fin de hacer completamente accesible toda la
información que proveerá tanto el Móvil como los distintos Servicios Web que le darán soporte.
Buscara también darle al usuario al sensación de independencia en cuanto a localización dentro de una ciudad e incluso fuera de
ella. Dando esto un valor agregado a la aplicación.
La funcionalidad de síntesis de voz, brindara la posibilidad de que el Móvil informe todo el tiempo o a pedido del usuario, las
distintas opciones seleccionadas y los distintos ingresos por teclado que el usuario realizó. Y, en todo momento, los resultados obtenidos de lo
Servicios Web serán reproducidos también mediante la arquitectura desarrollada para el sintetizador de voz.
Página 32 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Objetivo
El objetivo principal del siguiente documento es brindar una visión del funcionamiento del sistema teniendo en cuenta los procesos
que lo componen, relevando y especificando todos los requerimientos del Sistema a desarrollar.
La siguiente documentación está destinada a los Desarrolladores de soluciones móviles que quieran utilizar los servicios Web
propuestos y a los diseñadores de servicios a fin de ampliar la funcionalidad del presente desarrollo.
Se adjuntara también la documentación generada por el Documentador JAVA (JavaDoc) que permitirá tener un detalle
exhaustivo de la funcionalidad del modelo de Clases, sus responsabilidades, parámetros y atributos.
Alcance
El Sistema que se desarrollara será llamado TesisSpeechGPS. A continuación se detallaran las sub Aplicaciones o Módulos que
contendrá el Desarrollo total y la funcionalidad implementada en cada una de ellas.
Aplicación Móvil:









Implementación de Especificación JSR-179 y se desarrollara mediante una arquitectura que permita a la
aplicación en un futuro implementar otro tipo de conexión con dispositivos GPS. (Puerto Serial, Bluetooth,
Simuladores).
Función de Localización asistida por servicio de Text To Speech.
Función de Modo Caminante asistida por servicio de Text To Speech.
Función de Determinación de Trayectoria asistida por servicio de Text To Speech.
Función de Localización de Puntos de interés asistida por servicio de Text To Speech.
Activación y Desactivación de Ayudas Auditivas.
Implementación de una arquitectura extensible para el uso de los recursos de Audio del celular.
Implementación de una arquitectura extensible para la conexión a Servicios Web externos.
Descodificación de Archivos de Audio en formato Base64 para su posterior reproducción en parlante del
Móvil.
Servicios Web:



Servicio TTS. Generación, codificación y envió de Archivo de audio .WAV generado en base a los datos de
entrada recibidos por parte de los consumidores del servicio.
Servicio GPS. Determinación de direcciones exactas en modo texto basado en coordenadas recibidas.
Determinación de Coordenadas basado en direcciones recibidas. Determinación de trayectoria basada en
coordenadas o direcciones de origen y fin recibidas. Codificación de toda la información generada en formato
de audio WAV para transmisión a los clientes solicitantes. Generación segmentada de de audio de trayectoria
trazada para transmisiones individuales de caminos a seguir.
Servicio GEO. Determinación de Radio de coordenadas basado en una coordenada central recibida por parte
del consumidor. Ubicación de Puntos de interés dentro del radio generado, basado en un rubro comercial
elegido y enviado al servicio por parte del cliente. Determinación de trayectorias a los distintos puntos de
interés. Calculo de trayectoria mas corta. Generación segmentada de de audio de trayectoria trazada para
transmisiones individuales de caminos a seguir.
Se implementara también el código necesario para la generación, transmisión y reproducción de los archivos de audio en formato MP3 a fin
de reducir los tiempos de transferencia entre Servicios Web y clientes.
Fuera de Alcance del Proyecto
Quedan fuera de alcance del proyecto las siguientes funcionalidades:






Página 33 de 72
Implementación de una interfaz que reciba información de coordenadas GPS fuera de lo previsto por la
especificación JSR-179. Quedando esto como investigación a futuro a fin de abarcar la mayor cantidad de
teléfonos móviles con GPS compatibles con la Aplicación.
Implementación de un modulo de Administración de Puntos de interés a fin de que usuarios externos, tal vez
mediante un Web Site, abastezcan de información a la base de datos dispuesta para tal fin.
Implementación de un servicio que establezca una interfaz con Google Maps para la ubicación de Puntos de
Interés y comercios publicados en ese Site de Búsquedas a fin de evitar el uso de una base de datos. Dejando
esta implementación como una de las principales investigaciones a futuro a fin de darle mas calidad y
funcionalidades a la aplicación.
Implementación de una codificación a MP3 de los archivos de audios generados y transmitidos dado que para
la demostración no es posible reproducción de MP3 en los emuladores utilizados. La aplicación quedara de
todas maneras programada para tal fin.
Testeo de la aplicación en un celular con dispositivo GPS dada la imposibilidad de contar con uno para tales
pruebas.
Implementación de Reconocimiento de Voz en español. Es la principal línea de investigación futuro que se
deja en esta investigación.
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Definiciones, acrónimos y Abreviaturas
JSR-179: API de Localización de Java para Dispositivos Móviles.
J2ME: Plataforma Java 2 Micro Edition.
Perl: Lenguaje de programación basado en un estilo de Bloques como los de C.
WS: Web Service
API: Application programmable interface
Base64: Sistema de numeración posicional que usa 64 como base
TTS: Text To Speech. Conversor de Texto a Voz.
Mbrola: Sintetizador del habla humana basado en la concatenación de dítonos.
PHO: Extensión de los Archivos de Fonemas generados para abastecer al sintetizador Mbrola.
MySql: Sistema de gestión de base de datos relacional, multihilo y multiusuario.
Google Maps: servicio gratuito de Google. Es un servidor de aplicaciones de mapas en Internet.
Midlet: programa en lenguaje de programación Java para dispositivos embebidos (se dedican a una sola actividad), más específicamente
para la máquina virtual Java MicroEdition
Referencias
Junto con el presente documento se deberá distribuir la documentación generada por las clases de software implementadas mediante el
utilitario JavaDoc disponible en el IDE de Desarrollo NETBEANS a fin de ser útil a futuras implementaciones sobre el presente modelo
desarrollado o bien para ampliaciones en la funcionalidad.
Descripción General del Sistema
El proyecto engloba el desarrollo e implementación de una solución informática a través de la tecnología J2ME para telefonía Móvil
en primer lugar, donde se les permitirá a los usuarios con deficiencias visuales contar con información de localización, procesamiento de
trayectoria y determinación de puntos de interés y trayecto hacia los mismos utilizando el dispositivo GPS instalado en su celular y toda esta
información brindada por un sintetizador de voz en español a fin de facilitar el uso y entendimiento de la amplia información brindada, y a su
vez abasteciéndose de información que proveerán una serie de Servicios Web, que en segunda instancia, también serán desarrollados para
esta solución.
Perspectiva del Producto
Los celulares con dispositivos GPS incorporados han revolucionado el mercado, brindándoles a los clientes una amplia gama de
posibilidades a la hora de recavar información de su localización y actuar al respecto. La independencia que esto brinda en ciudades
desconocidas es muy valorada. Mucha más con la cada vez más ampliada conectividad a Internet por parte de estos dispositivos.
La información que es posible obtener hoy en día es infinita ya que los celulares se comportan casi como computadoras personales,
y con capacidades de almacenamiento y procesamiento que nada tienen que envidiarles a estos equipos.
Lo que hoy en día es deficitario aun es la disponibilidad y libre acceso de aplicaciones que faciliten la interacción con las mismas a
personas con capacidades diferentes. Entre ellas los que poseen deficiencias visuales.
El presente desarrollo buscara brindar justamente un acceso libre al producto por parte de estas personas, brindándole información
en formato audible, y en idioma español. Lo cual es otro valor agregado extra ya que en este idioma son pocos los productos elaborados en
función de estos usuarios.
En lo que a GEO-Localización se refiere, todo lo elaborado en el mercado se basa en su gran mayoría en mapas visibles y
disponibles en teléfonos móviles, pero nada que brinde información en formato de audio facilitando el uso y entendimiento a personas
discapacitadas.
Con el mismo se espera sentar las bases para futuros desarrollos compatibles con todo tipo de usuarios y de libre acceso a los mismos
a fin de que no solo los que están posibilitados de pagar grandes sumas de dinero sean los únicos que puedan a acceder a la información que
necesitan.
Funciones del Software:
El sistema, estará dividido en dividido en 3 Módulos Principales con funciones específicas cada uno:



Aplicación Móvil o Aplicación Cliente (J2ME)
Aplicación Servidor o Servicios Web (JAVA)
Motor de Base de Datos (MySQL)
Cada uno de estos Módulos a su vez realizarán distintas tareas y a su vez interactuara según la necesidad con módulos externos o
subprocesos de terceros. A continuación se describen las mismas:
Aplicación Móvil
Desarrollada bajo la plataforma J2ME de Java. Será una aplicación Java ME con un Midlet principal contenedor de distintos formularios
que encapsularan, cada uno de ellos las distintas funciones disponibles para el usuario:

Localización

Modo Caminante

Página 34 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática



Procesador de Trayectoria
Puntos de Interés en Radio
Activar/Desactivar Ayudas Auditivas
La aplicación Móvil tendrá también la responsabilidad de establecer la comunicación con el dispositivo GPS incorporado al teléfono
móvil. Para ello se utilizara la Especificación JSR-179 que provee una librería de clases y funciones que permite la conexión, comunicación
y obtención de información por parte de este dispositivo.

Servicios Web
Desarrollados bajo plataforma J2SE de Java. Comprende un grupo de aplicaciones expuestas bajo Servicios Web que brindaran tres
tipos de funciones distintos, a petición del usuario.
TTS WS: Será el servicio que generará, mediante tecnología de síntesis de Voz, los archivos de audio necesarios para ser codificados y
luego transferidos al cliente que realizo la petición. El cliente solicitante puede ser o bien la Aplicación Móvil o alguno de los otros
Servicios Web que forman parte de este modulo. Este servicio tendrá como entrada un texto de hasta 120 caracteres y como salida
generara un archivo el audio .WAV con el texto de ingreso hablado. Este servicio esta soportado por un modelo de clases complejo
que lo abastece de la funcionalidad necesaria para la depuración de los textos de ingreso y la generación de los archivos de audio de
salida.
Métodos web expuestos:

getTTSAudioWav
GPS WS: Este servicio será el encargado de establecer la conexión con los servicios externos de Google Maps a fin de obtener la
información requerida por el cliente y formatearla según las necesidades del mismo. Este servicio esta soportado por un modelo de
clases complejo que lo abastece de la funcionalidad necesaria para recibir coordenadas Web y generar direcciones postales basado en
la información provista por el servicio externo nombrado. A su vez permitirá trazar trayectorias entre una coordenada inicial y una
dirección destino provistas también por el cliente que realiza la petición. A su vez, este servicio, permitirá generar información en
formato de audio, utilizando el servicio TTS WS descrito anteriormente, lo cual permitirá que las peticiones puedan ser resueltas en
formato de Audio, codificadas y luego enviadas al cliente para su posterior reproducción en un dispositivo Móvil.
Métodos web expuestos:

getTTSAdress:

getTTSTrayectoria:

getTTSCabeceraTrayectoria:

getTTSDetalleTrayectoria:
GEO WS: Este servicio será el encargado de establecer la conexión con el motor de base de datos contenedor de los puntos de interés
los cuales contienen la información necesaria para su ubicación geográfica en un mapa. Este servicio permitirá, a petición del cliente,
trazar un radio de coordenadas alrededor de un punto medio provisto en formato de coordenadas, y determinar el número de
puntos de interés, correspondientes a un rubro también provisto por el cliente. Al obtener estos puntos de interés, con ayuda del
servicio GPS WS se trazaran las trayectorias hacia ellos partiendo desde el punto medio establecido y se obtendrá la trayectoria mas
corta. Una vez obtenida la misma, y con ayuda del servicio TTS WS se procederá a generar los archivos de Audio .WAV, basados en el
texto de la trayectoria trazada, para ser enviados al cliente a fin de reproducirlos.
Métodos Web expuestos:

getTTSCabeceraPuntoInteresEnRadio

getTTSDetallePuntoInteresEnRadio
Página 35 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Localización Móvil
Asistida por Voz
Aplicación Movil
Servicios Web
Localización
TTS WS
Modo Caminante
GPS WS
Procesamiento de
Trayectoria
GEO WS
Motor de Base de
Datos
Puntos de Interés
en Radio
Módulos y Sub-Módulos del Sistema
Características del Usuario
El sistema en desarrollo estará destinado principalmente a personas con deficiencias visuales.
Restricciones Generales
Se tendrá en cuenta que para la funcionalidad del sintetizador de voz, considerando la arquitectura propuesta para la aplicación, no se
deberán proveer textos de más de 120 caracteres a fin de optimizar la comunicación entre los servicios Web y los consumidores de los mismos.
Dependencias y Supuestos
Se tiene en cuenta en primer lugar que el testeo del Sistema desarrollado será sobre un emulador provisto por Java llamado
“Wireless Toolkit for CLDC” dentro del IDE de Desarrollo Netbeans.
Para la generación de eventos que reproduzcan datos de localización GPS a fin de testear la aplicación, se procederá a utilizar la
función de “Eventos Externos” que provee el emulador para simular la conexión a un GPS incorporado al Móvil.
Para realizar las pruebas del aplicativo, se requerirá conexión a Internet permanente para el correcto funcionamiento de la lógica
que utiliza los servicios externos de Google Maps.
Se proveerá de una base de datos de Prueba con un número limitado de puntos de interés cargados a fines de realizar la
demostración correspondiente del Aplicativo.
Se parte de la premisa que los Teléfonos Móviles utilizados para la ejecución de este software deberán poseer conexión a Internet
Móvil de Alta velocidad provista por la red 3G o bien una conexión WiFi disponible.
Especificación de Requerimientos
Requerimientos Funcionales
A fines informativos se grafica un emulador Standard de Teléfono Celular para informar que teclas estarán disponibles y como serán llamadas
de ahora en adelante en el presente documento.
Página 36 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Aplicación Móvil (J2ME)

Acceso al sistema:

Introducción: No se requerirá suscripción alguna al producto. Quien se instale el aplicativo automáticamente estará habilitado
para su uso.

Entradas: No hay entradas solicitadas para acceso al Sistema.

Procesos: Una vez ejecutado el aplicativo, el mismo instanciará las clases de Localización implementadas bajo la especificación
JSR-179 las cuales permitirán acceder a la información provista por el GPS incorporado al Móvil. En caso de Falla en el acceso
a esta Implementación el sistema informara en modalidad de Audio la correspondiente falla.

Salida: Audio con falla de API de localización o bien Audio informando que el usuario se encuentra en el menú principal.

Menú Principal:

Introducción: Dado que la finalidad del presente desarrollo apunta a facilitar el uso del Aplicativo a personas con deficiencias
visuales, se establece que se optimice el uso y operatoria general del mismo. Con lo cual se establece un número limitado de
posibles teclas a presionar en el teclado. Con lo cual, una vez dentro del menú principal, y habiendo el aplicativo, avisado
mediante un audio, del ingreso al mismo, se procederá a dejar activas únicamente 2 teclas en el Móvil. Como norma para
todos los módulos se establece que la tecla izquierda retorne al menú anterior y que la tecla derecha ejecute una acción en
caso de ser la única posible en el formulario o bien desligue el menú contextual correspondiente al formulario en el que esta el
usuario. Esto facilitara el uso a personas no videntes.


Entradas: Tecla Izquierda (Salir) Tecla Derecha (Menú contextual con Opciones 1 2 3 4 y 5)
Para el acceso a una opción del menú contextual el usuario únicamente deberá presionar la tecla Derecha del Móvil y a
continuación el número de opción deseada.

Procesos: El sistema procederá a acceder a la opción de menú seleccionada.

Salida: Mensaje Auditivo informando del acceso al Menú Principal.
Opción Localización (1):

Introducción: El cliente ingresara a esta opción cuando requiera saber la Localización exacta de donde se encuentra. La
misma será informada en el formato de Calle + Numero + Localidad o Barrio + Ciudad + País. Mediante el proceso de Síntesis
de Voz, a la que esta opción deberá acceder a través del Servicio Web GPS, la información para el usuario será provista en
formato Auditivo.
Página 37 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática



Proceso: El usuario accede a esta opción de menú y se le informa de tal situación con un mensaje auditivo. A partir de ese
momento el usuario tiene la Tecla Izquierda y Tecla Derecha habilitadas. Al presionar la tecla izquierda se volverá al menú
principal. Al presionar la tecla derecha el aplicativo intentara determinar la última coordenada correcta provista por el
dispositivo GPS. En caso de que aun no haya coordenadas establecidas se emitirá un mensaje informando tal situación. Esto
ocurrirá en caso de que el dispositivo aun no haya localizado los satélites necesarios para la localización geográfica. En
consecuencia se deberá esperar unos minutos y volver a presionar la tecla derecha para solicitar nuevamente información de
posicionamiento geográfico. Una vez ubicada la posición por parte del GPS se procederá a establecer una conexión con el
Servicio Web GPS WS y se enviara la latitud y longitud al mismo recibiendo como respuesta el archivo de audio codificado a
formato STRING con la dirección postal generada por el mismo. Posteriormente se procederá a la decodificación del STRING
de Audio recibido y a la reproducción del mismo en el parlante del teléfono Móvil.

Entada: No hay entrada de Información. Solo posibilidad de selección de Teclas Izquierda y Derecha

Salidas: Mensaje auditivo con Información de Ingreso al Formulario en Cuestión. Mensaje auditivo informando que el
dispositivo GPS aun no localizo los satélites necesarios para establecer una localización correcta. Mensaje auditivo informando
la Localización exacta del usuario. Mensaje auditivo informando de algún tipo de error generado por el Servicio Web GPS.
Opción Trayectoria (2):

Introducción: El cliente ingresara a esta opción cuando requiera saber como llegar a una dirección determinada, estableciendo
una serie de Pasos a Pie desde la ubicación actual hasta el destino ingresado. Mediante el proceso de Síntesis de Voz, a la que
esta opción deberá acceder a través del Servicio Web GPS, la información para el usuario será provista en formato Auditivo.
Este formulario contara con un menú contextual de 2 opciones a las cuales se accederá mediante la Tecla Derecha y luego
seleccionando la opción 1 o 2 según se requiera. La opción 1 comenzara el proceso de trazado de Trayectoria para su posterior
reproducción en formato auditivo. La Opción 2 reproducirá en el parlante el texto ingresado por el usuario, correspondiente a
la Dirección Destino deseada, en el campo destinado para tal fin.

Proceso: El usuario accede a esta opción de menú y se le informa de tal situación con un mensaje auditivo. A partir de ese
momento el usuario dispone de la Tecla Izquierda y Tecla Derecha habilitadas. Al presionar la tecla izquierda se volverá al
menú principal. Al presionar la tecla derecha se activara el menú contextual con 2 opciones. 1 Empezar Trazado y 2 Oír
Ingreso. Al seleccionar la opción de Menú Nro. 1 se iniciara el proceso de Trazado de Trayectoria en el que el aplicativo
intentara determinar los pasos a Pie a seguir desde la posición actual establecida por las coordenadas del GPS del Móvil hasta
la dirección postal ingresada a mano por el usuario dentro del campo provisto para tal fin. En caso de que aun no haya
coordenadas establecidas se emitirá un mensaje informando de tal situación. Esto ocurrirá en caso de que el dispositivo aun no
haya localizado los satélites necesarios para establecer la ubicación geográfica del Móvil. Una vez ubicada la posición por
parte del GPS se procederá a establecer una conexión con el Servicio Web GPS WS y se enviara la latitud y longitud al mismo,
junto con el texto ingresado por el usuario el cual se deberá corresponder con una dirección postal correcta. Se recibirá como
respuesta en primer lugar el nombre de cabecera de los archivos generados en el servidor y a su vez la cantidad de archivos
contenedores de los distintos pasos para esta trayectoria. Luego de esto se llamara a un proceso asincrónico que peticione y a
su vez reproduzca el audio de los distintos archivos generados en el servidor que se corresponderán con la trayectoria
establecida entre ambos puntos.
Al seleccionar la opción de Menú Nro. 2 el formulario establecerá una conexión con el Servicio Web TTS WS y recuperara el
texto ingresado en el campo del formulario en formato audible, para su reproducción en el parlante del Móvil.
El usuario dispondrá de ayuda auditiva en el momento de ingresar letras y números en el campo de texto del formulario,
generando esto que al presionar las distintas teclas del Teléfono Móvil se reproduzca un audio informando la tecla presionada.
Esta funcionalidad podrá desactivarse o volverse a activar con la opción Nro. 5 del menú principal.

Entrada: Se deberá ingresar una dirección postal de Destino correcta, con caracteres Alfanuméricos, en el campo de Texto
disponible en el formulario.

Salidas: Mensaje auditivo con Información de Ingreso al Formulario en Cuestión. Mensajes auditivos informado teclas
presionadas sobre el campo de Texto desplegado para ingresos del Usuario. Mensaje auditivo informando que el dispositivo
GPS aun no localizo los satélites necesarios para establecer una localización correcta. Mensaje auditivo informando los pasos a
Pie generados desde el punto de Localización del GPS del Móvil hasta la dirección postal Ingresada por el usuario. Mensaje
auditivo informando posibles direcciones destino alternativas en caso de que el usuario ingrese una dirección que no pueda
considerarse como única. En tal caso el Servicio Web GPS establecerá e informa alternativas a fin de que el usuario corrija su
ingreso.
Opción Modo Caminante (3):

Introducción: El cliente ingresara a esta opción cuando requiera saber la Localización exacta de donde se encuentra
considerando que desea ser informado de la misma en forma repetitiva sin ninguna interacción con la aplicación hasta tanto
llegue al lugar que el considere. La Localización será informada en el formato de Calle + Numero + Localidad o Barrio +
Ciudad + País. Mediante el proceso de Síntesis de Voz, a la que esta opción deberá acceder a través del Servicio Web GPS, la
información para el usuario será provista en formato Auditivo.

Proceso: El usuario accede a esta opción de menú y se le informa de tal situación con un mensaje auditivo. A partir de ese
momento el usuario dispone de la Tecla Izquierda y Tecla Derecha habilitadas. Al presionar la tecla izquierda se volverá al
menú principal. Al presionar la tecla derecha se iniciara el proceso de Modo Caminante en el que el aplicativo intentara
determinar cada 20 segundos la última coordenada correcta provista por el dispositivo GPS. En caso de que aun no haya
coordenadas establecidas se emitirá un mensaje informando tal situación. Esto ocurrirá en caso de que el dispositivo aun no
haya localizado los satélites necesarios para la localización geográfica. En consecuencia se informara de esto en cada iteración
del proceso (20 segundos). Una vez ubicada la posición por parte del GPS se procederá a establecer una conexión con el
Servicio Web GPS WS y se enviara la latitud y longitud al mismo recibiendo como respuesta el archivo de audio codificado a
formato STRING con la dirección postal generada por el mismo. Posteriormente se procederá a la decodificación del STRING
de Audio recibido y a la reproducción del mismo en el parlante del teléfono Móvil. Para detener la iteración del proceso se
deberá presionar nuevamente la Tecla Derecha.
Página 38 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática


Entada: No hay entrada de Información. Solo posibilidad de selección de Teclas Izquierda y Derecha

Salidas: Mensaje auditivo con Información de Ingreso al Formulario en Cuestión. Mensaje auditivo informando que el
dispositivo GPS aun no localizo los satélites necesarios para establecer una localización correcta. Mensaje auditivo informando
la Localización exacta del usuario. Mensaje auditivo informando de algún tipo de error generado por el Servicio Web GPS.
Opción Puntos de Interés en Radio:

Introducción: El cliente ingresara a esta opción cuando requiera saber como llegar a un punto de interés determinado que se
corresponda con un Rubro Comercial ingresado por teclado. Estableciendo una serie de Pasos a Pie desde la ubicación actual
hasta el destino correspondiente al Rubro comercial deseado mas cercano, calculado dentro de los 400 metros del radio del
usuario solicitante. Mediante el proceso de Síntesis de Voz, a la que esta opción deberá acceder a través del Servicio Web GEO,
la información para el usuario será provista en formato Auditivo. Este formulario contara con un menú contextual de 2
opciones a las cuales se accederá mediante la Tecla Derecha y luego seleccionando la opción 1 o 2 según se requiera. La opción
1 comenzara el proceso cálculo de trazado de Trayectoria para su posterior reproducción en formato auditivo. La Opción 2
reproducirá en el parlante el texto ingresado por el usuario, correspondiente al Rubro Comercial deseado, en el campo
destinado para tal fin.

Entrada: Se deberá ingresar un Rubro Comercial deseado, con caracteres Alfanuméricos, en el campo de Texto disponible en
el formulario.

Proceso: El usuario accede a esta opción de menú y se le informa de tal situación con un mensaje auditivo. A partir de ese
momento el usuario dispone de la Tecla Izquierda y Tecla Derecha habilitadas. Al presionar la tecla izquierda se volverá al
menú principal. Al presionar la tecla derecha se activara el menú contextual con 2 opciones. 1 Empezar Búsqueda y 2 Oír
Ingreso. Al seleccionar la opción de Menú Nro. 1 se iniciara el proceso Búsqueda de Punto de Interés y posterior Trazado de
Trayectoria en el que el aplicativo intentara determinar los pasos a Pie a seguir desde la posición actual establecida por las
coordenadas del GPS del Móvil hasta la dirección postal del punto de interés calculado, correspondiente al Rubro Comercial
ingresado a mano por el usuario dentro del campo provisto para tal fin. En caso de que aun no haya coordenadas
establecidas por el GPS, se emitirá un mensaje informando de tal situación. Esto ocurrirá en caso de que el dispositivo aun no
haya localizado los satélites necesarios para establecer la ubicación geográfica del Móvil. Una vez ubicada la posición por
parte del GPS se procederá a establecer una conexión con el Servicio Web GEO WS y se enviara la latitud y longitud al mismo,
junto con el texto ingresado por el usuario (Rubro Comercial). Se recibirá como respuesta en primer lugar el nombre de
cabecera de los archivos generados en el servidor y a su vez la cantidad de archivos contenedores de los distintos pasos para
esta trayectoria. Luego de esto se llamara a un proceso asincrónico que peticione y a su vez reproduzca el audio de los
distintos archivos generados en el servidor que se corresponderán con la trayectoria establecida entre ambos puntos.
Al seleccionar la opción de Menú Nro. 2 el formulario establecerá una conexión con el Servicio Web TTS WS y recuperara el
texto ingresado en el Campo de Texto desplegado en el formulario en formato audible, para su reproducción en el parlante
del Móvil.
El usuario dispondrá de ayuda auditiva en el momento de ingresar letras y números en el campo de texto del formulario,
generando esto que al presionar las distintas teclas del Teléfono Móvil se reproduzca un audio informando la tecla presionada.
Esta funcionalidad podrá desactivarse o volverse a activar con la opción Nro 5 del menú principal.

Salidas: Mensaje auditivo con Información de Ingreso al Formulario en Cuestión. Mensajes auditivos informado teclas
presionadas sobre el campo de Texto desplegado para ingresos del Usuario. Mensaje auditivo informando que el dispositivo
GPS aun no localizo los satélites necesarios para establecer una localización correcta. Mensaje auditivo informando los pasos a
Pie generados desde el punto de Localización del GPS del Móvil hasta la dirección postal calculada, correspondiente al
comercio mas cercano del Rubro Comercial ingresado por el usuario.
Servicios Web Desplegados (J2EE)

TTS WS





Introducción: El Servicio Web TTS WS generara el audio vía Sintetizador de Voz MBROLA correspondiéndose con texto de
entrada en idioma Español.
Proceso: Se recibe un texto y se lo formatea en primer lugar a caracteres valido, luego se identifican las distintas abreviaciones
del texto y se le asigna la palabra completa adecuada para su correcta pronunciación. Luego se convierten las palabras
numéricas en frases de texto en español.
Posteriormente se genera el archivo de texto formateado que servirá de entrada para el proceso de conversión a archivos de
fonemas.
Se genera el archivo de fonemas .PHO para su posterior utilización por el modulo MBROLA.
Se ejecuta el modulo MBROLA con los parámetros necesarios para la generación de un archivo .WAV basado en el archivo de
fonemas generado anteriormente. Se deja el modulo preparado para la generación de archivos de audio MP3 a fin de
minimizar el ancho de banda necesario para una implementación a gran escala.
Una vez generado el archivo de audio se codifica a BASE64 en un STRING largo para su posterior devolución al cliente a
través del Servicio Web.
Entrada: Texto en español conteniendo caracteres validos. Números y abreviaciones varias están soportadas por el
sintetizador.
Salida: Texto largo, en formato STRING que se corresponde con el audio en formato WAV o MP3 codificado en BASE64 para
ser devuelto al usuario, el cual deberá decodificar y reproducir o grabar según sea necesario.
GPS WS

Introducción: El Servicio Web GPS WS generara toda la información necesaria para determinar direcciones postales basadas
en una coordenada geográfica determinada, también determinara coordenadas geográficas basadas en una dirección postal
determinada. Y por ultimo determinara la trayectoria a seguir entre 2 puntos geográficos dados. Esta última función también
permitirá detectar destinos ambiguos, con lo cual generara la información necesaria para informarle al usuario los destinos
alternativos que puede haber querido proveer al servicio. Todas las funciones estarán orientadas a la reproducción en habla
Página 39 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática




española de sus resultados con lo cual todas implementaran las funcionalidades brindadas por el servicio TTS descripto
anteriormente.
Proceso:
Función de obtención de dirección hablada: Se enviara a esta función una coordenada geográfica determinada y mediante
una interfaz con la Google Maps API se determinara la dirección aproximada. Se tiene en cuenta que esa dirección no es
exacta por parte de Google, con lo cual mediante una función de cálculo se obtiene la dirección casi exacta de la coordenada
dada. Posteriormente esta dirección se procesa con el sintetizador de voz para su envió al cliente.
Función de determinación de trayectoria hablada: Se enviara a esta función una coordenada geográfica correspondiente al
punto inicial desde donde se quiere trazar la trayectoria, también se envía una dirección postal para identificar el destino de
la trayectoria. El proceso genera una interfaz con la Google Maps API y recibe la información de trayectoria en formato
HTML en un STRING largo. Este STRING será formateado y depurado a fin de obtener la información importante a los fines
del desarrollo. Se identificaran los distintos pasos a seguir en la trayectoria, con sus distancias correspondientes. Luego de
obtener la información deseada se procesara la misma con el sintetizador de voz para su posterior envío al cliente.
Teniendo en cuenta la amplitud de los STRINGS codificados en BASE64 para su devolución a través de los servicios web, y
considerando que las mismas pueden afectar el correcto funcionamiento de los nombrados, se determino realizar la
segmentación de las trayectorias trazadas, generando varios archivos de audio correspondiéndose cada uno de ellos a los
distintos caminos que forman la trayectoria. Generando esto que el cliente reciba inicialmente con el pedido de traza, una
cabecera informando en nombre y cantidad de archivos de traza generados, para luego, el cliente, realizar las solicitudes de
las mismas de forma secuencial. Esto evitara Timeouts ante grandes cantidades de información recibida por parte de los
Servicios Web.
Entrada: Según la función deseada, recibirá coordenadas geográficas o direcciones postales, como así también coordenadas y
direcciones provistas a la vez para determinar la trayectoria entre ambas.
Salida: Texto largo, en formato STRING que se corresponde con el audio en formato WAV o MP3 codificado en BASE64 para
ser devuelto al usuario, el cual deberá decodificar y reproducir o grabar según sea necesario.
En caso de solicitar la función segmentada, se enviara en primer lugar una cabecera con el nombre genérico de los archivos de
audio generados en el servidor, y luego, secuencialmente se enviaran los audios en STRING largo correspondientes a los
caminos de la trayectoria trazada.
GEO WS

Introducción: El Servicio Web GEO WS contiene la funcionalidad necesaria para obtener la trayectoria más corta hasta un
punto determinado, dentro de los 400 mts. de la ubicación del cliente, y el destino se corresponderá con un comercio de un
rubro provisto por el cliente consumidor del Servicio Web. El servicio se ayudara con una base de datos que contendrá la
información de localización de los comercios.

Proceso: Partiendo de la posición geográfica central provista por el cliente, y utilizando la formula Haversine, se determinan
las coordenadas de los 4 puntos externos que formaran el circulo de 400 mts de radio alrededor del punto central
(coordenada origen). Una vez determinado ese circulo de área, se obtendrán los distintos puntos de interés, correspondientes
al rubro provisto, que se detecte que están dentro del área calculada anteriormente.
Luego de esto, mediante la funcionalidad de Procesamiento de Trayectorias, se trazaran las distintas trayectorias hacia los
puntos obtenidos, partiendo del punto central provisto por el cliente. Una vez obtenidas todas las trayectorias, se determinara
la más cercana en distancia y se generaran los archivos de audio correspondientes a los caminos que deberá tomar el usuario,
junto con su cabecera descriptiva mediante el sintetizador de voz, para su posterior envío al cliente de manera secuencial.

Entrada: Se recibe el dato de una coordenada geográfica correspondiente a la ubicación actual del cliente, también se recibe
el rubro comercial que se desea buscar.

Salida: Texto largo, en formato STRING que se corresponde con el audio en formato WAV o MP3 codificado en BASE64 para
ser devuelto al usuario, el cual deberá decodificar y reproducir o grabar según sea necesario.
En caso de solicitar la función segmentada, se enviara en primer lugar una cabecera con el nombre genérico de los archivos de
audio generados en el servidor, y luego, secuencialmente se enviaran los audios en STRING largo correspondientes a los
caminos de la trayectoria trazada.
Requerimientos de Interfaces externos
Interfaces de Usuario
Los formularios a utilizar, al ser una aplicación orientada a personas con discapacidad visual, y al ser el medio por el cual se
muestran de poco tamaño, serán simples, no contendrán imágenes que produzcan un retardo en la carga del formulario y la información a
mostrar debe ser sencilla. Solo será necesario generar las opciones de menú utilizadas, las cuales procesaran los eventos indicados para que el
usuario utilice el aplicativo.
La facilidad de uso es la premisa principal del desarrollo, con lo cual se habilitaran y dará funcionalidad a solo 2 botones principales
en los formularios. El izquierdo y derecho del teléfono móvil.
Por otro lado, la asistencia auditiva será completa, indicando al usuario todas las actividades que realiza en el aplicativo.
Dada la interacción del Aplicativo con servicios web expuestos en internet que darán funcionalidad extra al aplicativo, los equipos
deberán tener una cuenta 3G de alta velocidad para una fácil transferencia de información entre los equipos y los servicios. También se podrá
interactuar con equipos con conexión WIFI.
En el mercado actual existen una amplia gama de celulares con soporte GPS, pero a los fines del desarrollo, nos centraremos en una
implementación sobre un equipo que implemente la especificación JSR179 para incorporar la funcionalidad de localización.
Interfaces de Hardware y Software
La infraestructura técnica a utilizar se compone de la siguiente manera:

1 Application Server con Windows 2003 Server o Linux instalado
Página 40 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática



1 Web Server con Apache Tomcat versión 5.5 instalado
1 Servidor de Base de Datos (MySql)
En el servidor web se deberá instalara la siguiente estructura de directorios para la correcta
Actividad de los Servicios.
C:\RECURSOSTESIS\
\mbrola\
Mbrola.exe
Mbrola-linux-i386
Readme.txt
\vz1\
\output\
Motor de Síntesis de voz Mbrola para SO Windows
Motor de Síntesis de voz Mbrola para SO Linux
Licencia y Condiciones de Uso del Motor Mbrola
Vz1
Base de Datos de Voz Venezolana para uso con Mbrola
License.txt Licencia y Condiciones de Uso de Base de Datos Venezolana
Venezuelan_rules1
Venezuelan_rules2
Perl.exe
Tafv.pl
Lame.exe
Lame_enc.ini
ReadMeFirst.txt
Reglas Lingüísticas en Español para Voz Venezolana 1
Reglas Lingüísticas en Español para Voz Venezolana 2
Compilador Perl para generador de Archivo de Fonemas
Generador de Archivo de Fonemas para Voz Venezolana
Codificador WAV a MP3
Archivo de Configuración del Codificador MP3
Licencia y Condiciones de Uso para Lame.exe
reemplazoPalabras.properties Archivo de Recursos para Servicio de síntesis de Voz
El Sistema a desarrollar, tanto en su funcionalidad web como en su cliente Móvil, serán desarrollados en Java utilizando la
plataforma Netbeans versión 6.5.1. El motor de base de datos utilizado será MySql y el servido que lo expone la funcionalidad Web será un
Apache Tomcat versión 5.5.
El Motor de síntesis de voz será el MBROLA, en su versión ejecutable bajo SO Windows.
Restricciones de Diseño
Cumplimiento de Estándares
Para realizar un código legible, entendible y de fácil refactoring, se desarrollara aplicando comentarios respetando nomenclatura
de JavaDoc para su posterior Documentación automática. Se aplicara una nomenclatura estándar y homogénea para la codificación.
Limitaciones hardware
Se deberá estudiar y considerar el crecimiento de la base de datos de Puntos de interés a fin de proyectar actualizaciones de
capacidad de procesador para el Servidor de base de datos.
A fin de una operación dinámica de la Aplicación Móvil se deberá tener en cuenta que los Móviles a utilizar deberán contar con
una conexión a internet bajo red 3G de alta velocidad.
Atributos del Software
Confiabilidad
La confiabilidad del sistema estará dada por la fiabilidad de que el sistema funcione correctamente, para esto se desarrollarán
distintas Pruebas de Performance (Test Stress).
Disponibilidad
Para la disponibilidad 100% del mismo, se utilizarán Servidores Secundarios con la misma configuración y datos que el principal.
Estos se utilizarán en caso de fallas del Servidor Principal.
Seguridad
No se especifica un desarrollo bajo ningún tipo de seguridad extra.
Página 41 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Facilidad de Mantenimiento
Al ser un Sistema totalmente desarrollado utilizando la metodología de desarrollo Orientada a Objetos puede ser fácilmente
mantenido. Además al utilizarse una definición de estándares para la programación a utilizar, hace que el código sea legible y entendible
para cualquier persona que desee ver el código del mismo para realizar mantenimiento de la Aplicación.
Diseño Arquitectónico
El sistema se desarrollara utilizando una Arquitectura distribuida y orientada a Servicios. La cual es un concepto que define la
utilización de servicios para dar soporte a los requisitos del negocio. Permitiendo esto, que los servicios desarrollados puedan implementarse en
aplicaciones de diferente origen o lenguaje.
Una característica muy importante de los Principios de la Orientación a Servicios, es que todos ellos se inter-relacionan. El siguiente
gráfico muestra la inter-relación de los diferentes principios:
Como se puede observar en el gráfico, el objetivo de la Orientación a Servicios es obtener software totalmente reutilizable a través de un
conjunto de técnicas y principios como los descritos anteriormente.

Los Servicios deben proporcionar un contrato formal: Todo servicio desarrollado, debe proporcionar un contrato en el cual
figuren: el nombre del servicio, su forma de acceso, las funcionales que ofrece, los datos de entrada de cada una de las
funcionalidades y los datos de salida. De esta manera, todo consumidor del servicio, accederá a este mediante el contrato, logrando
así la independencia entre el consumidor y la implementación del propio servicio. En el caso de los Servicios Web, esto se logrará
mediante la definición de interfaces con WSDL.

Los Servicios deben tener bajo acoplamiento: Es decir, que los servicios tienen que ser independientes los unos de los otros.
Para lograr ese bajo acoplamiento, lo que se hará es que cada vez que se vaya a ejecutar un servicio, se accederá a él a través del
contrato, logrando así la independencia entre el servicio que se va a ejecutar y el que lo llama. Si conseguimos este bajo
acoplamiento, entonces los servicios podrán ser totalmente reutilizables.

Los Servicios deben permitir la composición: Todo servicio debe ser construido de tal manera que pueda ser utilizado para
construir servicios genéricos de más alto nivel, el cual estará compuesto de servicios de más bajo nivel.

Los Servicios deben de ser autónomos: Todo Servicio debe tener su propio entorno de ejecución. De esta manera el servicio es
totalmente independiente y nos podemos asegurar que así podrá ser reutilizable desde el punto de vista de la plataforma de
ejecución.

Los Servicios no deben tener estado: Un servicio no debe guardar ningún tipo de información. Esto es así porque una aplicación
está formada por un conjunto de servicios, lo que implica que si un servicio almacena algún tipo de información, se pueden
Página 42 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
producir problemas de inconsistencia de datos. La solución, es que un servicio sólo contenga lógica, y que toda información esté
almacenada en algún sistema de información sea del tipo que sea.

Los Servicios deben poder ser descubiertos: Todo servicio debe poder ser descubierto de alguna forma para que pueda ser
utilizado, consiguiendo así evitar la creación accidental de servicios que proporcionen las mismas funcionalidades. En el caso de los
Servicios Web, el descubrimiento se logrará publicando los interfaces de los servicios en registros UDDI.
A continuación de muestra un grafico de la arquitectura genérica de la solución incluyendo en el mismo la interacción básica entre
todos los componentes que formaran parte de la misma.
El Proyecto cuenta con 2 desarrollos bien diferenciados los cuales son completamente independientes en su despliegue. Estos son, la
Aplicación Móvil que brindara la información al usuario y la Aplicación Servidora que expondrá los Servicios Web.
Ambos desarrollos cuentan con una Arquitectura interna de 3 capas a fin de codificar de manera ordenada y con posibilidad de
ampliación de los módulos. A su vez la escalabilidad es una premisa importante dada la posibilidad de grandes cantidades de usuario usando
a la vez la aplicación.
La Aplicación Móvil cuenta con una capa de presentación compuesta por un MIDLET principal que servirá para la interacción con
el usuario. El mismo se encargara de lanzar los eventos de Audio necesarios para informar al usuario lo que este solicite. La capa de
Presentación de este modulo se desarrollara con componentes de tipo FORM de J2ME que permiten interactuar tanto con servicios externos
como con la información brindada por los satélites GPS. Estos componentes encapsulan toda la funcionalidad encargada de realizar las
peticiones a las interfaces que exponen la funcionalidad de los Servicios Web (Service_Stub) o el Api de Localización (JSR 179). Tanto las
interfaces hacia los Servicios Web (Service_Stub) junto con la implementación de la aplicación Servidor, al igual que la Api de Localización
JSR179 como los Satélites GPS compondrán nuestra capa de Datos de la Aplicación Móvil debido a que la información que este modulo
manejara serán Señales Satelitales del GPS como así también Información de Audio provista por los Servicios Web publicados.
Página 43 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Definición General de los Casos de Uso
Definición General de Casos de Uso para Aplicación Móvil
Verificar
Localizador
«extends»
Iniciar Aplicacion
«uses»
«extends»
«uses»
Iniciar Localizador
JSR179
«uses»
ObtenerLocalizacion
Consultar
Localizador
Consultar Servicio
GPS
Trazar Trayectoria
a Destino
«extends»
«uses»
«extends»
«uses»
Gestionar Conexion
Consultar Servicio
Servicios
TTS
Usuario
«extends»
Iniciar Modo
Caminante
WSDL
Servicios
Web
«uses»
Consultar Servicio
GEO
Ubicar Punto de
Interes
Definición General de Casos de uso Para Aplicación Servidor
«uses»
Obtener Direccion
Sintetizada
Google
Maps API
«extends»
Sintetizar Texto a
Voz
«extends»
«uses»
«uses»
Aplicacion Movil
Determinar Trayectoria
a Destino Sintetizada
MBROLA
«extends»
Ubicar Punto de
Interes en Radio
«extends»
Determinar
Trayectoria a Destino
«extends»
Sintetizar Texto a
Voz
Página 44 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Descripción detallada de casos de Uso
Iniciar Aplicación

Actores involucrados
Usuario Telefonía Móvil

Canales habilitados
GPS, Teléfono Móvil

Descripción
En este caso de uso se detallan los pasos a seguir cuando se inicia la aplicación Móvil.

Condiciones Previas
El usuario debe poseer un Teléfono móvil del la línea Nokia S60 o que implemente la especificación JSR179 y el mismo debe disponer de un
dispositivo GPS incorporado. Asimismo se asume que el teléfono Móvil cuenta con la Aplicación ya Instalada. Se deberá poseer la maquina
virtual de Java instalada en caso de correrse en equipos con Windows Mobile. Symbian no requiere.
Pasos

El usuario lanza la aplicación Móvil.

El usuario selecciona la tecla derecha de comando y luego un Nro. que se corresponderá con las opciones de menú disponibles a fin
de lanzar la funcionalidad deseada.

El usuario selecciona la opción Nro. 1 del menú generando el lanzamiento de la funcionalidad de Localización.

El usuario selecciona la opción Nro. 2 del menú generando el lanzamiento de la funcionalidad de Procesamiento de Trayectoria.

El usuario selecciona la opción Nro. 3 del menú generando el lanzamiento de la funcionalidad de Modo Caminante.

El usuario selecciona la opción Nro. 4 del menú generando el lanzamiento de la funcionalidad de Determinar puntos de Interés en
Radio.

El usuario selecciona la opción Nro. 5 del menú generando el lanzamiento de la funcionalidad de Activar y Desactivar ayuda
auditiva.

El usuario la tecla izquierda de comandos del dispositivo móvil.
Resultado

El sistema reproducirá un mensaje auditivo Indicando que se inicio la aplicación y se desplegara en pantalla el menú Principal, el
cual será activado mediante la tecla Derecha de comandos del teléfono móvil.

En caso de que la Api de Localización no esté disponible se emitirá un mensaje auditivo indicando que el teléfono no es apto para
ejecutar la Aplicación o bien que hubo un error al instanciar le dispositivo de localización.

Se desplegaran las 5 opciones de menú disponibles en la tecla derecha de comandos del teléfono móvil y la tecla izquierda
correspondiente a la salida del sistema.

Según la opción de menú seleccionada se redirigirá el foco de la aplicación al Formulario Móvil correspondiente.

En caso de seleccionar la tecla izquierda de comandos se detendrá el proveedor de localización y se saldrá de la aplicación
informando de tal situación al usuario mediante un mensaje auditivo.
Diagrama:
Página 45 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
«extends»
Iniciar Aplicacion
Verificar
Localizador
«extends»
«extends»
«uses»
«uses»
JSR179
Iniciar Localizador
«extends»
Usuario
Desplegar Menu
Principal
Reproducir Audio
Obtener Localización

Actores involucrados
Usuario Telefonía Móvil

Canales habilitados
Internet, Teléfono Móvil, GPS

Descripción
En este caso de uso se detallan los pasos a seguir cuando el cliente desea consultar la dirección postal de la localización en la que se encuentra.

Condiciones Previas
El teléfono móvil debe haber localizado señales de los Satélites GPS. La conexión a Internet debe estar Activa y disponible.
Pasos

El usuario ingresa al modulo de Localización.

El usuario presiona el comando derecho del teléfono móvil con el fin de lanzar el evento que determinara e informará la dirección
postal en la que se encuentra mediante un mensaje auditivo.

El usuario presiona el comando izquierdo del teléfono móvil.
Resultado

Al ingresar al modulo, el usuario recibirá un mensaje auditivo que le informara que acaba de ingresar al modulo de localización;
Luego de esto se desplegaran las opciones disponibles para el dispositivo en este modulo. Las mismas son el botón izquierdo y el
botón derecho del dispositivo móvil.

Al presionar el comando derecho del teléfono móvil, en primer lugar se establecerá una conexión con el proveedor de localización
instanciado e inicializado al lanzar la aplicación. Si el mismo aun no ha detectado señal de satélites, se le informara de tal situación
al usuario mediante un mensaje auditivo. Esto generara que el usuario deba esperar un tiempo prudencial y volver a presionar el
comando derecho a fin de iniciar nuevamente el evento. Posteriormente se instanciara la interfaz de conexión con los servicios
externos y mediante una conexión HTTP se contactara con el servicio web GPSWS a su función desplegada getTTSAddress
enviándole a la misma los parámetros de latitud y longitud obtenidos del proveedor de localización. El servicio Web responderá la
petición con un STRING largo conteniendo el STREAM de audio codificado de la dirección postal hablada en lengua española. Se
deberá decodificar en BASE64 dicho STREAM y reproducir el mismo en el parlante del dispositivo móvil.

Al presionar el comando izquierdo del teléfono móvil se saldrá del modulo y se retornara al formulario principal.
Diagrama:
Página 46 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Reproducir Audio
ObtenerLocalizacion
Gestionar Conexion
Servicios
«extends»
Consultar Servicio
GPS
«uses»
WSDL
Servicios
Web
Usuario
«uses»
Consultar
Localizador
JSR179
Trazar Trayectoria a Destino

Actores involucrados
Usuario Telefonía Móvil

Canales habilitados
Internet, Teléfono Móvil, GPS

Descripción
En este caso de uso se detallan los pasos a seguir cuando el cliente desea consultar el trazado de una trayectoria desde la ubicación en donde
se encuentra hasta una dirección ingresada a Mano.

Condiciones Previas
El teléfono móvil debe haber localizado señales de los Satélites GPS. La conexión a Internet debe estar Activa y disponible.
Pasos

El usuario ingresa al modulo de Trazado de Trayectoria.

El usuario ingresa un texto con una dirección destino en el campo de texto destinado para tal fin.

El usuario presiona el comando derecho del teléfono móvil con el fin abrir el menú de opciones del modulo.

El usuario Selecciona la Opción 1 del Modulo a Fin de lanzar el evento que determinara e informará la Trayectoria hacia el destino
Ingresado Partiendo desde la posición en la que se encuentra.

El usuario Selecciona la Opción 2 del Modulo a Fin de escuchar el ingreso que realizo.

El usuario presiona el comando izquierdo del teléfono móvil.
Resultado

Al ingresar al modulo, el usuario recibirá un mensaje auditivo que le informara que acaba de ingresar al modulo de Trazado de
Trayectoria; Luego de esto se desplegaran las opciones disponibles para el dispositivo en este modulo. Las mismas son el botón
izquierdo y el botón derecho del dispositivo móvil.

Al presionar el comando derecho del teléfono móvil se desplegara el menú de opciones con 2 Opciones. Al presionar nuevamente se
cerrara ese menú de opciones.

Al presionar el comando derecho del teléfono móvil mas la opción 1 del teclado numérico, en primer lugar se establecerá una
conexión con el proveedor de localización instanciado e inicializado al lanzar la aplicación. Si el mismo aun no ha detectado señal
de satélites, se le informara de tal situación al usuario mediante un mensaje auditivo. Esto generara que el usuario deba esperar un
tiempo prudencial y volver a presionar el comando derecho a fin de iniciar nuevamente el evento. Posteriormente se instanciará la
interfaz de conexión con los servicios externos y mediante una conexión HTTP se contactara con el servicio Web GPSWS a su función
desplegada getTTSCabeceraTrayectoria enviándole a la misma los parámetros de latitud y longitud obtenidos del proveedor de
localización junto con el texto de la dirección Destino ingresada previamente. El servicio Web responderá la petición con un STRING
Página 47 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
conteniendo el nombre de cabecera de los archivos de audio generados en el servidor junto con la cantidad de archivos.
Posteriormente se realizara secuencialemente una petición al servicio Web GPSWS a su función getTTSDetalleTrayectoria
enviándole como parámetro el nombre y Nro. de archivo deseado (concatenados). El servicio Web responderá la petición con un
STRING largo conteniendo el STREAM de audio codificado con el camino individual trazad para la trayectoria, hablado en lengua
española. Se decodificara en BASE64 dicho STREAM y reproducir el mismo en el parlante del dispositivo móvil.

Al presionar el comando derecho del teléfono móvil mas la opción 2 del teclado numérico, se instanciará la interfaz de conexión con
los servicios externos y mediante una conexión HTTP se contactara con el servicio Web TTSWS a su función desplegada
getTTSaudioWAV enviándole a la misma el texto de la dirección Destino ingresada previamente. El servicio Web responderá la
petición con un STRING largo conteniendo el STREAM de audio codificado con el texto ingresado hablado en lengua española. Se
decodificara en BASE64 dicho STREAM y reproducir el mismo en el parlante del dispositivo móvil.

Al presionar el comando izquierdo del teléfono móvil se saldrá del modulo y se retornara al formulario principal.
Diagrama:
«uses»
Consultar
Localizador
JSR179
Trazar Trayectoria
a Destino
«extends»
«extends»
«extends»
Usuario
Reproducir Audio
Gestionar Conexion
Servicios
Reproducir Audio
Thread
«extends»
Consultar Servicio
GPS
«uses»
WSDL
«uses» Servicios
Web
Consultar Servicio
TTS
Modo Caminante

Actores involucrados
Usuario Telefonía Móvil

Canales habilitados
Internet, Teléfono Móvil, GPS

Descripción
En este caso de uso se detallan los pasos a seguir cuando el cliente desea consultar la dirección postal de la localización en la que se encuentra
considerando que el usuario esta caminando y deberá informarse la misma cada 20 segundos.

Condiciones Previas
El teléfono móvil debe haber localizado señales de los Satélites GPS. La conexión a Internet debe estar Activa y disponible.
Pasos

El usuario ingresa al modulo de Modo Caminante.

El usuario presiona el comando derecho del teléfono móvil con el fin de lanzar el evento que determinara e informará la dirección
postal en la que se encuentra cada 20 segundos mediante un mensaje auditivo.

El usuario presiona el comando derecho del teléfono móvil nuevamente a fin de detener el flujo de información auditiva.
Página 48 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática

El usuario presiona el comando izquierdo del teléfono móvil.
Resultado

Al ingresar al modulo, el usuario recibirá un mensaje auditivo que le informara que acaba de ingresar al modulo de localización;
Luego de esto se desplegaran las opciones disponibles para el dispositivo en este modulo. Las mismas son el botón izquierdo y el
botón derecho del dispositivo móvil.

Al presionar el comando derecho del teléfono móvil, en primer lugar se establecerá una conexión con el proveedor de localización
instanciado e inicializado al lanzar la aplicación. Si el mismo aun no ha detectado señal de satélites, se le informara de tal situación
al usuario mediante un mensaje auditivo. Esto generara que el usuario deba esperar un tiempo prudencial y volver a presionar el
comando derecho a fin de iniciar nuevamente el evento. Posteriormente se instanciara la interfaz de conexión con los servicios
externos y mediante una conexión HTTP se contactara con el servicio Web GPSWS a su función desplegada getTTSAddress
enviándole a la misma los parámetros de latitud y longitud obtenidos del proveedor de localización. El servicio Web responderá la
petición con un STRING largo conteniendo el STREAM de audio codificado de la dirección postal hablada en lengua española. Se
deberá decodificar en BASE64 dicho STREAM y reproducir el mismo en el parlante del dispositivo móvil.

Al presionar el comando derecho del teléfono móvil nuevamente se dejara de recibir información de los servicios y se detendrán los
mensajes auditivos.

Al presionar el comando izquierdo del teléfono móvil se saldrá del modulo y se retornara al formulario principal.
Diagrama:
Consultar
Localizador
«uses»
JSR179
Iniciar Modo
Caminante
«extends»
«uses»
«extends»
Consultar Servicio
Gestionar Conexion
GPS
Servicios
WSDL
Servicios
Web
Usuario
Reproducir Audio
Ubicar Punto de Interés en Radio

Actores involucrados
Usuario Telefonía Móvil

Canales habilitados
Internet, Teléfono Móvil, GPS

Descripción
En este caso de uso se detallan los pasos a seguir cuando el cliente desea consultar el trazado de una trayectoria desde la ubicación en donde
se encuentra hasta la dirección correspondiente a un punto de interés comercial, de un rubro determinado ingresado a Mano.

Condiciones Previas
El teléfono móvil debe haber localizado señal de los Satélites GPS. La conexión a Internet debe estar Activa y disponible.
Pasos

El usuario ingresa al modulo de Ubicación de Puntos de Interés.
Página 49 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática

El usuario ingresa un texto con un rubro comercial determinado en el campo de texto destinado para tal fin.

El usuario presiona el comando derecho del teléfono móvil con el fin abrir el menú de opciones del modulo.

El usuario Selecciona la Opción 1 del Modulo a Fin de lanzar el evento que determinara e informará la Trayectoria hacia destino
partiendo desde la posición en la que se encuentra.

El usuario Selecciona la Opción 2 del Modulo a Fin de escuchar el ingreso que realizo.

El usuario presiona el comando izquierdo del teléfono móvil.
Resultado

Al ingresar al modulo, el usuario recibirá un mensaje auditivo que le informara que acaba de ingresar al modulo de Localización
de Puntos de Interés en Radio; Luego de esto se desplegaran las opciones disponibles para el dispositivo en este modulo. Las mismas
son el botón izquierdo y el botón derecho del dispositivo móvil.

Al presionar el comando derecho del teléfono móvil se desplegara el menú de opciones con 2 Opciones. Al presionar nuevamente se
cerrara ese menú de opciones.

Al presionar el comando derecho del teléfono móvil mas la opción 1 del teclado numérico, en primer lugar se establecerá una
conexión con el proveedor de localización instanciado e inicializado al lanzar la aplicación. Si el mismo aun no ha detectado señal
de satélites, se le informara de tal situación al usuario mediante un mensaje auditivo. Esto generara que el usuario deba esperar un
tiempo prudencial y volver a presionar el comando derecho a fin de iniciar nuevamente el evento. Posteriormente se instanciará la
interfaz de conexión con los servicios externos y mediante una conexión HTTP se contactara con el servicio Web GEOWS a su función
desplegada getTTSCabeceraPuntoInteresEnRadio enviándole a la misma los parámetros de latitud y longitud obtenidos del
proveedor de localización junto con el texto del Rubro comercial deseado, ingresado previamente. El servicio Web responderá la
petición con un STRING conteniendo el nombre de cabecera de los archivos de audio generados en el servidor junto con la cantidad
de archivos. Posteriormente se realizara secuencialemente una petición al servicio Web GPSWS a su función
getTTSDetallePuntoInteresEnRadio enviándole como parámetro el nombre y Nro. de archivo deseado (concatenados). El servicio
Web responderá la petición con un STRING largo conteniendo el STREAM de audio codificado con el camino individual trazado
para la trayectoria, hablado en lengua española. Se decodificara en BASE64 dicho STREAM y reproducir el mismo en el parlante
del dispositivo móvil.

Al presionar el comando derecho del teléfono móvil mas la opción 2 del teclado numérico, se instanciará la interfaz de conexión con
los servicios externos y mediante una conexión HTTP se contactara con el servicio Web TTSWS a su función desplegada
getTTSaudioWAV enviándole a la misma el texto del Rubro Comercial ingresado previamente. El servicio Web responderá la
petición con un STRING largo conteniendo el STREAM de audio codificado con el texto ingresado hablado en lengua española. Se
decodificara en BASE64 dicho STREAM y reproducir el mismo en el parlante del dispositivo móvil.

Al presionar el comando izquierdo del teléfono móvil se saldrá del modulo y se retornara al formulario principal.
Diagrama:
«extends» «extends»
Usuario
Reproducir Audio
«uses»
Consultar
Localizador
Ubicar Punto de
Interes
JSR179
Gestionar Conexion
Servicios
«extends»
Consultar Servicio
GEO
«uses»
WSDL
Servicios
Web
Reproducir Audio
Thread
Definición General de Casos de Uso para Servicios Web
Página 50 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Sintetizar Texto a Voz

Actores involucrados
Aplicación Consumidora

Canales habilitados
Internet.

Descripción
En este caso de uso se detallan los pasos a seguir cuando una aplicación consumidora del paquete de Servicios desea obtener la voz
sintetizada en idioma español de un determinado texto provisto al servicio.

Condiciones Previas
Servicios instalados en el servidor y desplegados correctamente.
Textos de entrada menores a 121 caracteres.
Pasos

El consumidor provee un texto en español de no más de 121 caracteres.
Resultado

El servicio en primer lugar generara un nombre aleatorio para los archivos generados en los distintos módulos a fin de, en caso de
concurrencia de consumidores, devolver cada audio al correspondiente solicitante.

Se verifica que los textos sean correctos.

Se Separa el Texto en Frases y se cuentan las mismas.

En cada frase se definen las palabras conteniendo datos numéricos y se reemplazan las abreviaciones.

Para cada frase se determina cada una de sus palabras y se separa las mismas en silabas a fin de determinar la fonética a utilizar
para su pronunciación.

Se genera el archivo de Fonemas con el nombre definido anteriormente para el proceso.

Se genera, mediante el sintetizador declarado, MBROLA en este caso, el archivo de audio con extensión WAV basado en el archivo
de fonemas generado.

Se codifica el archivo en un STRING largo mediante la codificación BASE64 y se retorna al consumidor del servicio para su
utilización.
Diagrama:
Codificar archivo de
Audio para su envio
«uses»
«extends»
«extends»
Obtener audio
Sintentizado en archivo codificado
Aplicacion Movil
«extends»
Generacion de
Archivo de Audio
«extends»
«extends»
«extends»
MBROLA
Generacion de
Archivo de Fonemas
«extends»
Definir fonemas
para texto
Generar nombre de
Archivo Aleatorio
Página 51 de 72
Verificar
correccion del texto
Reemplazar Palabras
Numericas y Abreviaciones
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Obtener Dirección Postal Sintetizada

Actores involucrados
Aplicación Consumidora

Canales habilitados
Internet.

Descripción
En este caso de uso se detallan los pasos a seguir cuando una aplicación consumidora del paquete de Servicios desea obtener en formato de
voz sintetizada la dirección postal basada en una coordenada Geográfica GPS provista.

Condiciones Previas
Servicios instalados en el servidor y desplegados correctamente.
Conexión disponible con el paquete de Síntesis de Voz.
Conexión a internet disponible para el servicio.
Pasos

El consumidor provee una coordenada geográfica GPS en formato de Latitud y Longitud.
Resultado

Se crea una conexión HTML con la API de localización de GOOGLE MAPS y se determina la cuadra RANGO para la coordenada
provista.

Mediante un cálculo estadístico se calcula la dirección Exacta de la coordenada provista.

Se genera, mediante el paquete de síntesis de voz el archivo de audio con extensión WAV basado en el texto de la dirección
obtenida en el proceso.

Se codifica el archivo en un STRING largo mediante la codificación BASE64 y se retorna al consumidor del servicio para su
utilización.
Diagrama:
Codificar archivo de
Audio para su envio
Google
Maps API
Sintetizar Texto a
«uses»
Voz
«extends»
«extends»
Aplicacion Movil
Obtener Direccion
Sintetizada
«extends»
«extends»
Generar Direccion
Calcular Direccion
Exacta
«extends»
Obtener Coordenadas
«extends»
Establecer
Conexion Google Maps
Obtener Trayectoria a Destino sintetizada

Actores involucrados
Aplicación Consumidora

Canales habilitados
Internet.
Página 52 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática

Descripción
En este caso de uso se detallan los pasos a seguir cuando una aplicación consumidora del paquete de Servicios desea obtener en formato de
voz sintetizada los pasos de Trayectoria generados a partir de una dirección Origen hacia una Dirección Destino. La dirección Origen será
provista en formato de coordenadas Geográficas GPS.

Condiciones Previas
Servicios instalados en el servidor y desplegados correctamente.
Conexión disponible con el paquete de Síntesis de Voz.
Conexión a internet disponible para el servicio.
Pasos

El consumidor provee una coordenada geográfica GPS en formato de Latitud y Longitud junto con un STRING conteniendo una
dirección Destino deseada a fin de trazar el camino entre los 2 puntos.
Resultado

Se crea una conexión HTML con la API de localización de GOOGLE MAPS y se obtienen los pasos entre los dos puntos en formato
texto sin depurar.

Se depura el texto obtenido correspondiente al HTML generado por la petición al servicio de GOOGLE.

Se obtiene la información deseada y se genera la serie de pasos y sus distancias individuales.

En caso de haber provisto al servicio de destinos ambiguos se generara una serie de Destinos Alternativos a fin de informarlos al
consumidor.

Se genera, mediante el paquete de síntesis de voz los archivos de audio con extensión WAV basados en cada uno de los textos
correspondientes a cada uno de los caminos trazados, definidos para la trayectoria deseada, junto con sus distancias a recorrer.

Se codifican los archivos en un STRING largo mediante la codificación BASE64 y se retorna al consumidor del servicio de manera
segmentada por cada Camino, para su utilización.
Diagrama:
Codificar archivo de
Audio para su envio
«extends»
Determinar Trayectoria
a Destino Sintetizada
Sintetizar Texto a
Voz
Google
Maps API
«uses»
«extends»
«extends»
Generar Trayectoria
«extends»
Aplicacion Movil
«extends» «extends»
Depurar Texto de
Peticiones HTML
«extends»
«extends»
Segmentar
Trayectoria
Crear Camino
Crear Destino
Alternativo
Establecer
Conexion Google Maps
Ubicar Punto de Interés en Radio

Actores involucrados
Aplicación Consumidora

Canales habilitados
Internet.

Descripción
En este caso de uso se detallan los pasos a seguir cuando una aplicación consumidora del paquete de Servicios desea obtener en formato de
voz sintetizada los pasos de Trayectoria generados a partir de una dirección Origen hacia una Dirección Destino. La dirección Origen será
provista en formato de coordenadas Geográficas GPS. Y la dirección destino será calculada mediante un algoritmo que, en base a un Rubro
Página 53 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
comercial provisto por el consumidor, se determinara que comercio de este Rubro está más cercano a la Dirección Origen (Localización del
Consumidor) y a la vez que se encuentra dentro de un rango de 400 Mts. a la redonda del mismo.

Condiciones Previas
Servicios instalados en el servidor y desplegados correctamente.
Conexión disponible con el paquete de Síntesis de Voz.
Conexión a internet disponible para el servicio.
Pasos

El consumidor provee una coordenada geográfica GPS en formato de Latitud y Longitud que será la Coordenada Origen, junto
con un STRING conteniendo un rubro comercial deseado.
Resultado

Se crea una conexión con el Motor de Base de datos instalado en el Servidor el cual contendrá los puntos de interés previamente
cargados con sus datos de coordenadas y demás info.

Se Obtienen los puntos de interés correspondientes al Rubro deseado que estén dentro del rango de 400 Mts. De la ubicación
correspondiente a la Coordenada Origen.

Mediante la utilización de la funcionalidad provista por el procesador de Trayectorias, se establecen las distintas trayectorias hacia
los puntos de interés obtenidos y se determina cuál de ellas es la más cercana al consumidor.

Se genera, mediante el paquete de síntesis de voz los archivos de audio con extensión WAV basados en cada uno de los textos
correspondientes a cada uno de los caminos trazados para la trayectoria obtenida, junto con sus distancias a recorrer.

Se codifican los archivos en un STRING largo mediante la codificación BASE64 y se retorna al consumidor del servicio de manera
segmentada por cada Camino, para su utilización.
Diagrama:
Codificar archivo de
Audio para su envio
«extends»
Aplicacion Movil
Google
Maps API
Sintetizar Texto a
Voz
«extends»
«uses»
«extends»
«extends»
Determinar
Determinar
Trazar Trayectorias
Trayectoria a Punto de Interes
Trayectoria Candidata
«extends»
Generar Trayectoria
«extends»
«extends»
«extends»
Generar Puntos de
Interes
Segmentar
Trayectoria
Obtener Rango de
Coordenadas
«extends»
Consultar Puntos
de Interes
Diagramas de Clases
Página 54 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Aplicación Móvil – Implementación del Localizador
Página 55 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Aplicación Móvil – Modulo Principal
Página 56 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Servicios Web – Paquetes Involucrados
Paquete Integrador y Expositor de Funciones
Página 57 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Diagrama Paquete TTS – Sintetizador de Voz
Página 58 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Diagrama Paquetes DB + GEO. Ubicación de Puntos de Interés en Radio
Página 59 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Paquete GPS - Interfaz con API de Localización de Google MAPS
Página 60 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Diagramas de Actividades
Aplicación Móvil
Localizador Invalido
Iniciar Aplicacion
Inicializar Localizador
TesisGeoTTSMidlet
Lanzar Formulario Principal
Activar/Desactivar Ayuda Auditiva
Salir()
JSR 179
Salir()
PrincipalMainForm
TrayectoForm()
LocalizacionForm()
Salir()
ModoCaminanteForm()
Salir()
AudioHelper
Audio
LocalizacionForm
Salir()
RadioInteresesForm()
ReprductorAudioStreamList
Audio
Nombre Archivos Server
RadioInteresesForm
ModoCaminanteForm
TrayectoForm
WSDL Web
Services
Página 61 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Servicio de Síntesis de Voz
depurar texto
TesisSpeechGPS
Texto
texto
TTSWS
Parse Frases
Instancia Sintetizador
Reemplazar Palabras
Frase
Numero Largo
Parse Palabra
Sintetizador MBROLA
Palabra
Parse Silaba
Generar Audio
Silaba
Generar Fonema
Sintetizar Voz
Fonema
Servicio GPS
Obtener Localización
Latitud + Longitud
CoordenadaG
Establecer URL Destino
Obtener Rango Direcciones
Calcular Direccion Exacta
Establecer Nombres de Archivo
Sintentizar texto de Direccion
Codificar archivo de Audio
Página 62 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Procesamiento de Trayectoria
Latitud + Longitud + Direccion Destino
TrayectoriaG
Establecer URL Destino
Obtener HTML
CoordenadaG
Latitud + Longitud
Obtener Direccion Origen
Depurar HTML
Obtener Caminos
Si
No
Destino Ambiguo
Generar Trayectoria Final
Generar Destinos Alternativos
Sintentizar texto de Trayectoria
Codificar archivo de Audio
Página 63 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Servicio GEO
Determinación de Puntos de Interés
Establecer Conexion DB
Establecer Posicion Geografica Origen
Origen + Radio
Establecer Filtro Circular
Conexion + Rubro + Radio
Obtener Puntos de Interes
Trazar Trayectorias
Obtener Trayectoria mas corta
Sintentizar texto de Trayectoria
Codificar archivo de Audio
Página 64 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Diccionario de Datos del Modelo
Tabla
Campo
Tipo Dato
Clave Primaria
Acepta Nulos
ID_PUNTOINTERES
int IDENTITY (1, 1)
Si
NOT NULL
ID_RUBRO
int
NOT NULL
DIRECCION
varchar (100)
NOT NULL
LATITUD
int
NOT NULL
LONGITUD
int
NOT NULL
DESCRIPCION
varchar (100)
NOT NULL
PUBLICIDAD
varchar (100)
NOT NULL
ID_RUBRO
int IDENTITY (1, 1)
DESCRIPCION
varchar (45)
TBL_PUNTOSDEINTERES
TBL_RUBROS
Si
NOT NULL
NOT NULL
Diagrama de Base de Datos
Diagrama de Base de Datos diseñado con el Aplicativo MySQL Workbench versión 1.1.18.
Plan de Pruebas (Test)
El testeo de los aplicativos, tanto Móvil como Web serán realizados en modo Emulación, utilizando para esto los emuladores provistos por el
entorno de desarrollo Netbeans y disponiendo de una publicación local vía servidor Apache Tomcat de los servicios Web necesarios para el
correcto funcionamiento del desarrollo.
En lo respectivo a la aplicación Móvil se deberán tener en cuenta las siguientes consideraciones a fin de poder realizar el Testeo Correctamente.
En primer lugar, el proyecto deberá incorporar en su compilación, el paquete Location Based Api 1.0.1
Para esto se deberá configurar el mismo de la siguiente forma:
Página 65 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Observar que en la Categoría Plataform se habilita el paquete mencionado. En caso de no realizar esta operación, el emulador trabajara
como si estuviera ejecutando el Aplicativo sobre un teléfono móvil SIN receptor GPS. En este caso, al intentar instanciar la Clase de
localización (Jsr179Locator) se producirá un error esperado.
En segundo lugar, para el testeo del prototipo, se deberá disponer de un set de datos en formato XML conteniendo una serie de coordenadas
geográficas a fin de emular la generación de eventos de localización por parte de la API de Localización JSR-179 utilizada para el desarrollo. El
XML para emulación será el siguiente:
TestGPS.xml
Para lanzar el procedimiento de testeo se deberá ejecutar la aplicación móvil en el entorno de desarrollo Netbeans. Al abrirse el
emulador seleccionar la opción External Events del menú MIDlet.
Esto nos permitirá abastecer al emulador de eventos externos de distintos tipos. En la solapa Location tendremos la posibilidad de incorporar
eventos que simulen la recepción de coordenadas por parte del GPS de un móvil.
En esta solapa, en la opción Script, seleccionaremos el XML descripto anteriormente y lo ejecutaremos.
A partir de ahora la aplicación ya está en condiciones de instanciar correctamente su clase de localización (Jsr179Locator) y abastecerse de
coordenadas simuladas.
En caso de no realizar esta operación, el aplicativo permanecerá en el estado de “Localización de Satélites”, estado análogo al de un móvil
real en el momento en que aun no ha recibido coordenadas de los Satélites.
Página 66 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
En lo que respecta al modulo de Servicios Web, a fin de lograr un testeo satisfactorio se deberá poseer una conexión a Internet Habilitada ya
que si bien, en un hipotético ambiente productivo, esta disponibilidad está implícita, en modo de emulación se debe tener esto en
consideración antes de lanzar las pruebas.
Modulo de Localización
Escenario:
Se deberá lanzar el aplicativo, y al ingresar al Menú Principal presionar Tecla Derecha del Móvil mas el Nro. 1. Esto lanzara la
opción número uno del menú principal (LOCALIZACION).
Pruebas a realizar y Resultados Esperados:
1.
Dentro del modulo de Localización, al Presionar Botón derecho (Empezar Acción de Localización), Se deberá
escuchar un mensaje como el siguiente: “Localizando Satélites, aguarde unos minutos…”.
2.
Al realizarse las pruebas sobre un emulador, se deberán ingresar eventos Externos al mismo. En consecuencia, seleccionar
el Menú MIDlet y la opción External Events del emulador. Luego elegir el archivo XML de coordenadas de prueba y
lanzar los eventos externos mediante el botón PLAY. Esto simulara la localización positiva de satélites con las
coordenadas configuradas en el archivo XML.
3.
Presionar nuevamente el Botón derecho (Empezar Acción de Localización) y se deberá recibir el mensaje auditivo
con la Localización correspondiente, conteniendo la dirección Postal obtenida desde el servicio web invocado por el
modulo.
4.
Presionar el Botón izquierdo del Móvil (Salir). Se deberá retornar al menú principal, recibiendo un mensaje auditivo
informándonos de tal acción.
Modulo de Procesamiento de Trayectoria
Escenario:
Se deberá lanzar el aplicativo, y al ingresar al Menú Principal presionar Tecla Derecha del Móvil mas el Nro. 2. Esto lanzara la
opción número dos del menú principal (PROCESAMIENTO DE TRAYECTORIA).
Pruebas a realizar y Resultados Esperados:
1.
Dentro del modulo de Procesamiento de Trayectoria, al Presionar Botón derecho mas el Nro. 1 del menú del modulo
(Empezar Acción), se deberá escuchar un mensaje como el siguiente: “Localizando Satélites, aguarde unos minutos…”.
2.
Al realizarse las pruebas sobre un emulador, se deberán ingresar eventos Externos al mismo. En consecuencia, seleccionar
el Menú MIDlet y la opción External Events del emulador. Luego elegir el archivo XML de coordenadas de prueba y
lanzar los eventos externos mediante el botón PLAY. Esto simulara la localización positiva de satélites con las
coordenadas configuradas en el archivo XML.
3.
Presionar nuevamente el Botón derecho mas el Nro. 1 del menú del modulo y se deberá recibir el mensaje auditivo
“Error se Servicio GPS” dado que el texto correspondiente a la dirección Destino deseada esta vacio. En consecuencia se
deberá ingresar un texto con una dirección valida (Congreso 3940 Coglhan Buenos Aires Argentina) y presionar
nuevamente el Botón derecho mas el Nro. 1 del menú del modulo (Empezar Acción). Luego de esto se deberán
recibir mensajes secuenciales conteniendo los pasos a seguir desde la dirección determinada por el GPS del móvil (a
través de la coordenadas obtenidas); hacia la dirección destino ingresada por el usuario.
4.
En caso de que el usuario ingrese una dirección destino ambigua, la cual podría llegar a tener varias interpretaciones en
cuanto a Destino, el servicio deberá devolver al usuario un mensaje informando que “se encontraron varios destinos
posibles”, luego de esto, deberá informar los mismos uno a uno.
5.
Ejemplo, si ingresamos Congreso 3940 Buenos Aires Argentina, El sistema deberá informar las Ciudades o Localidades en
las cuales se pueda ubicar una Calle llamada Congreso con la altura 3940.
6.
Al presionar Botón derecho mas el Nro. 2 del menú del modulo (Oír Ingreso), en caso de no haber ingresado ninguna
dirección valida en el campo de texto para tal fin, se deberá recibir un mensaje auditivo informando que debe ingresar
un texto valido. De lo contrario, se reproducirá en el parlante del móvil el texto ingresado por el usuario.
7.
Presionar el Botón izquierdo del Móvil (Salir). Se deberá retornar al menú principal, recibiendo un mensaje auditivo
informándonos de tal acción.
Modulo Caminante
Escenario:
Se deberá lanzar el aplicativo, y al ingresar al Menú Principal presionar Tecla Derecha del Móvil mas el Nro. 3. Esto lanzara la
opción número tres del menú principal (MODO CAMINANTE).
Pruebas a realizar y Resultados Esperados:
5.
Dentro del modulo de Localización, al Presionar Botón derecho (Empezar / Terminar), Se deberá escuchar un
mensaje como el siguiente: “Localizando Satélites, aguarde unos minutos…”.
6.
Al realizarse las pruebas sobre un emulador, se deberán ingresar eventos Externos al mismo. En consecuencia, seleccionar
el Menú MIDlet y la opción External Events del emulador. Luego elegir el archivo XML de coordenadas de prueba y
lanzar los eventos externos mediante el botón PLAY. Esto simulara la localización positiva de satélites con las
coordenadas configuradas en el archivo XML.
Página 67 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Presionar nuevamente el Botón derecho (Empezar / Terminar) y se deberá recibir el mensaje auditivo con la
Localización correspondiente, conteniendo la dirección Postal obtenida desde el servicio web invocado por el modulo.
Luego de 20 segundos el modulo nuevamente deberá reproducir la nueva localización del usuario en caso de que las
condiciones sigan de manera normal (señal de satélites correcta).
Presionar nuevamente el Botón derecho (Empezar / Terminar) y se dejara de recibir mensajes informando la
localización de usuario.
Presionar el Botón izquierdo del Móvil (Salir). Se deberá retornar al menú principal, recibiendo un mensaje auditivo
informándonos de tal acción.
7.
8.
9.
10.
Modulo de Ubicación de puntos de Interés en Radio
Escenario:
Se deberá lanzar el aplicativo, y al ingresar al Menú Principal presionar Tecla Derecha del Móvil mas el Nro. 4. Esto lanzara la
opción número cuatro del menú principal (PUNTOS DE INTERES EN RADIO).
Pruebas a realizar y Resultados Esperados:
8.
Dentro del modulo de ubicación de puntos de Interés en Radio, al Presionar Botón derecho mas el Nro. 1 del menú del
modulo (Empezar Acción), se deberá escuchar un mensaje como el siguiente: “Localizando Satélites, aguarde unos
minutos…”.
9.
Al realizarse las pruebas sobre un emulador, se deberán ingresar eventos Externos al mismo. En consecuencia, seleccionar
el Menú MIDlet y la opción External Events del emulador. Luego elegir el archivo XML de coordenadas de prueba y
lanzar los eventos externos mediante el botón PLAY. Esto simulara la localización positiva de satélites con las
coordenadas configuradas en el archivo XML.
10. Presionar nuevamente el Botón derecho mas el Nro. 1 del menú del modulo y se deberá recibir el mensaje auditivo
“Error se Servicio GPS” dado que el texto correspondiente al Rubro Comercial deseado esta vacio. En consecuencia se
deberá ingresar un texto con un Rubro Comercial al cual se quiera llegar (Farmacia) y presionar nuevamente el
Botón derecho mas el Nro. 1 del menú del modulo (Empezar Acción). Luego de esto se deberán recibir mensajes
secuenciales conteniendo los pasos a seguir desde la dirección determinada por el GPS del móvil (a través de las
coordenadas obtenidas); hacia la dirección correspondiente al comercio más cercano dentro de los 400 mts del radio del
usuario, que se corresponda con el rubro comercial deseado. Para verificar esto se deberá acceder a la tabla
tbl_puntosdeinteres de la base de datos tesisspeechgps de servidor mysql disponible para el proyecto y evaluar la
exactitud del proceso de cálculo de radio y determinación de los posibles destinos.
11. En caso de que el usuario ingrese un rubro comercial el cual no contenga puntos de interés cargados deberá escucharse
un mensaje informado que “No hay puntos de interés en Radio”.
12. Al presionar Botón derecho mas el Nro. 2 del menú del modulo (Oír Ingreso), en caso de no haber ingresado ningún
Rubro Comercial en el campo de texto para tal fin, se deberá recibir un mensaje auditivo informando que debe ingresar
un texto valido. De lo contrario, se reproducirá en el parlante del móvil el texto ingresado por el usuario, ejemplo
(FARMACIA).
13. Presionar el Botón izquierdo del Móvil (Salir). Se deberá retornar al menú principal, recibiendo un mensaje auditivo
informándonos de tal acción.
Ayudas Auditivas Extra
Escenario:
Se deberá lanzar el aplicativo, y al ingresar al Menú Principal presionar Tecla Derecha del Móvil mas el Nro. 2. (PROCESAMIENTO
DE TRATECTORIA) o el Nro4. (PUNTOS DE INTERES EN RADIO).
Estos módulos poseen una ayuda auditiva extra a la hora de introducir texto en los campos destinados para tal fin.
Pruebas a realizar y Resultados Esperados:
1.
2.
3.
Comenzamos ingresando letras o números el móvil en los campos de texto destinados para tal fin. El sistema, reproducirá
de manera auditiva e individualmente que letra o número presiono el usuario en el teclado.
Dado que este procedimiento puede enlentecer la operatoria de los módulos, esta funcionalidad puede ser desactivada
desde el menú principal seleccionando la opción Nro. 5 (Activar/Desactivar ayuda auditiva).
En caso de desactivar la misma, todo ingreso en los campos de texto de los módulos no será reproducido en el parlante
del móvil.
Página 68 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Capítulo 5 – Conclusiones Finales, Futuras Líneas de Investigación y
Agradecimientos
Conclusiones Finales
Las personas con deficiencia visuales están imposibilitadas, sin una adaptación adecuada, a hacer uso de las nuevas tecnologías. Es por esto
que la Tiflotecnología se ha convertido en una herramienta indispensable para estas personas ya que les permite acceder a las nuevas
tecnologías, ya sea mediante equipos específicos o adaptaciones, de acuerdo con las necesidades u objetivos de cada usuario. En lo que
respecta a Telefonía Móvil y PDA’s, si bien existen equipos para los que se han desarrollado magnificadores y lectores de pantalla, los costos de
estos desarrollos hacen difícil el acceso a los mismos por parte de algunos sectores sociales. Con lo cual es imperativo el desarrollo comunitario
de capacidades tecnológicas de libre acceso y disponibilidad. La empresa Google ha avanzado muchísimo en lo que a “Disponibilidad de
información” se refiere, teniendo como premisa la libre y gratuita distribución de software. Este tipo de políticas, la ha posicionado a la
vanguardia en el mercado mundial de empresas desarrolladoras de Software. Y parece ser un incentivo para todo el mundo informático
indicándonos que siguiendo ese camino se pueden lograr objetivos económicos y su la vez brindar un servicio útil a la comunidad.
Es esta problemática la que se intento resolver con este trabajo, es decir, minimizar los costos de un desarrollo, utilizando herramientas
informáticas de libre utilización y distribución de sus productos resultantes, y a su vez generar un producto que facilite el acceso a la tecnología
de GEO Localización por parte de personas con deficiencias Visuales y a un sin numero de información disponible y desarrollable en Internet en
relación a esta tecnología. Como podemos demostrar, el desarrollo del prototipo con la solución propuesta, presenta una solución muy viable y
a su vez extensible con un gran número de posibilidades a futuro, dado el gran protagonismo que adquirió de la telefonía Móvil en nuestras
vidas y su constante y cada vez más estrecha relación con Internet.
Si a esta propuesta se le sumara la llamada “tecnología de reconocimiento de Voz” que permite identificar palabras de un usuario
y asociarlas a comandos del teléfono Móvil y poder realizar todas las operaciones propuestas en el Aplicativo sin ninguna intervención del
teclado del Móvil estaríamos frente a una solución completa en cuanto a la problemática que se les presenta a las personas con deficiencias
visuales.
Los resultados obtenidos de las pruebas efectuadas al prototipo realizado, fueron muy satisfactorios, solo se encontraron algunos
problemas a la hora de generar un flujo muy grande de información por partes de los Servicios Web e intentar enviar el audio Codificado a los
Usuarios, por las limitaciones de transporte de estos Servicios, por lo cual se implemento una solución alternativa al momento de necesitar
enviar grandes flujos de información, que fue la de segmentar en partes estos mensajes y enviarlos de forma secuencial al usuario. Otro de los
problemas que se identifico al inicio del desarrollo fue el de la imposibilidad de realizar una implementación de un sintetizador de voz
íntegramente sobre el teléfono Móvil, siempre teniendo en cuenta la premisa de la necesidad de realizar un producto de distribución libre y
gratuita. En consecuencia se opto por utilizar un sintetizador que corra sobre un Servidor común conectado a Internet, brindando las
funcionalidades de Síntesis de Voz a través de un Servicio Web. De todas maneras, al realizar la implementación del modelo de Negocios para
el proceso de información GPS en conjunto con el modelo del Sintetizador de voz se lograron equiparar los tiempos de respuesta y
disponibilidad de la información, logrando que los mismos no sean significativamente superior a que si se hubiera implementado un
sintetizador de voz dentro del Teléfono Móvil.
Las herramientas de programación que hoy se disponen para diseñar sistemas sobre los dispositivos móviles son muy variadas y
útiles, la utilización del IDE Netbeans, junto con las diferentes APIs ya provistas por el mismo (Ejemplo JSR179), hacen que el desarrollo sea
mucho más fácil. Otra de las herramientas que ayudo al diseño del prototipo fue el emulador provisto por el Entorno de desarrollo, el cual
permiten desarrollar y observar los resultados al momentos como si estuviéramos testeando el modelo en un Teléfono Móvil real y sin
necesidad de realizar grandes inversiones en Hardware.
Con el desarrollo de esta Tesis además se logró poner en práctica los conocimientos adquiridos durante el transcurso de la carrera,
los cuales ayudaron significativamente a poder realizar de manera precisa cual debería ser el funcionamiento que del sistema propuesto, para
que al momento de programar el mismo se cuente con toda la información necesaria para hacerlo.
Por ser una tecnología que se va perfeccionando momento a momento y por el fuerte apoyo que tiene de grandes Empresas a
nivel mundial, las principales barreras que tenía, como ser la velocidad y la seguridad ya están casi superadas.
Gracias al crecimiento de la Tecnología y a la motivación de personas como nosotros en busca de realizar nuevos sistemas, es que
continuamente siguen apareciendo nuevos y mejores usos del Teléfono Móvil, lo cual hace que se convierta en una poderosa herramienta que
comienza a solucionar necesidades de diversos grupos sociales que tal vez hasta hoy no tenían posibilidad de acceder a determinada
información, ampliamente disponible para otros grupos de personas.
Página 69 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Estos tipos de desarrollos y enfoques, podrían cambiar considerablemente la manera en la que las personas se manejan diariamente
con su entorno, pero a su vez podría incluso dar soluciones a nivel empresarial o comercial como se vera en alguna de las líneas de
investigación a Futuro propuestas.
Futuras Líneas de Investigación
Reconocimiento de Voz
La implementación de tecnología de reconocimiento de voz En Español permitiría independizar completamente al usuario de la
manipulación del teléfono móvil por medio del teclado, dando esto un enfoque resolutivo integro a este modelo de solución y a la idea que lo
inspira a su vez escalando el espectro de alcance de mercado, permitiendo dar soluciones a otro tipo de problemáticas como ser la
manipulación de teléfonos móviles o dispositivos GPS dentro de los vehículos, siendo esta una de las causantes principales de accidentes de
transito.
Implementación Móvil de un Sintetizador de de Voz en Español
La implementación de tecnología de síntesis de voz En Español incorporada a la funcionalidad de la Aplicación móvil permitiría
independizar completamente al programa de la utilización de un servicio Web que brinde el servicio de síntesis. Agilizando de esta manera la
operatoria.
Buscador de Puntos de Interés dentro de Internet
Mediante el desarrollo de un buscador normalizado de puntos de interés dentro de la gran cantidad de información que nos brinda
Internet se podría independizar el modelo desarrollado de lo que en primera medida es la implementación de una base de datos. El servicio
de Google llamado Local Business Center apunta a esto pero hoy en día esta solo disponible para Estados Unidos y no posee una API de
implementación para desarrollar productos con esta información.
Publicidad
En este desarrollo se dejaron implementadas características que permitirían desarrollar el envió de pautas publicitarias habladas ya
sea con ofertas o frases características a clientes que transiten por la ciudad y se aproximen a los comercios que deseen incorporar sus avisos a
este servicio.
Página 70 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
Agradecimientos
El Autor quiere agradecer la guía recibida por parte del Profesor Luis Campos, de la Cátedra de Discapacidad, de la Facultad de Informática
de la Universidad de Morón para la realización de este trabajo. A mis varios compañeros de trabajo, por facilitarme sus celulares y servirme de
conejillos de Indias para las pruebas del aplicativo y ante todo, a mi madre por el apoyo eterno y por preguntarme un sin numero de veces
como iba con el proyecto, motivo suficiente para terminarlo de la mejor manera posible.
Referencias y Bibliografía
Como elaborar y asesorar una investigación de Tesis – Primera Edición - Carlos Muños Razo 1998.
Ceguera. Introducción, causas, prevención, rehabilitación - http://www.latinsalud.com/articulos/00131.asp?ap=4
Accesibilidad para discapacitados a través de teléfonos y servicios móviles adaptables - Diego Lopez de Ipiña - Amparo Rodríguez - Iñaki
Velásquez - Facultad de Ingeniería - Universidad de Deusto - 2005
Code Factory: Haciendo accesibles los teléfonos móviles y PDAs a las personas con discapacidad - http://www.codefactory.es/es
Spanish Adaptation of SAMPA and automatic phonetic transcription – Joaquin Llisterri – Universidad Autónoma de Barcelona – 1993.
Yaiza Martínez (2008): Tendencias de la Telecomunicación. En Revista Tendencias21- martes 03 Junio 2008. Buenos Aires
http://www.tendencias21.net/Convierten-el-telefono-movil-en-un-lector-para-invidentes_a2072.html
Symbian OS - http://www.symbianone.com/content/view/4663/121/
Servicios Web con Netbeans 6.0. http://www.netbeans.org/kb/60/websvc/.
Java a Tope – Java 2 Micro Edition – Sergio Galvez Rojas – Lucas Ortega Díaz – Universidad de Málaga.
How Do I… Netbeans Community. http://www.netbeans.org/community/index.html
Página 71 de 72
Rodrigo H. Elhaibe - 1330 0081
Localización Móvil asistida por Voz - Trabajo de Diploma
Universidad de Morón – Facultad de Informática
MySql Documentation. http://dev.mysql.com/doc/
The Mbrola Project – Mbrola Team – 1996 – 2006.
Venezuelan Spanish – TTS in Perl – Manuel Rodriguez and Alistair Conkie – Universidad de Caracas - 2004
Diseño y creación de un corpus oral para su aplicación en el modelo de síntesis de voz Mbrola – Pérez Martinez, Alberto – Vicente Cabeza,
Oliver – Universidad de Valladolid – 2002.
Google Maps Api - code.google.com/apis/maps – Google.
JSR 179: Location API for J2ME – Java Comunity Process – Final Release 2
ActiveState – The Dynamic Languages Company - www.activestate.com/activeperl
Apache Tomcat 5.5 – The Apache Software Foundation - www.apache.org
Harvesine Formula – Wikipedia - en.wikipedia.org/wiki/Haversine_formula
Accesibilidad: hacia el desarrollo inclusivo - Nixa Espínola B. - Consultora de Amable.
www.capire.info/2007/12/01/accesibilidad-hacia-el-desarrollo-inclusivo/
Página 72 de 72
Rodrigo H. Elhaibe - 1330 0081
Descargar