1
1
1
Figura 13: Formato audio mp3
Pasos del Algoritmo de Compresin
Se emplean filtros de convolucin para dividir la seal de audio (por
ejemplo sonido a 48 kHz) dentro de subbandas de frecuencias que
se aproximen a las 32 bandas crticas: filtrado de subbanda.
Se determina la cantidad de ocultacin de cada banda originada por
la banda prxima empleando el modelo psicoacstico.
Si la energa en una banda es menor al umbral de ocultacin, esta no
se codificar.
38
De otra manera se determina el nmero de bits que se necesitan
para representar el coeficiente tal que el ruido introducido por
cuantificacin sea menor que el efecto de la ocultacin (1 bit de
cuantificacin introduce cerca de 6 dB de ruido).
Finalmente el formato de la trama de bits.
BITS ASIGNADOS SALIDA
OCULTACION
CALCULADA
FORMATO DE LA
TRAMA DE BITS
FILTRO EN BANDAS
CRITICAS
ENTRADA
Figura 14: Formato de tramas de archivos mp3
Parmetros de los archivos MP3:
1. Bitrate: este parmetro es la velocidad de transferencia de datos
del archivo MP3 al decodificador. Una velocidad o "bitrate" de alta
calidad y que genera archivos MP3 relativamente pequeos, es de
"128 KBPS" (KBPS = kilobits por segundo).
2. Sampling rate: tambin llamado "velocidad de muestreo" es la
velocidad con la que el decodificador enviar la seal reconstruda
al dispositivo de audio (tarjeta de sonido). La calidad de CD se
obtiene con "44.100 Hz 44.1 KHz". No confundir con el parmetro
"bitrate".
3. Canales: la cantidad de canales de la onda se refiere a que si es
Stereo (dos canales) o Mono (un canal).
La configuracin ms adecuada y comn para los archivos MP3 es:
128 Kbps - 44.100 Hz - 16 Bits Stereo
39
0
1000
2000
3000
4000
5000
6000
MIDI WAV MP3 VQF RA
Tipos de Formatos de Audio
Tamao de Archivos por cada Minuto
Kilobites
Figura 15: Tamao de archivos por cada minuto
40
2.2 GRABACIN Y REPRODUCCIN DE SONIDO
La voz humana puede ser grabada y reproducida por un computador
mediante un dispositivo denominado tarjeta de sonido. La grabacin se
realiza mediante un proceso denominado conversin Analgica a Digital,
mediante el cual se representa el sonido analgico como un conjunto de
nmeros de tipo entero de 8 16 bits denominados muestras. Las
muestras pueden ser almacenadas en memoria o en disco duro para ser
procesadas con algn fin particular o ser reproducidas de inmediato a
travs de la tarjeta de sonido y los parlantes del conjunto multimedia del
computador.
2.2.1 Arquitectura del Sistema
La reproduccin y grabacin del audio se la realiza mediante dispositivos
perifricos (micrfono y parlantes) y componentes internos (tarjeta de
sonido y procesador) que posee el computador.
Los pasos para poder grabar es activar la tarjeta de sonido mediante el
software, luego emitir la seal de voz mediante el micrfono, esta a su
vez es grabada y lista para ser reproducida.
Figura 16: Arquitectura del sistema de grabacin y reproduccin de audio
41
2.2.2 Grabacin de los Archivos de Sonido
La grabacin de los archivos de sonido, es la primera fase en la
operacin de este sistema, su finalidad es grabar dentro de un directorio,
las palabras como archivos de sonido.
Los archivos sern previamente guardados en un formato estndar que
es el: WAV (Waveform). El formato WAV es un formato bsico que
almacena la onda de la forma de la onda de la seal entrante. Los
archivos WAV son en general muy grandes; sin embargo este formato
permite variar la calidad del sonido para lograr archivos ms pequeos.
Es ampliamente estandarizado al ser el formato nativo de Windows.
Figura 17: Grabacin de archivos de sonido
42
2.3 GENERACIN Y ANLISIS DE LA SEAL DE VOZ
2.3.1 Definicin de Seal Digital
Una seal digital es una representacin en cdigo binario de una seal
acstica. Esta representacin posibilita la realizacin de diversos procesos
sobre ella y, a la vez, almacenarla en la memoria de un dispositivo digital.
Al conjunto de procedimientos para el procesamiento de la seal digital se
lo suele denominar DSP (Digital Signal Processing). Las seales digitales
pueden obtenerse mediante procedimientos especficos (Sntesis Digital),
o bien transformando una seal acstica o una seal analgica en una
seal digital.
2.3.2 Caractersticas de una onda sencilla
La forma de onda del diapasn es la ms sencilla de las formas de onda,
denominada onda Sinusoidal.
La frecuencia de sonido se mide en unidades denominadas Hertzios (Hz).
Un sonido que vibra una vez por segundo tiene una frecuencia de 1 Hz.
Las frecuencias se escriben normalmente en kilohertzios (kHz), unidad
que representa 1.000 Hz.
Un micrfono incorporado en la tarjeta de sonido se comporta de manera
similar que un odo en una persona. Ambos transforman pequeas
variaciones en la presin del aire en seal elctrica que puede ser
comprendida y almacenada por sus respectivos "cerebros" (ya sea el
humano o la CPU de la computadora).
43
Esta seal elctrica puede ya ser guardada, manipulada o reproducida
mediante los medios electrnicos adecuados.
Es decir el sistema funcionara fundamentalmente con el anlisis de las
formas de onda, denominada onda Sinusoidal producida por la Seal de
Voz de una persona en este caso el sistema esta orientado hacia los
nios que tiene deficiencia en el arte de la pronunciacin.
A continuacin se muestra en el siguiente grfico una forma de onda
emitida por la voz de una nia previamente digitalizada es decir grabada
mediante el computador como archivo WAV.
Figura 18: Forma de Onda del Sonido
Ampliacin al 200% Ampliacin al 400%
Figuras 19: Ampliacin de la Forma de Onda
44
2.3.3 La Seal de Voz
En este sistema de prctica de pronunciacin del lenguaje tienen por
objetivo distinguir la seal de voz a partir de sus caractersticas
diferencindolas mediante el anlisis y tratamiento de la seal de voz. El
estudio de las seales de voz incluye la anatoma humana ya que de ah
es donde proviene nuestra fuente de nuestro propsito que es la voz
humana. Aunque el no es objetivo de esta tesis estudiar la anatoma
humana, se introduce brevemente ciertos conceptos fundamentales.
2.3.4 Caractersticas de la Seal de Voz
La seal de voz es una seal que a largo plazo (en el orden de segundos)
debe ser considerada no estacionaria, puesto que sus caractersticas
temporales se ven sometidas a constantes fluctuaciones.
No estacionaria quiere decir que la voz no debe ser almacenada por largo
tiempo ya que la voz con el transcurso del tiempo sufre continuos cambios
y si se trata con nios con mayor razn va ha modificarse. Por lo tanto en
la seal de voz cambiaran sus caractersticas y ser muy difcil controlar
sus cambios de estado. Para lo cual lo recomendable ser actualizar
continuamente los archivos de sonido almacenados, pero ya que el
sistema esta orientado hacia nios de cierta edad este efecto de transicin
afectara con un menor porcentaje de error en la comparacin de la forma
de onda nueva con la del sistema.
En el siguiente grafico se muestra un fragmento de voz de 3 segundos y
que representa la palabra corazn.
45
Figura 20: Fragmento de voz de 3 segundos: Amplitud respecto al tiempo
2.3.5 Naturaleza de la Seal de Voz
La seal de voz es producida por un flujo de aire precedente de los
pulmones que atraviesa el conjunto de cavidades y obstculos existentes
en el canal que forman sus estructuras que se encuentran entre la glotis y
los orificios corporales de intercambio de aire con le medio (boca y
orificios de la nariz). Este canal se conoce como tracto vocal.
En la siguiente grafico se muestra una seccin sagital del tracto vocal. En
ella se pueden distinguir varias partes fundamentales:
Figura 21: Partes del Tracto Vocal
46
La trquea, conducto que une los pulmones con las cuerdas
vocales.
Las cuerdas vocales, responsables mediante su propia vibracin de
la produccin del sonido y ubicadas en la laringe.
El velo del paladar, vlvula que regula el acceso de aire al tracto
nasal.
El tracto oral, comprendido entre el velo del paladar y los labios.
El mecanismo de produccin de voz es el siguiente: en los pulmones se
causa una variacin de presin que provoca que se emane una corriente
de aire. Esta corriente atravesar la laringe y har vibrar las cuerdas
vocales, produciendo una onda acstica (excitacin) que se propagar a
travs de todo el tracto vocal. Las caractersticas finales de la voz
dependern de la velocidad de la vibracin de las cuerdas vocales,
ubicadas en la laringe, tienen una doble funcionalidad:
En los sonidos sonoros, las cuerdas vocales se hallan en tensin y
vibran cuando las atraviesa el flujo de aire proveniente de los
pulmones.
En los sonidos sordos, las cuerdas vocales estn en relajacin, y el
flujo de aire las atraviesa libremente. El sonido se produce por las
turbulencias de aire generadas en las constricciones del tracto
vocal.
Desde el punto de vista acstico, el tracto oral se puede asemejar a una
serie de cavidades y obstculos que conforman un canal acstico que es
excitado por una fuente, en nuestro caso los pulmones. Entre las
cavidades que se pueden distinguir se encuentran:
47
La cavidad farngea, ubicada entre las cuerdas vocales y el velo del
paladar.
La cavidad oral, correspondiente al tracto oral.
La cavidad nasal, correspondiente al tracto nasal.
Los obstculos principales que alterarn la onda acstica a travs del
tracto vocal son:
El velo del paladar, que regular el acceso a la cavidad nasal.
La lengua, que acondicionar la morfologa de la cavidad oral.
Los labios, que regularn la salida de aire a travs de la cavidad
oral.
Teniendo en cuenta todos los elementos, se puede establecer un modelo
acstico de tracto vocal como el que se muestra a continuacin:
3
Figura 22: Modelo acstico de tracto vocal
Los rasgos particulares de la seal de voz producida dependern, por tanto de
las caractersticas de los elementos que definen el filtro acstico del tracto
vocal (dimensiones, humedad, textura, etc.), que son claramente diferentes
para cada individuo particular.
3
Tecnologas Biomtricas Aplicadas a la Seguridad
48
2.4 SISTEMA DE COMPARACIN AUTOMTICO
Las caractersticas de la seal de voz juegan un papel muy importante en este
tema, dentro del objetivo de la tesis es tener un resultado sobre como el nio
pronuncia las palabras, es por tal razn que el medio para la cual el problema
es resuelto son las referencias de la seal de voz.
2.5.1 Principio de funcionamiento
El sistema trabaja de dos formas que ha continuacin se va ha describir:
1. Modo de funcionamiento o servicio. Esta es la fase de utilizacin del
sistema, y en la cual a partir de seales de voz el sistema tomar
decisiones acerca de la pronunciacin del nio.
2. Modo de actualizacin. Durante la vida til del sistema, ste deber
ser capaz de incorporar nuevas palabras, eliminar palabras, y
opcionalmente actualizar o mejorar modelos.
Hay que recalcar que este sistema no tiene un Modo de entrenamiento ya
que por su estructura y definicin de su objetivo, no necesita entrenarse
por que cuando esta en marcha el sistema, la comparacin de patrones se
la realiza con los patrones obtenidos en ese instante.
Se puede observar en el siguiente diagrama de bloques del sistema de
pronunciacin mediante voz en modo de funcionamiento o servicio. Tal
como vemos, el sistema parte de una grabacin de voz (la palabra a ser
asimilada) procedente del nio/a practicando su pronunciacin. En primer
lugar, ser la tarea del sistema la conversin de la seal de voz en una
serie de valores binarios, este cdigo binario representa las caractersticas
de la seal de voz que se extraen de forma eficiente la informacin al
generarse la forma de onda de la voz previamente grabada.
49
El sistema captura las caractersticas de la seal de voz del nio, estas
caractersticas se denominan patrones o referencias correspondientes al
sonido de la palabra en ejecucin ya sea de la palabra que se debe
asimilarse y de la palabra recin pronunciada por el nio. Estos patrones o
modelos son obtenidos al momento que se grafica la forma de onda, es
decir cada vez que se lee un archivo de sonido correspondiente a la
palabra. Estos patrones son almacenados en el disco duro temporalmente
en archivos de texto y se actualizan los datos cuando se lee un nuevo
archivo.
Una vez obtenidos las caractersticas (patrones) correspondientes a la
seal de voz de entrada, y teniendo disponibles las seales de voz
(sonidos guardados en un directorio) correspondientes a la palabra a ser
asimilada, el sistema dispone de un mtodo para obtener el parecido o
similitud entre las dos seales de voz. Este proceso es realizado en el
modulo de calculo de similitudes.
Figura 23: Diagrama de Bloques del Sistema de pronunciacin
Por ltimo, a partir de los valores de similitud obtenidos, el sistema deber
tomar una decisin acerca de la pronunciacin del nio que ha generado
la seal de voz de entrada. Es el modulo de toma de decisiones es el que
mayor atencin debe recibir por parte del practicante, ya que es la nica
salida observable por el usuario en este caso el nio.
50
2.5 COMPARACIN DE PATRONES
2.5.1 Introduccin
El objetivo del procesamiento e interpretacin de datos sensoriales es
lograr una descripcin concisa y representativa del universo observado.
La informacin de inters incluye nombres, caractersticas detalladas,
relacionamientos, modos de comportamiento, etc. que involucran a los
elementos del universo (objetos, fenmenos, conceptos).
Estos elementos se perciben como patrones y los procesos que llevan a
su comprensin son llamados procesos perceptuales.
La Comparacin de Patrones no es ms que realizar una bsqueda
sofisticada y las bsquedas son un problema fundamental que se
presenta siempre en cada aplicacin de computadora, con la evolucin de
la informacin y las tecnologas de comunicacin, los bancos de
informacin no estructurada han emergido. Los nuevos tipos tales como
texto libre, imgenes, audio y video tienen que ser consultados, y esto ya
no es posible para la informacin estructurada en llaves y registros, por
ser muy difcil estructurar este tipo de datos y por restringir de antemano el
tipo de consulta que se pueda realizar. Cuando es posible implementar
una estructura clsica, las nuevas aplicaciones se enfrentan a serios
problemas. He aqu la necesidad de contar con nuevos modelos de
bsqueda en bancos de informacin no estructurados, como lo es la
bsqueda por proximidad.
Se da una breve introduccin de los diferentes algoritmos de clasificacin
supervisada tales como el anlisis discriminante, regresin lgica, rboles
de clasificacin, knn, redes neuronales y redes Bayesianas, as como
tambin los criterios de evaluacin.
51
Para evaluar la eficiencia de un algoritmo es importante considerar los
siguientes aspectos: la tasa de error, la rapidez en clasificar, la
interpretabilidad y la simplicidad del modelo.
Este trabajo se refiere a la Comparacin de Patrones de Voz
(Comparacin de las Formas de Onda) para lo cual se presenta una
solucin al problema utilizando el algoritmo K-NN (K-Nearest Neighbors)
los vecinos ms cercanos .
La aproximacin a la Comparacin de Patrones de Voz que se adopte es
tambin el estudio de las teoras y tcnicas de comparacin
implementables en este sistema en cuanto las fuentes provenientes son
las Matemticas, la Estadstica y aproximaciones algortmicas a la
resolucin del problema.
Este mtodo no paramtrico y supervisado, al que se conoce con el
nombre de los k vecinos ms prximos, ampliamente usado, es muy
popular debido a su sencillez y a cierto nmero de propiedades
estadsticas bien conocidas que le proporcionan un buen comportamiento
para afrontar diversos tipos de problemas de clasificacin, siendo uno de
ellos y el que se va ha solucionar es la Comparacin de Patrones de Voz.
Bsicamente el mtodo funciona de la siguiente forma: dado un conjunto
de objetos prototipo de los que ya se conoce su clase (es decir, dado un
conjunto de caracteres de muestra) y dado un nuevo objeto cuya clase no
se conoce (imagen de un carcter a reconocer) se busca entre el conjunto
de prototipos los k ms parecidos al nuevo objeto. A este se le asigna la
clase ms numerosa entre los k objetos prototipo seleccionados.
52
2.5.2 Clasificadores K-NN
La idea bsica sobre la que se fundamenta este mtodo es que un nuevo
caso se va a clasificar en la clase ms frecuente a la que pertenecen sus
K vecinos ms cercanos. El mtodo se fundamenta por tanto en una idea
muy simple e intuitiva, lo que unido a su fcil implementacin hace que
sea un mtodo clasificatorio muy extendido.
Despus de introducir el algoritmo K-NN bsico y presentar algunas
variantes del mismo, en este tema se estudian mtodos para la seleccin
de prototipos.
En el contexto de aprendizaje automtico, se entiende por clasificacin,
uno de los dos casos siguientes:
1. A partir de una serie de observaciones, clasificar consiste en
establecer la existencia de clases o grupos en los datos
(aprendizaje no supervisado).
2. Sabiendo la existencia de ciertas clases, clasificar consiste en
establecer una regla para ubicar nuevas observaciones en alguna
de las clases existentes (aprendizaje supervisado).
53
2.5.3 El algoritmo K-NN bsico
Un algoritmo es una secuencia ordenada de pasos libre de ambigedad,
que lleva a la solucin de un problema dado en un tiempo finito.
[Granizo, 2000]
D X
1
X
j
X
n
C
(x
1
,c
1
) 1 x
11
x
1j
x
1n
c
1
: : : : :
(x
i
,c
i
) i x
i1
x
ij
x
in
c
i
: : : : :
(x
N
,c
N
) N x
N1
x
Nj
x
Nn
c
N
x N + 1 x
N+1,1
x
N+1,j
x
N+1,n
?
Notacin para el paradigma K-NN
Notacin que se utiliza:
D indica un fichero de N casos, cada uno de los cuales esta
caracterizado por n variables predictoras, X1, . . . ,Xn y una variable a
predecir, la clase C.
Los N casos se denotan por:
( ) ( )
N N
C X C X , ,..., ,
1 1
donde
( )
n i i i
x x X
, 1 ,
... = para todo N i ,..., 1 =
} ,..., {
1 m
i
c c c para todo N i ,..., 1 =
c
1
, . . . , c
m
denotan los m posibles valores de la variable clase C.
El nuevo caso que se pretende clasificar se denota por ( )
n
x x X ...
1
= .
54
2.5.4 Pseudos-cdigo
Es el lenguaje de programacin del algoritmo, el cual resulta muy
adecuado desde todo punto de vista, ya que muestra tanto la lgica, la
estructura de los algoritmos, la naturaleza de los datos, y es fcil de leer e
interpretar.
[Granizo, 2000]
Pseudos-cdigo para el clasificador K-NN bsico. Tal y como puede
observarse en el mismo, se calculan las distancias de todos los casos ya
clasificados al nuevo caso, x, que se pretende clasificar. Una vez
seleccionados los K casos ya clasificados,
k
x
D ms cercanos al nuevo
caso, x, a ste se le asignar la clase (valor de la variable C) ms
frecuente de entre los K objetos,
k
x
D .
COMIENZO
Entrada: ( ) ( )} , ,..., , {
1 1 N N
c X c X D =
( )
n
x x X ,...,
1
= nuevo caso a clasificar
PARA todo objeto ya clasificado ( )
i i
c x ,
calcular ( ) x x d d
i i
, =
Ordenar ( ) N i d
i
,..., 1 = en orden ascendente
Quedarnos con los K casos
K
x
D ya clasificados ms cercanos a x
Asignar a x la clase ms frecuente en
K
x
D
FIN
55
2.5.5 Ejemplo de aplicacin del algoritmo K-NN bsico
En el siguiente grafico se ilustra como funciona el algoritmo: se tiene 24
casos ya clasificados en dos posibles valores (m = 2). Las variables
predictoras son X
1
y X
2
, y se ha seleccionado K = 3. De los 3 casos ya
clasificados que se encuentran ms cercanos al nuevo caso a clasificar, x
(representado por ), dos de ellos pertenecen a la clase , por tanto el
clasificador 3-NN predice la clase para el nuevo caso. Ntese que el
caso ms cercano a x pertenece a la clase +. Es decir, que si se hubiese
utilizado un clasificador 1-NN, x se hubiese asignado a +.
Figura 24: Patrones en un espacio bidimensional
4
4
http://www.sc.ehu.es/isg/
+
+
+
+
+
+
+
+
+
+
+
+
+
X
2
X
1
N = 21
n = 2
K = 3
m = 2
56
Conviene aclarar que el mtodo K-NN es un tanto distinto si se lo compara
con el resto de mtodos clasificatorios, ya que mientras que en el resto de
mtodos la clasificacin de un nuevo caso se lleva a cabo a partir de dos
tareas, como son la induccin del modelo clasificatorio y la posterior
deduccin (o aplicacin) sobre el nuevo caso, en el mtodo K-NN al no
existir modelo explcito, las dos tareas anteriores se encuentran
colapsadas en lo que se acostumbra a denominar transinduccin.
Una forma bsica de clasificar un caso es asignarle la misma clase que a
otro caso similar cuya clasificacin es conocida. Entre ellos destacan los
mtodos de clasificacin por el vecino ms cercano k-NN, donde k es
impar (no tiene sentido probar con valores pares de k porque el error
asociado a la regla k-NN es el mismo para 2x y 2x-1).
A la hora de construir clasificadores de este tipo han de resolverse
algunas cuestiones previas, entre las que destacan:
Cmo se realiza la clasificacin?
Se puede asignarle a un caso la clase del caso almacenado ms similar
(1-NN) o utilizar los grados de similaridad con distintos casos
almacenados a la hora de realizar la prediccin (como en el mtodo k-NN)
Qu casos deben almacenarse?
Lo ideal sera almacenar aquellos casos tpicos que recojan toda la
informacin relevante necesaria para poder realizar una buena
clasificacin. Almacenar todos los casos conocidos hara muy ineficiente
el funcionamiento del clasificador.
57
Los mtodos de edicin y condensado se utilizan para mejorar el
rendimiento de este tipo de clasificadores. Los mtodos de edicin (como
la edicin de Wilson o el Multiedit) intentan eliminar los patrones mal
etiquetados que puedan aparecer cerca de las fronteras de decisin. Por
su parte, los mtodos de condensado (como el algoritmo de Hart)
procuran reducir el nmero de muestras del conjunto de entrenamiento sin
que esto afecte a la calidad del clasificador construido.
Para reducir la complejidad computacional del problema se pueden
emplear mtodos de condensado o, simplemente, utilizar algoritmos
optimizados como el de Fukunaga y Narendra para la obtencin del
vecino ms cercano.
Cmo se mide la similaridad entre distintos casos?
Cuando los atributos son numricos, se suele calcular la similaridad entre
casos utilizando alguna mtrica de distancia (que es una medida de
disimilaridad), como la distancia eucldea o la distancia de Mahalanobis.
Por ejemplo, se puede utilizar la raz cuadrada de las suma de los
cuadrados de las diferencias de los valores de los atributos (usando
factores de escala para que la influencia de todos atributos sea similar).
Cuando los atributos son discretos, establecer una medida de similaridad
es bastante ms problemtico.
Adems, si hay atributos irrelevantes, se corre el riesgo de considerar muy
diferentes casos que slo difieren en los valores que toman atributos
irrelevantes para la clasificacin.
58
2.5.6 Conclusin
El mtodo KNN (k vecinos ms cercanos) presenta muchas caractersticas
que lo hacen un mtodo sumamente eficiente para manejar datos. Sin
embargo, algunos problemas como el tiempo que toma realizar la
clasificacin o el elegir caractersticas que son poco relevantes, pueden
llevar a una clasificacin poco fiable, a esto se le denomina la maldicin
de la dimensionalidad, sin embargo existen mtodos que ayudan a
reducir el problema de la dimensionalidad. A pesar de esto el mtodo ha
probado ser de gran utilidad y precisin por lo que su uso en aplicaciones
con no demasiadas instancias es considerado como uno de los mejores,
adems claro, que es muy fcil de implementar.
5
El algoritmo del vecino ms prximo (Nearest Neighbour, NN) es uno de
los ms sencillos de implementar. La idea bsica es como sigue: si
calculamos la similitud entre patrones y notamos que son parecidos nos
estar indicando la categora porcentaje de acierto que debemos
asignar.
5
http://www.angelfire.com/ia3/angel82
59
2.6 ARQUITECTURA DEL FUNCIONAMIENTO DEL ALGORITMO
El algoritmo propuesto anteriormente es el encargado de solucionar el
problema de la comparacin de patrones, para lo cual se parte del concepto
bsico de lo que es un patrn.
Patrn
Es una entidad a la que se le puede dar un nombre y que esta representada
por un conjunto de propiedades medidas y las que tiene relacin entre ellas,
en este sistema tambin se ha denominado como las caractersticas de la
seal de voz.
Estas caractersticas se puede obtenerlas cuando se grafica la onda de voz
y se plasma en el grafico representativo, al momento que la clase lee un
archivo de audio (wav) entra en accin la captura de estos patrones o
caractersticas que diferencian una palabra de otra y su integridad es nica.
La captura de estos patrones se puede observar en el siguiente grfico:
Figura 25: Captura de los patrones
60
Los patrones capturados de la seal de voz son puntos que se generan al
momento de que la clase lee el archivo de audio y esta empieza a graficar
la onda, los puntos que captura para su posterior comparacin son ceros y
unos y son almacenados en un archivo de texto.
Estos puntos son capturados solo cuando la onda empieza a graficarse, la
onda empieza en un punto cero sube y topa el punto uno, segn la trama
que se dibuje va capturando cada vez que tope el punto cero y el punto
uno y se va almacenando de forma automtica en el archivo de texto, se
realizo varias pruebas y se ha llegado a la conclusin que esta es la forma
mas eficiente para representar la palabra con dichos puntos. Ya que si
capturamos mas puntos por ejemplo cuando tope el punto dos es decir el
punto superior de la onda no va ha ser tan eficiente ya que existen
pronunciaciones con mayor o menor acento de voz y los patrones serian
innecesarios.
Figura 26: Patrones seleccionados ha ser capturados
61
Vale la pena destacar un proceso importante, la recoleccin de estos
puntos o datos comienza cuando la forma de onda empieza a graficarse,
mientras exista sonidos vacos, no los captura ya que siempre en una
forma de onda existe ruido (a menos que esta sea editada) y al generarse
el ruido no existiran valores a capturar, pero el ruido en este caso existe
ya que en el ambiente se generan vibraciones de aire, el mismo ruido que
genera el computador y el limitado tiempo que nos da el sistema para
poder grabar la voz, esto produce el ruido y los sonidos vacos.
Los sonidos vacos son inevitables porque hay un lapso de tiempo
predeterminado para grabar la seal de voz (pronunciacin) y no siempre
la pronunciacin va abarcar toda la trama, por tal razn existen espacios
vacos que no generan ningn sonido y el sistema no se puede editarlos
para omitirlos.
Figura 27: Forma de onda con sonidos vacos (ruido)
Para poder realizar la comparacin de patrones se debe guardar los
archivos de audio, la forma como se guardan estos archivos es
automtica en directorios predeterminados y sin mayor trabajo para el
usuario. Esto facilita el trabajo para ser recuperados y reproducidos
cuando se lo desee y al mismo tiempo adquirir los patrones para su
posterior comparacin. En el siguiente grafico se visualiza como se
almacenan los archivos de audio administrados por el sistema.
62
Figura 28: Almacenamiento de archivos de sonido
En el siguiente diagrama se da ha conocer como trabaja en su forma
bsica el sistema de comparacin de patrones, previo su obtencin de los
datos de entrada que son los patrones y estos a su vez que se obtiene de
la seal de voz grabada y especificada en el grafico anterior.
El primer paso es obtener los datos de entrada que son las caractersticas
de ambas seales de voz (patrones), para luego procesar estos datos
aplicando el algoritmo KNN y de esta manera obtener el mayor nmero de
similitudes que tiene las ondas a compararse, finalmente se tiene como
resultado los datos de salida que es la aceptacin o negacin de la
pronunciacin de dicha palabra.
Datos de
Entrada
Sistema de
Comparacin de
Patrones
Datos de
Salida
Figura 29: Diagrama de un sistema de comparacin de patrones
63
A continuacin se ve de forma detallada todo el proceso que se realiza
para la comparacin de patrones y la obtencin del resultado esperado.
El primer paso es generar la forma de onda del archivo de audio palabra
pronunciada que viene a ser lo mismo, al mismo tiempo que se genera
dicha forma de onda se leen los puntos ms relevantes de la grafica con
que se dibuja la forma de onda, una vez capturados todos estos puntos en
un archivo de texto se procede a aplicar el algoritmo KNN y este se
encargara de hacer la comparacin entre los patrones de ambas ondas y
obtener al mismo tiempo el grado de similitud entre la ondas apreciadas,
para que a su vez esta sea traducida a una respuesta que entienda el
usuario. Tal es el caso en el desarrollo de la aplicacin se ha
implementado una barra visual de progreso que nos dota del porcentaje
del acierto que ha tenido el nio al pronunciar la misma palabra y adems
del porcentaje que nos indica que se ha interactuado con el agente
animado, quien nos confirma la respuesta de la comparacin con respecto
a la pronunciacin.
Ejemplo explicativo de como se leen los puntos ms relevantes de la
forma de onda?
Ruido Ruido
Valores que pasan
por valor (1) y (0)
1
0 0 0
1 1 1 1
0 1 1 1 1 0 0 1 1 0
1
0
Patrn Generado
Puntos ms relevantes
Puntos ms relevantes
Figura 30: Ejemplo de los puntos que forman el patrn
64
Una vez capturados los puntos relevantes en el archivo de texto y estos
puntos no son mas que un arreglo de nmeros binarios que representa las
caractersticas de la forma de onda y este a su vez representa el patrn a
ser comparado, como se muestra en el siguiente grafico.
Luego de obtener ambos archivos de texto, en el primero el patrn base y
en el segundo el patrn nuevo se procede aplicar el algoritmo KNN, este
se encargara de realizar l calculo del numero de similitudes entre los dos
patrones para as obtener un resultado final el cual nos indicara si la
pronunciacin es aceptable o es inaceptable.
Figura 31: Proceso de comparacin de patrones
El proceso que ejecuta el algoritmo KNN en la aplicacin, es realizar la
comparacin de patrones entre la seal de voz base (voz modelo), y la seal
de voz nueva, este sistema no incorpora ningn proceso de entrenamiento ya
que la aplicacin se ejecuta en tiempo real, es decir cada vez que graba la
pronunciacin los patrones cambian. La comparacin se realiza con los
arreglos de nmeros binarios de la siguiente forma: El objetivo es obtener el
mayor numero de similitud entre ambos patrones, entre mayor sea el nmero
total de similitudes mayor ser el porcentaje de acierto, para lo cual se compara
cada elemento del arreglo, si el primer elemento del arreglo es igual al
elemento a ser comparado, se suma una similitud al total de similitudes, si un
elemento del arreglo no es igual se resta al nmero total de similitudes.
65
CAPTULO 3: DESARROLLO
66
3.1 ANLISIS
3.1.1 Introduccin
3.1.1.1 Elementos de diseo en las aplicaciones multimedia
Las aplicaciones multimedia varan mucho en su organizacin,
desarrollo, contenido y complejidad.
Los elementos que definen una aplicacin multimedia interactiva son:
Contenido integrado por un mnimo de tres medios (texto, imagen,
sonido, vdeo).
Diseo que tiene en cuenta la visualizacin por el computador.
Alto nivel de interaccin entre el usuario y el entorno multimedia.
Las aplicaciones multimedia interactivas comparten con el resto de
documentos electrnicos una problemtica comn (adaptacin a los
requerimientos de la pantalla del computador, estructuracin de la
aplicacin...) pero su complejidad, basada en la diversidad de medios
que integran, comporta especificaciones de diseo propias.
Uno de los aspectos que marca la calidad de una aplicacin multimedia
es la presentacin grfica, que cubre desde el diseo de la interfaz de
usuario hasta todos y cada uno de los elementos visuales (imgenes,
animaciones y estructuras 3D).
67
En el diseo de las aplicaciones multimedia se presentan dos tipos de
problemas:
1. Informar y guiar al usuario a travs de un entorno complejo de
informaciones.
2. Crear una elocuencia visual adaptada a la pantalla del
computador.
Ambos problemas estn estrechamente relacionados con el diseo de
interfaces grficas de usuario para los sistemas informticos.
3.1.1.2 La interfaz de usuario
Por interfaz de usuario se entiende el conjunto de elementos que
permiten al usuario dialogar con una aplicacin interactiva. Estos
elementos incluyen tanto el hardware (teclado, ratn, pantalla) como el
diseo de las pantallas y la navegacin por el contenido.
El caso ms general de las interfaces de usuario son las interfaces
grficas de los entornos operativos (Windows puede ser el ejemplo ms
conocido). En estos entornos grficos se incluyen las llamadas
metforas de interaccin: imgenes de objetos conocidos por los
usuarios, utilizadas para dar sentido y funcionalidad a las acciones que
se puede hacer con el computador.
Adems de la interfaz general del computador, cada aplicacin
multimedia interactiva tiene una interfaz propia. En este caso la interfaz
esta determinada por el programa, es decir ya que la aplicacin esta
orientada a nios es muy colorida y generalizada con eventos clic, donde
se dispone de un mecanismo de navegacin para pasar de una actividad
a otra actividad.
68
El diseo de la interfaz y la organizacin de la informacin de una
aplicacin multimedia (tambin llamada arquitectura de la informacin)
son procesos que no se pueden separar. Lo ms frecuente es adaptar la
interfaz a la estructura del contenido, pero tambin se puede dar el caso
de que una interfaz creativa exija cambios en la organizacin de la
informacin inicialmente prevista.
Como disciplina, el diseo de interfaces se fundamenta en campos tan
diversos como la informtica, los medios audiovisuales, el diseo
industrial, la psicologa cognitiva, la ergonoma y las artes grficas.
El propsito de esta breve introduccin es nicamente el de presentar
una panormica de este mbito y de sensibilizarnos de su importancia.
3.1.1.3 Diseo de la aplicacin
El diseo grfico de la aplicacin multimedia se elabora a partir de los
elementos estandarizados de la interfaz de usuario como son los iconos,
los mens y otros elementos interactivos como las ventanas y los
botones. El primer objetivo fue el diseo grfico de las pantallas de la
aplicacin, establecer una estructura visual que organice los elementos
interactivos de forma coherente, de manera que la informacin
importante sea identificada inmediatamente y el resto de componentes
de la pantalla tenga una posicin subordinada.
El objetivo de esta aplicacin multimedia fue el diseo amigable para
que los usuarios (nios) no se limiten a consultar la informacin, si no la
exploran e interactan con ella de nuevas formas, sin precedentes en los
documentos en papel. La optimizacin del diseo de la interfaz,
pensando en cmo el usuario acceder a ella, es bsica para que el
usuario no tenga ningn tipo de complicacin con su manejo.
69
3.1.2 Metodologa de desarrollo de Software y/o Hardware
El desarrollo de la aplicacin se basa en el Modelo Espiral
3.1.2.1 Modelo Espiral
El modelo espiral, pretende optimizar los tiempos y reducir la
incertidumbre del proyecto, as, la idea es partir produciendo una
pequea parte del sistema (pero completamente funcional) y una vez
completada, se procede a crear una segunda parte, acoplada a la
primera, de manera de que en cada iteracin, se obtiene una versin
aumentada del sistema. El proceso concluye cuando se considera que el
sistema ha alcanzado un nivel de maduracin tal, que permite que el
trabajo para el que fue creado, sea realizado sin mayores
inconvenientes.
Anlisis
Diseo
Desarrollo
Evaluacin
Dentro del cuadro de tiempo se realiza algo de anlisis, un diseo breve
y luego, usando herramientas de desarrollo de alto poder, se construye
un prototipo funcional. El prototipo es revisado por los usuarios y se
solicitan modificaciones. El ciclo de codificacin y de refinacin del
prototipo se repite tres veces, yendo en espiral volviendo a analizar,
disear y evaluar. Al final del cuadro de tiempo se instala la aplicacin
resultante.
70
Figura 30: Modelo Espiral
3.1.2.2 Fases del Modelo Espiral
Anlisis de los Requerimientos del Software
En esta fase se establecen las funciones descritas para el software,
adems se debe obtener la informacin necesaria para desarrollar
estas funciones, la forma de recabarla es mediante la investigacin
en consultar a profesionales en el rea de trato con nios especiales.
Diseo
Para el diseo del Sistema, se utilizan las metodologas orientadas a
objetos. El diseo de la interfaz de usuario esta basada en la Interfaz
grfica de Windows para la comodidad y familiaridad de los usuarios.
71
Desarrollo
La aplicacin ser desarrollada en Visual Studio .Net
especficamente en C# y usando programacin Orientada a Objetos.
Evaluacin
La evaluacin o validacin es la etapa final. Su objetivo es, valga la
redundancia, validar los requerimientos, es decir, verificar todos los
requerimientos que aparecen en el documento especificado para
asegurarse que representan una descripcin, por lo menos,
aceptable del sistema que se debe implementar. Esto implica verificar
que los requerimientos sean consistentes y que estn completos.
La validacin representa un punto de control interno y externo;
interno, porque se debe verificar internamente lo que se est
haciendo, y externo, porque se debe validar con el usuario. Para ello
se requiere de estrategias de pruebas que son las siguientes:
- Prueba de Unidad
- Prueba de Integracin
- Prueba de Validacin
- Prueba de Sistema
Esta etapa puede confundirse con la de anlisis, pero la diferencia es clara:
mientras que en el anlisis se trabaja sobre el boceto del documento de
requerimientos, en la validacin se utiliza el documento final, lo que equivale a
decir, los requerimientos "depurados.
72
3.1.3 Lista de Requerimientos
La aplicacin debe ser netamente multimedia.
Se tendrn claves de acceso para el administrador.
La aplicacin debe relacionar tanto la imagen con el audio.
La aplicacin me permitir grabar la voz mediante micrfono.
La aplicacin debe tener ayudantes para poder facilitar la
navegacin por la aplicacin.
La aplicacin debe permitir agregar nuevas palabras, nuevas
imgenes y nuevos sonidos.
La aplicacin me permitir a parte de la prctica de la
pronunciacin de palabras, deber tener un ejercicio de Sntesis
de voz para que el nio practique de forma divertida.
73
3.2 DISEO
3.2.1 Justificacin Tecnolgica
3.2.1.1 Lenguaje de Desarrollo: Visual Studio .Net (C#)
El desarrollo de la aplicacin del presente proyecto se lo va a realizar
en C#, un lenguaje que en la actualidad esta en auge y es una de las
herramienta ms completas en el desarrollo de aplicaciones; algunas
caractersticas principales de C# y que se destacan por su relevancia
son:
Microsoft Visual C# .NET es un potente Lenguaje Orientado a
Objetos
Permite realizar aplicaciones ms robustas y fciles de
depurar
Es un lenguaje ms simplificado y uniforme.
El cdigo es reutilizable y fcil de leer.
3.2.1.2 Plataforma: Windows Advance Server 2000
Windows es el Sistema Operativo plataforma base sobre la cual se
va ha correr nuestra aplicacin, ya que esta es una plataforma
estable y segura para la cual los programas de diseo y construccin
corren perfectamente bajo este sin problemas.
74
Windows Advance Server 2000 es el Sistema Operativo de mayor
difusin en el mundo. Posee caractersticas esenciales tales como
ambiente grfico, multitarea, multiusuario entre otras. Su entorno es
muy amigable y no se requieren mayores conocimientos en materia
de informtica para interactuar con l.
3.2.1.3 Base de Datos: SQL Enterprise Edition
La Base de Datos en la que se va ha guardar nuestros registros y
archivos es SQL, cuya sigla corresponde a Structured Query
Language, es un lenguaje de consulta estructurado, un estndar que
permite acceder a las bases de datos relacionales, a fin de generar
cualquier tipo de consulta o reporte. Es muy sencillo, toda vez que en
pocas palabras se puede efectuar cualquier operacin sobre los
archivos que componen la base de datos (adicionar, eliminar,
modificar, consultar).
3.2.1.4 Modelamiento: Visio 2003
Es un paquete de modelado grfico que nos sirve para documentar y
disear diagramas, procesos y sistemas complejos, en este caso se
modelar la Base de Datos y se generar el script respectivo para la
creacin de la Base de Datos con SQL.
6
6
https://www.microsoft.com/latam
75
3.2.2 Modelado del Sistema
Se presenta a continuacin el modelado del sistema, basado en la
metodologa UML.
UML, o Lenguaje de Modelado Unificado, es una especificacin de
notacin orientada a objetos, el cual se compone de diferentes
diagramas, los cuales representan las diferentes etapas del desarrollo
del proyecto.
El sistema de acuerdo a su estructura y para el cumplimiento de los
objetivos propuestos, se compone de las siguientes etapas. Se han
usado varios diagramas, buscando mostrar su uso, mas en la prctica la
complejidad del proyecto a desarrollar nos dice cules diagramas usar.
Los diagramas que he visto conveniente mostrarles para una mejor
visin y con esto tener una mejor comprensin de cmo esta
estructurado son los siguientes:
Diagramas de Casos de Uso
Diagramas de Secuencia
76
3.2.1.1 Casos de Uso
Este diagrama representa la funcionalidad completa de una sistema (o
una clase), mostrando su interaccin con los agentes externos. Esta
representacin se hace a travs de las relaciones entre los actores
(agentes externos) y los casos de uso (acciones) dentro del sistema. Los
diagramas de Casos de Uso definen conjuntos de funcionalidades afines
que el sistema debe cumplir para satisfacer todos los requerimientos que
tiene a su cargo. Esos conjuntos de funcionalidades son representados
por los casos de uso. Se pueden visualizar como las funciones ms
importantes que la aplicacin puede realizar o como las opciones
presentes en el men de la aplicacin.
3.2.1.1.1 Practicando y Comparando Pronunciacin
Este diagrama de casos de uso presenta lo que el nio/a de realizar
para que su pronunciacin pueda ser medida o comparada, donde
deber utilizar la herramienta multimedia que le dota de la lectura,
audicin y visualizacin para poder pronunciar la palabra.
77
3.2.1.1.2 Agregar Nuevas Palabras e Imgenes
El diagrama muestra como el administrador puede agregar mas palabras
al diccionario ya que este es un sistema que fcilmente se puede editar,
actualizar y borrar las palabras, pero teniendo en claro que no cualquier
usuario puede realizar tal accin si no solo el administrador quien es el
que tiene todos los permisos y conoce mas a fondo sobre el sistema.
3.2.1.1.3 Agregar Nuevos Sonidos
El diagrama muestra como el administrador puede agregar mas
sonidos para relacionarlo con el diccionario ya que este es un sistema
que fcilmente se puede editar, actualizar y borrar los sonidos.
78
3.2.1.2 Diagramas de Secuencia
Son aquellos que muestran las interacciones de un usuario con el
sistema. Interaccin es una cadena de mensajes enviados entre los
objetos en respuesta a un evento generado por el usuario sobre la
aplicacin.
Los diagramas de interaccin pueden ser Diagramas de Secuencia y
Diagramas de Colaboracin. Estos diagramas conforman la etapa del
diseo de la aplicacin, y se crean a partir de los diagramas de Casos
de Uso y el Conceptual.
Los Diagramas de Secuencia representa una interaccin entre objetos
de manera secuencial en el tiempo. Muestra la participacin de objetos
en la interaccin entre sus lneas de vida, (desde que se instancias) y
los mensajes que ellos organizadamente intercambian en el tiempo. El
responsable o ACTOR es quien inicia el ciclo interactuando inicialmente
con la interfaz de usuario: GUI; en seguida se inician todos los objetos
que intervienen en el funcionamiento del aplicativo. En este diagrama se
comienza a observar el comportamiento del sistema a partir de los
eventos generados por los actores. Aqu se interacta con instancias, no
con clases.
79
3.2.1.2.1 Ingreso al sistema
En este diagrama se muestra como el nio/a ingresa por primera vez al
sistema utilizando como medio de de visualizacin la pantalla o monitor
del computador y para navegar por el sistema e iniciar el sistema el
Mouse y teclado asi como para acceder a los dems vnculos que
conforman todo el sistema, como se muestra en el diagrama el nio
visualiza la interfaz del programa y ya que la interfaz es interactiva tiene
que esperar unos segundos para que termine la presentacin y poder
seguir explorando el sistema.
Una vez terminada la presentacin el nio puede seleccionar cualquier
camino que mas le interese en el grafico ilustrado muestra a nivel
general que el nio puede elegir cualquier opcin.
80
3.2.1.2.2 Practicar pronunciacin
Nio/Nia GUI Servidor BDD
Despliega pantalla
Realiza peticin
actualizar datos
Visualiza pantalla Muestra datos
Ingresar al sistema
Sistema
Practicar pronunciacin Solicita datos
Muestra pantalla - datos
Realiza peticin
Visualiza pantalla Muestra pantalla
En este diagrama se muestra como el nio una vez ingresado al
sistema entra en el ejercicio de practicar su pronunciacin, y en esta
pantalla tambin antes de empezar a realizar cualquier accin, se tiene
la presencia de un ayudante que le guiara y explicara como funciona y
para que sirve cada elemento que constituye dicha pantalla, como se
observa esta pantalla tiene una vinculacin con la base de datos para
poder ejecutarse, claro esta que estos datos o imgenes son
amigables para el nio y el no se preocupa que esta realizando tal
accin ya que el acceso tiene una respuesta rpida.
81
3.2.1.2.3 Jugar escribiendo y repitiendo
Como se haba observado en el anterior grfico tienen una
particularidad ya que son las dos pantallas de ejercicio para el nio
que practica su pronunciacin, con la diferencia que en esta pantalla el
nio se entrena de una forma divertida y como su nombre lo dice
escribiendo y repitiendo con la ayuda del agente y su complemento
que es el sintetizador de voz del propio agente.
82
3.2.1.2.4 Actualizar datos
Administrador Servidor BDD Nio/Nia
validar clave de acceso
mensaje de respuesta
ingresar palabra e imagen
actualizar datos
confirmacin actualizacin datos
mostrar resultados
solicitar datos
Ingresar clave de acceso
En este diagrama se describe una de las principales funcionalidades
que todo sistema debe tener y es la de actualizacin de datos por
parte del usuario encargado en este caso es el administrador.
Aqu juega un papel muy importante la base de datos ya que es ella
quien nos provee de los datos requeridos y en la que se
puedemodificar a nuestro antojo pero siempre siguiendo la lnea y su
estructura para el propsito que fue construida.
83
Como se observa el administrador es el que realiza los cambios para
luego poder ser mostrados al usuario, y eso lo consigue manipulando
la base de datos.
Hay que recalcar que con la ayuda del software el trabajo se lo torna
mas fcil, como la base de datos se vuelve nuestro diccionario de
palabras es fcil editar, agregar y borrar palabras pero siempre
siguiendo los pasos que el sistema indica gracias a su sencillez y
robustez fue ideado para total manejo tal es el caso de que pasa si yo
quiero ingresar una palabra que no sabia que exista en el diccionario
pero el ya no me permite agregarla porque me indica que ya existe,
cosas as hacen que este sistema sea eficiente y fcil de manejar.
La palabras y las imgenes se actualizan de esta forma con el
software y las pantallas del administrador pero cual es el caso que con
los sonidos no sucede eso, claro esta que con cierta pantalla para
agregar nueva palabra y nuevo sonido se puede lograr, pero cuando
se quiere editar o borrar un sonido no se puede hacer as de fcil, se
debe tener un conocimiento mas avanzado para lograrlo sin embargo
todo se puede hacer y en todo lo he pensado, para editar o borrar lo
que hay que hacer es grabar uno nuevo si quieres editar y si quieres
borrar se lo puede hacer manualmente pero siempre conociendo el
directorio predeterminado donde se almacenan los sonidos.
84
3.2.3 Estructura de Datos
La mayor parte de los conceptos actuales sobre estructuracin de la
informacin provienen de las soluciones adoptadas en los documentos
impresos: libros, revistas, folletos... as como de los recursos
bibliotecarios para localizar y acceder a los documentos (catlogos,
codificacin decimal, etc.). La "interfaz libro" es un estndar establecido
a lo largo de los ltimos 500 aos. Cada elemento del libro, desde el
ndice hasta las notas a pie de pgina, ha evolucionado a lo largo de los
siglos, no obstante pasaron todava ms de cien aos hasta que no
aparecieron libros con las pginas numeradas, ndices y ttulos.
Se puede distinguir diversas modalidades de organizar la informacin en
una aplicacin multimedia, a pesar de que a menudo coexisten dentro
de una misma aplicacin ms de un tipo de estructura. Las tres
principales son:
Estructura lineal o secuencial.
Estructura jerrquica.
Estructura hipermedia.
3.1.1.1 Estructura lineal o secuencial
Esta modalidad de organizacin de la informacin es anloga a las
publicaciones impresas: las pantallas se suceden de una a otra como las
pginas de un libro.
85
Figura 31: Estructura lineal
Ejemplos: conjunto de transparencias consecutivas en una presentacin
Powerpoint, actividades dentro de un paquete de Clic.
Los documentos electrnicos permiten variantes de las secuencias
lineales, como es el caso de los saltos condicionales que se puede
establecer encadenando paquetes de actividades Clic.
3.1.1.2 Estructura jerrquica
Como en las organizaciones humanas, donde el organigrama representa
la estructura jerrquica, los documentos impresos o en soporte
informtico se pueden organizar siguiendo una determinada jerarqua
conceptual.
Los captulos de un libro, las secciones de un documento, responden a
la necesidad de estructurar el discurso. Esta estructura es fcilmente
transportable a los documentos electrnicos y frecuentemente se
combina con secuencias lineales.
86
Figura 32: Estructura jerrquica
Ejemplo: La misma informacin guardada en la Base de Datos de la
Aplicacin.
3.1.1.3 Estructura hipermedia
Organizacin de la informacin en red, fundamentada en el concepto de
hipertexto. Algunos tericos de la comunicacin imaginaron los
documentos hipertextuales a mediados de este siglo, pero sus ideas no
se pudieron materializar hasta la dcada de los 80, cuando los
computadores alcanzaron suficiente capacidad de proceso para poder
almacenar y visualizar esta modalidad de documentos electrnicos.
Los documentos hipermedia han evolucionado hasta consolidar las
estructuras de organizacin y de consulta de la informacin ms
adaptadas a las nuevas funcionalidades que ofrecen los soportes
informticos. Los lectores de los actuales hiperdocumentos se
encuentran ante problemas de organizacin del contenido semejantes a
los lectores de los primeros libros impresos.
87
El problema de los documentos en red, cuando no estn bien
construidos, es que pueden desorientar al usuario y hacer que se
extrave en el "hiperespacio".
Las estructuras en red se basan en los enlaces (links) entre los diversos
elementos de una publicacin electrnica:
texto - texto
texto - grfico
grfico - texto
texto audio
texto vdeo
Figura 33: Estructura en red
Ejemplo: Ayudas de Windows, World Wide Web (WWW).
88
3.2.4 Diagrama de Estructura de Datos
El siguiente grafico muestra como estn estructurados los datos que se
utilizan en la aplicacin:
Claramente se especifica de donde se recuperan los datos:
1. Las imgenes se encuentran almacenadas en una Base de
Datos, estas imgenes pueden ser en formato jpg gif. (Excepto
gifs animados).
2. Los archivos de audio se encuentran almacenados en un
directorio especfico donde por cuestiones de acceso y edicin
hacen fcil su reproduccin.
3. La palabra juega un papel muy importante porque es la
encargada de relacionar la Imagen con el Sonido.
Figura 34: Diagrama de Estructura de Datos
89
3.2.5 Estructura del Programa
La aplicacin en general tiene una estructura jerrquica a la que puede
acceder el nio o la persona asignada como administrador previo su
validacin de seguridad.
Para acceder a cualquiera de las aplicacin que conforman el todo, esta
generalizado con el evento Clic y definiendo cada acceso con su mas
representativa imagen del botn para su mayor facilidad y exploracin.
Tomando en cuenta que la aplicacin es diseada para nios/as.
La mayora de las aplicaciones se ejecutan desde un servidor corriendo
bajo SQL Server y una plataforma de 32 bits superior a Windows 95.
Es indispensable que el servidor este corriendo por que de lo contrario el
programa no se ejecutara, ya que en la Base de Datos esta almacenada
la mayora de la informacin utilizada por las aplicaciones.
Figura 35: Estructura del programa
90
3.2.3.1 Descripcin general
La aplicacin como todo software tiene su propio nombre original que
por su funcionalidad se lo ha llamado Mi Amigo el Lenguaje es una
aplicacin de aprendizaje para nios de concepcin absolutamente
nueva. Se basa en una verdadera prctica oral entre el nio y el
computador mediante la pronunciacin del lenguaje.
Esta forma de aprendizaje nica y viva se ha hecho posible gracias al
uso de las tecnologas ms avanzadas en el tratamiento de la palabra.
El objetivo principal de Mi amigo el Lenguaje permite mejorar la
expresin oral en la lengua espaol. Con este sistema es posible
practicar pronunciando diversas palabras: Mi amigo el Lenguaje analiza
la voz y punta globalmente, ayudando al nio a progresar con su fluidez
de pronunciacin.
Pero eso no es todo. La aplicacin le ofrece un ejercicio para que el nio
pueda practicar su pronunciacin en una forma muy divertida y con la
ayuda de Agentes Animados en 3D para su mayor entendimiento. En
cuanto haya adquirido una pronunciacin medianamente correcta el nio
puede escribir frases, y se dar cuenta muy pronto de que la practica se
har de forma absolutamente real y dinmica.
91
3.2.3.2 Metodologa
Mi Amigo el Lenguaje puede utilizarse de diferentes maneras y puede
integrarse en diversos procedimientos pedaggicos: complemento a
cursos tradicionales de clase, como autoformacin utilizada de forma
individual y como herramienta de ayuda a la pronunciacin, etc.
A continuacin le se propone un procedimiento que nos parece
especialmente interesante:
El ejercicio de pronunciacin le propone escuchar un modelo y repetirlo
imitndolo. Adems, un agente animado le dir si su pronunciacin es
correcta o incorrecta lo que le permite medir su progreso.
Como en la mayora de los casos por imitacin, la pronunciacin mejora
como resultado de una serie de intentos. De este modo el nio, podr
mejorar notablemente su pronunciacin.
Algunas veces se debe trabajar con ms precisin la pronunciacin
utilizando todas las herramientas de que se dispone.
La imagen grfica relacionada con la palabra, el reescuchar el sonido, la
lectura de la palabra a pronunciar y la puntuacin le permiten mejorar la
pronunciacin en la mayora de los casos.
Con los medios de que dispone se puede lograr un trabajo muy preciso.
La seccin "Mejora de la pronunciacin" de este captulo, le proporciona
todas las indicaciones que le permiten mejorar.
92
3.2.3.3 Mejora de la pronunciacin
3.2.3.3.1 Mimetismo
El principio bsico sobre el que se apoya Mi Amigo el Lenguaje es
la imitacin. Para aprender a hablar el beb escucha su entorno y
repite lo que escucha imitndolo. Entre las primeras palabras
aprendidas figuran, naturalmente "pap" y "mama". A partir del
decimosegundo mes, los padres intentan repetir estas palabras
delante de su hijo, esperando a que ste se decida finalmente a
repetirlas. Los primeros intentos son solamente aproximados
"mama" o "baba" pero van mejorando muy rpidamente como
consecuencia de un cierto entrenamiento. Lo mismo sucede con
todo el vocabulario bsico adquirido segn el mismo
procedimiento.
A partir de los dos o tres aos, el beb se convierte en nio con
un volumen impresionante de palabras y de expresiones. El
"panpalon" inicial se convierte en pocos meses en "pantaln". Los
padres son los que constatan los errores y los corrigen dando la
pronunciacin exacta.: "No, Carmen, no se dice panpaln, sino
pantaln!". Al corregirla de esta manera, Carmen va a intentar
repetir con ms o menos xito hasta el da en que su "pantaln"
sea perfecto. Deber entonces pasar al nivel superior y afrontar la
complejidad de palabras ms
Los que aprenden un idioma extranjero se encuentran en alguna
medida en una situacin semejante.
93
Mi Amigo el Lenguaje reproduce esta misma situacin de
aprendizaje y propone modelos para cada una de las palabras a
aprender. Se escucha el modelo y se repite intentando imitarle.
El simple hecho de poder repetir mediante la imitacin permite
mejorar la pronunciacin.
3.2.3.3.2 Calificacin
La calificacin que proporciona Mi Amigo el Lenguaje mide la
diferencia entre su pronunciacin y la del modelo propuesto,
tomando como referencia las formas de onda.
La calificacin constituye el mejor medio puesto a su disposicin
para mejorar la pronunciacin. Hay que repetir incansablemente la
misma palabra variando la elocucin cada vez que se repita. Hay
que cambiar la posicin de la entonacin dndole otro ritmo con lo
que se pronuncia de manera diferente. En cuanto detecta una
mejora en la calificacin sabe que los intentos estn hechos
correctamente.
Mediante repeticiones sucesivas y concentrndose en la
calificacin, se aumentar la nota conseguida.
Estos intentos, tanto los buenos como los malos son lo que
permiten progresar gracias a la valoracin que lleva a cabo el
computador.
94
3.2.3.3.3 Visualizacin grfica
Cada palabra viene representada de forma grfica mediante una
curva que traza la intensidad (o la amplitud) de la voz en funcin
del tiempo tomado para pronunciarla.
La curva superior representa la voz del modelo, la curva inferior
representa su voz. De esta manera puede ver su propia voz:
Lenguaje
Figura 36: Forma de Onda de la palabra Lenguaje
Se puede descomponer la palabra y encontrar la representacin
grfica de cada sonido:
Len corresponde al primer tramo que aparece en la curva. Se
trata del primer sonido emitido y detectado por el computador.
gua corresponde al segundo tramo. En la curva se distingue
perfectamente la mayor fuerza de voz.
je corresponde al tercer tramo. Es mucho ms pequea que
las otras pues la sonoridad "je" tiene una sonoridad dbil.
El trabajo de anlisis de la curva se debe hacer comparando las
dos curvas. stas muestran las diferencias que ciertos usuarios
no llegan quiz a or.
95
3.2.3.3.4 Reescucha
La reescucha permite difundir en todo momento su voz y la del
modelo. El intento actual queda grabado en el disco duro y
pueden ser reproducidos en cualquier momento.
El principio es el del "audio-activo comparativo" que ya exista en
los laboratorios de idiomas tradicionales o en los sistemas a base
de cassettes, y que se ha vuelto a incorporar en la mayor parte de
los "softwares" de aprendizaje de lenguas.
De esta manera cualquier diferencia entre su pronunciacin y la
del modelo podr nicamente ser detectada mediante la audicin.
3.2.3.4 Procedimiento general
El objetivo consiste en detectar las diferencias entre las dos
pronunciaciones:
1. Analice los dos grficos y detecte de manera visual las
partes en que aparecen diferencias.
2. Escuche varias veces la pronunciacin modelo
correspondiente, independientemente. Intente comprender
el motivo de la diferencia.
3. Haga varios intentos de pronunciacin concentrndose
nicamente en las partes referidas. Pronuncie el resto de la
palabra de manera normal.
96
3.2.3.5 Cmo responder?
A continuacin se ofrece unas consignas bsicas que le ayudarn a
responder durante el ejercicio de pronunciacin:
Siempre despus de la seal sonora: Mi Amigo el Lenguaje no
podr reconocerle si el nio, habla demasiado deprisa.
Su tiempo de grabacin de la voz est limitado: la duracin
mxima durante la que puede hablar es de 3 segundos.
Se pueden tener problemas con las palabras largas: hay que
decirlas bastante rpidamente para que el computador no le
interrumpa.
97
3.3 DESARROLLO
3.3.1 Componentes y Controles Personalizados
Desde los comienzos de la Programacin Visual los desarrolladores ms
avanzados creaban controles personalizados para agregar a sus sistemas y
para no tener que reescribir el mismo cdigo varias veces o simplemente
para poder agregar funcionalidad fcilmente en un futuro.
Con la aparicin de .NET todo cambi, ahora la poltica de Microsoft fue
brindar un completo soporte para crear controles y componentes y
realmente lo logr. Hoy en da cualquier programador en puede hacer un
control que herede de TextBox y deje que se ingresen slo nmeros.
Adems la documentacin del SDK de .NET es excelente y la instalacin de
nuestros controles es simplemente referenciar una dll y listo. Luego cuando
se compila el programa cliente automticamente se copia en el directorio
del programa.
Una gran ventaja de contar con controles personalizados es que en
cualquier momento del desarrollo se puede agregar funcionalidad a los
mismos fcilmente. Generalmente se define una interfaz con el nuevo
comportamiento y se hace que se implementen nuestros controles (se
define una interfaz para poder manejar controles heterogneos de una
misma manera).
En esta aplicacin he utilizado varios controles personalizados, y a
continuacin y en el transcurso de este capitulo se describe cada uno de
ellos, as como tambin la utilizacin del componente para la utilizacin del
agente animado.
98
A continuacin muestro una lista de los controles y componentes utilizados
para el desarrollo de esta tesis, que son los siguientes:
3.3.1.1 Lista de controles personalizados
Interfaz Avanzada
El formulario principal de la aplicacin tiene formas suaves (no
aserradas), sombras y semitransparencias que lo hacen muy
vistoso y elegante.
Botones personalizados
Los mayora de los botones utilizados en la aplicacin son con
animacin, cambian de forma o de color, cuando el mouse pasa
sobre el y cuando se da clic.
Leyendas en los controles
Las leyendas estn aplicadas casi a todos los controles
principales, leyendas se define a la ayuda temporal que aparece
cuando el mouse esta sobre el control, lo que las hace diferente
es que son de otro color que las normales, adicionalmente tienen
icono y un titulo que las hacen muy vistosas.
Graficacin de la Forma de Onda
Este control personalizado es muy importante para cumplir
nuestro objetivo, la idea de realizar esto es para una mejor
graficacin ya que hacerlo en un control de Windows normal tena
cierta limitacin, y se le agrego algunas funciones.
Barra de progreso
La barra de progreso tambin juega un papel muy importante ya
que es la encargada de mostrarlos el porcentaje de acierto en la
comparacin de las ondas.
99
3.3.2 Interfaz
El diseo de la interfaz fue un reto complejo para el cual, fue propuesto y
orientado, en un comienzo la interfaz de la aplicacin era muy pobre con
formularios comunes y corrientes, pero en vista de que el usuario final son
los nios decid investigar y mejorar.
3.3.2.1 Formulario Splash
Es un formulario inicial como el que aparece en la mayora de las
aplicaciones comerciales con la informacin referente a la empresa, etc.
Un formulario inicial de presentacin en una aplicacin es algo muy
simple y que le da a la misma un toque muy profesional.
100
3.3.2.2 Interfaz Avanzada
Muchas veces se ha tenido la necesidad o la curiosidad impactar a la
gente en este caso al usuario final que va utilizar la aplicacin, y muchos
no solo ponen nfasis en la funcionalidad de la aplicacin sino adems
en como luce la misma. A nosotros mismo nos agrada mas trabajar con
interfaces no solo funcionales sino adems agradables a la vista.
Desafortunadamente Windows tiene sus limitaciones pero todo se puede
lograr y esta aplicacin es un claro ejemplo de lo que se puede hacer
con C# .Net y una buena herramienta grafica.
En trminos generales todo se puede hacer y para ello solo se necesita
de mucha imaginacin:
A continuacin se muestra el producto final de como hacer que las
aplicaciones se vean como uno quiere y no como Windows puede.
101
Como pueden ver, el formulario tiene formas suaves (no aserradas),
sombras y semitransparencias (entre otras cosas). Como logre esto,
bueno, no es mas que un conjunto de trucos.
El truco consiste en copiar la imagen que se encuentra detrs de nuestro
formulario, pintarla en un lienzo (Rectangle) nuevo y despus pintar
sobre el mismo lienzo la imagen PNG (mezcla de imgenes). Esto
permitir que se respeten todas las caractersticas de la imagen que se
definieron en el editor grfico.
Descripcin de componentes:
1. Antes que nada necesit un buen diseo grafico, yo disee con
Macromedia Fireworks MX 2004 para los fondos de todos los
formularios presentes en la aplicacin.
2. Se crea un formulario con las mismas medidas que la imagen
PNG. Defin su propiedad FormBorderStyle como None y asignen
a BackgroundImage el png que cree.
Agregue un control de tipo Panel, y puse un nombre, hice que sea
transparente y lo ubiqu sobre la posicin de imagen para as tener una
barra de control que me permite arrastrar la ventana del formulario.
102
3.3.2.3 Botones Personalizados
Como se ha tratado el tema de la interfaz anteriormente, los botones
tambin tienen que ir a la par con un buen diseo para resolver el
problema de la captacin y comprensin por parte del nio, he intentado
darle un toque personal a las aplicaciones con botones personalizados
ya sea con imgenes o solo dndoles una forma no convencional, pero
claro, existe la restriccin de Windows para estos casos, pero para
contradecir la forma que nos propone Windows, a un botn le agregas
una imagen o crear tu propio botn en base a imgenes superpuestas,
pero ambas tienen el mismo problema, el rea activa siempre es
RECTANGULAR.
Pero el reinado de las formas rectangulares ha llegado a su fin, y ahora
se puede agregar botones de cualquier forma a mis formularios. Pero no
solo es apariencia, la respuesta a los eventos del mouse solamente
ocurren dentro la forma del botn, no en la clsica rea rectangular.
Clsica? Claro, se puede comprobar con algn tema de Win XP
comprueba acercando cuidadosamente tu mouse a alguno de los
botones de Windows e identifica el rea por ti mismo.
Primero es necesario definir un botn predeterminado que se va a pintar
por omisin cuando agregues este control a un formulario. Aunque aqu
se muestran como una sola imagen, la idea es crear cuatro imgenes
del mismo tamao que permitan presentar al botn en sus tres estados
(cuando el mouse esta fuera de el, cuando esta sobre el y cuando se le
presiona), la cuarta imagen define una mascara que define el rea activa
del botn, es decir, solo se colectarn eventos del botn cuando el
mouse se encuentre sobre esta rea activa.
103
3.3.1.4 Agentes Animados con Sntesis de Voz TTS
3.3.1.4.1 Introduccin
Actualmente existen sistemas de aprendizaje interactivo los cuales no
pretenden sustituir a los profesores sino ofrecer materiales de apoyo a
los estudiantes de distintos grados escolares. Para esto existen diversos
proyectos, los ms ambiciosos buscan impartir educacin a distancia
mediante videoconferencias, chats, libros interactivos, entre otros.
Para este proyecto de tesis, ser de gran ayuda presentar un tutor
virtual o carcter animado en 3D, el cual es una ayuda visual para
guiarnos dentro de la aplicacin.
3.3.1.4.2 Objetivo general
Utilizar el Agente para esta aplicacin, a mi criterio es una herramienta
muy til para interactuar con el usuario ya que son agentes animados,
cuya idea principal es que los agentes sean ayuda visual al contenido de
las lecciones presentadas en las aplicaciones interactivas, y poder
conocer un poco ms acerca de esta tecnologa.
3.3.1.4.3 Objetivos especficos
Utilizar los agentes animados que sean manipulables por el
programador de la herramienta mencionada.
Realizar una conexin de la animacin en Flash con la sntesis de
voz TTS (de MS SAPI).
104
Las aplicaciones desarrolladas con Interfaz de programacin de
aplicaciones de voz (SAPI) versin 5.1 requieren que se instale el
componente principal de SAPI 5.1 en el equipo cliente.
Sincronizar la animacin con la sntesis de voz
Realizar llamados al agente con TTS (SAPI) mediante Windows
Form.
3.3.1.4.4 Descripcin de los Agentes
Los Agentes son pequeos personajes animados (son ActiveX en
realidad), que actan y se mueven por la pantalla, siendo capaces de
leer un texto (el de una pgina Web o un documento Word o una
aplicacin Windows Form) e, incluso, escuchar y obedecer nuestras
rdenes.
Esta actividad tan poco usual y seria en una actividad profesional, oculta
una potencia que nos har avanzar un nuevo paso de gigante en este
mundo microinformtico: incluir la lectura de los textos (para invidentes,
por ejemplo), la comparacin de voz, las ayudas interactivas inteligentes,
nuevos mtodos de enseanza para nios y adultos, un interfase ms
amigable para nuestros computadores, todo esto con unos simpticos
muequitos fciles de programar en nuestras aplicaciones y fciles de
usar por el usuario.
Microsoft ha diseado varios simpticos personajes, desde el mago
Merln al propio Bill Gates. Varias empresas han desarrollado otros
magnficos agentes de uso pblico (El ganster Al, hasta Santa) y otros
privados que son utilizados en pginas o productos de soporte o de
publicidad. Con paciencia, todo el mundo podra hacer sus propios
agentes.
105
Peedy Robby Genie Merlin
Ms Agent: Es un software de Interaccin con el usuario que facilita
muchas tareas, es una forma bastante amigable de interactuar por
ejemplo cuando en nuestra aplicacin se quiere describir de forma
rpida el funcionamiento como una introduccin el agente lo har por
nosotros, etc.
En sntesis los MSAGENT es simplemente inteligencia artificial.
Uno de los campos donde la inteligencia artificial puede aportar ms
soluciones es en el apartado de la interaccin con el usuario, cuando en
un futuro no muy lejano la interaccin hombre-mquina podra ser a
travs del lenguaje natural.
7
7
http://www.speech.usyd.edu.au/comp.speech/Section5/Q5.2.html
106
3.3.1.4.5 Cmo Instalar?
IMPORTANTE: Ejecutar estos ficheros en el mismo orden que se dice:
1. primero ejecuta el msagent.exe gestor de agentes
(personajes).
2. ejecuta el tv_enua.exe motor para que puedan hablar
3. ejecuta el agtx0c0a.exe traduccin del msagent a
espaol.
4. ejecuta el lhttsspe.exe necesario para que hablen los
personajes en espaol.
5. ejecuta los personajes peddy.exe por ejemplo son los
personajes.
6. ejecuta el spchapi.exe conexin de la animacin con la
sntesis de voz TTS.
3.3.1.4.6 Resumen
Lo que se ve a continuacin ser como se utiliza el Agente, intentre
mostrar como llamar a algunos de sus gestos, hacer que diga lo que
nosotros, posesionar el agente utilizando coordenadas de X,Y. Cuyo
manejo es ms fcil, adems de ser multiplataforma lo que es una
ventaja significativa si es que se habla en el contexto de un sistema
educacional, dependiendo de la peticin del texto son llamadas para su
ejecucin.
NOTA: (Recordar que el mismo es un Componente COM). Aunque los
COM tienen ciertas limitaciones con respecto a .Net, son lo
suficientemente verstil como para convertirse en la infraestructura de
numerosas aplicaciones.
107
3.3.1.4.7 Implementacin
Componente
Una vez que se tiene el Form creado se inserta el
componente COM (Microsoft Agent control 2.0)
Este se posesionara en el toolbox de nuestra Workspace.
108
A continuacin se inserta este componente sobre el form y despus una
serie de controles, para dar un aspecto ms amigable a la Interfase.
3.3.1.4.8 Cdigo
3.3.1.8.1 Cdigo para hacer Aparecer y Animar el Agente
Ilustracin 1:
109
3.3.1.8.2 Cdigo para que Lea el Agente el Texto
Este cdigo funciona previo la aparicin del Agente y eso se logra con el
cdigo expuesto anteriormente.
Ilustracin 2:
Este modulo es donde el nio puede practicar su pronunciacin de una forma
divertida jugando, escribiendo y repitiendo.
110
3.3.3 Diseo de Mdulos
El diseo de los Mdulos para que una aplicacin este bien estructurada
es parte de las necesidades de los usuarios y de la aplicacin en si.
Para lo cual se ha visto la necesidad de trabajar con Bases de Datos
relacional en este caso se va a trabajar con SQL Server 2000 porque se
nos presento el inconveniente de relacionar Imagen Palabra Sonido.
A continuacin se da una breve introduccin de la arquitectura de
ADO.NET que es donde se centra la programacin de Visual Studio .Net y
SQL Server.
3.3.3.1 Imgenes en Base de Datos
Una vez definidos los principios de cmo va a funcionar nuestra
aplicacin de almacenamiento, se describe de forma rpida; es una
pequea aplicacin que permite guardar ficheros del disco duro en la
base de datos SQL Server y movernos por los registros, mostrando las
imgenes en un PictureBox.
Al contrario que otros muchos controles .NET, el control PictureBox no
ofrece una propiedad DataSource que nos permita enlazar directamente
la imagen mostrada a una fuente de datos. A continuacin se muestra
como presentar imgenes guardadas en base de datos dentro de un
objeto PictureBox.
111
3.3.2.1.1 Diseo de la tabla
Se parte del hecho de que se dispone de una base de datos en la
que una tabla contiene las imgenes en una columna de tipo
binario. En SQL Server una tabla de este tipo se generara con un
comando T-SQL como este:
Tabla creada con el script anterior en SQL
112
3.3.2.1.2 Guardando imgenes en la Base de Datos
Para almacenar una imagen en la base de datos, se ha de leer el
archivo que la contiene en forma de stream binario. Para ello, se
utiliza la clase BinaryReader, con la que a partir de un objeto
FileStream se puede obtener los bytes que forman el archivo. En
la aplicacin de ejemplo, tras pulsar el botn "Guardar Imagen en
BD" y elegir un archivo de tipo bmp, jpg o gif.
SQL Server Imagen datatype es un datatype binario. Por
consiguiente, para guardar en la base de datos se debe convertir
la imagen a una serie de bytes.
Se usa un objeto de FileStream para abrir el archivo de la imagen
y entonces leerlo con un Stream, pero un MemoryStream con el
mtodo de Image.Save
Convirtiendo los datos en System.Drawing.Image
La propiedad Image del control PictureBox es de tipo
System.Drawing.Image. Por lo tanto se necesita convertir los
datos guardados en la columna img_imagen en un objeto de este
tipo. Para ello se utiliza el mtodo esttico FromStream de la
clase Image, que nos devuelve un objeto Image a partir de un
System.IO.Stream.
Por tanto, se coloca los datos obtenidos de la columna
img_imagen de la Base de Datos en un MemoryStream, con el
que se alimenta la funcin FromStream, tal y como muestra el
siguiente cdigo (reemplazar los parmetros de la cadena de
conexin por los que se apliquen):
113
3.3.2.1.3 Ilustracin del Modulo Imgenes
Este modulo es donde el administrador puede guardar nuevas
imgenes, editarlas borrando y colocando uno nuevo siempre y
cuando el sonido correspondiente a la imagen exista en el directorio
especifico.
114
3.3.3.2 Reproduccin & Grabacin de Audio
3.3.2.2.1 Reproduccin de audio
Actualmente, en la plataforma .NET, no existe ninguna clase
especializada en la reproduccin de archivos de audio .wav para ser
ms preciso. En su lugar, he recurrido hacer uso de libreras propias del
reproductor Windows Media Player 9 para efectuar esa tarea. Una
alternativa con la que se puede obtener la funcionalidad de las libreras
de Windows Media, es utilizando las APIs de Windows. Basados
principalmente en la librera winmm.dll.
Tal vez a muchos no les parezca conveniente hacer demasiado uso de
las funciones de la Api de Windows, pero desde mi punto de vista, son
de gran ayuda y se puede evitarnos un gran problema si se utilizan de la
forma correcta.
Las API (application programming interface o interfaz de programacin
de la aplicacin) de Windows son un conjunto de funciones propias del
sistema operativo que puedes usar en tus programas, como por ejemplo,
la funcin SetWindowPos que te permite mantener una ventana por
encima de otras.
Todas estas funciones de Windows estn escondidas dentro de unas
cuantas DLLs (Dynamic Link Library o Librera de Enlace Dinmico)
agrupadas segn la funcin que realizan:
Kernel32.dll operaciones de archivos y gestin de memoria.
Gdi32.dll operaciones grficas
User32.dll maneja la parte de la interaccin con el usuario.
115
Tambin existen otros DLLs que, aunque menos importantes, tambin
nos pueden sacar de un apuro en un momento dado como:
Winmm.dll se encarga de la parte multimedia
Comdlg32.dll controles comunes para todas las aplicaciones
3.3.2.2.2 Grabacin del Audio
Esta aplicacin esta desarrollada con tecnologa de Microsoft DirectX
9.0c es la ltima versin de la tecnologa DirectX que proporciona un
rendimiento superior para aplicaciones multimedia. Microsoft DirectX
9.0c incluye soporte para DirectSound, utilizando APIs para tratar con
los sonidos en esta aplicacin.
116
3.3.3.3 Generacin de Forma de Onda
3.3.2.3.1 Introduccin
WaveControl esta basado en la clase WaveFile que sirve para analizar
el archivo de la onda y se complementa con funciones como el
drawing/zooming del waveform.
La clase WaveFile.cs lee un archivo de audio .wav y genera la forma de
onda.
La clase WaveControl.cs es el complemento para ejecutar las
funciones.
3.3.2.3.2 Funciones
Zoom.- Seleccione con el Mouse cualquier regin de la onda ya sea de
izquierda a derecha o viceversa con el botn izquierdo y luego de un clic
con el botn derecho esto producir un Zoom de la regin seleccionada
y para volver al estado inicial doble clic con el botn derecho.
Max/Min.- dando un solo clic se puede alargar o contraer la onda en
forma vertical In/Out con la rueda del Ratn.
Arrastre.- con la tecla Alt + botn izquierdo del Mouse haga clic &
arrastre la onda hacia la izquierda.
3.3.2.3.3 Ilustracin Forma de Onda
117
3.3.3.4 Relacionar Imagen Palabra Sonido
Este modulo tiene por caracterstica principal el relacionar una imagen
que es obtenida de la Base de Datos, la palabra que debe pronunciarse
y el sonido en formato wav que se obtiene de un directorio especifico.
Este modulo es donde el nio puede practicar su pronunciacin
utilizando la lectura, la observacin y la audicin.
118
3.3.2.4.1 Creando un archivo
He visto la necesidad de documentar un aspecto muy importante es
parte de la programacin de este modulo, ya que este modulo es muy
importante porque aqu se realiza la comparacin de patrones y por tal
razn muestro una introduccin del mtodo que utilice para la lectura y
escritura de los patrones.
Voy a comenzar por los espacios de nombres de .NET Framework que
utilice y que me permiten interactuar con una serie de recursos de
servidor para servicios de fondo son:
System Diagnostics: consta de una serie de clases que permiten
depurar la aplicacin y realizar un seguimiento de la ejecucin del
cdigo. Para obtener ms informacin, vea las clases Trace y
Debug. System.Diagnostics tambin proporciona clases que
permiten iniciar procesos del sistema, leer y escribir en registros
de eventos y supervisar el rendimiento del sistema mediante
contadores de rendimiento. Para obtener ms informacin, vea
las clases Process, EventLog y PerformanceCounter.
System.IO: proporciona clases, incluida la clase
FileSystemWatcher, que detectan notificaciones de cambio del
sistema de archivos y activan eventos cuando se produce un
cambio en un directorio o en un archivo de un directorio.
El espacio de nombres System.IO contiene tipos que permiten leer y
escribir en los archivos y secuencias de datos, as como tipos que
proporcionan compatibilidad bsica con los archivos y directorios.
8
8
Biblioteca de clases de .NET Framework
119
Clase Descripcin
StreamReader Implementa un TextReader que lee los
caracteres de una secuencia de bytes
en una codificacin determinada.
La lectura y escritura a un archivo son hechas usando un concepto
genrico llamado stream. La idea detrs del stream existe hace tiempo,
cuando los datos son pensados como una transferencia de un punto al
otro como un flujo de datos.
A continuacin se ilustra la arquitectura de cmo trabaja .Net con la
creacin, lectura y escritura de archivos de texto.
Clases del Framework .NET para el uso de Streams.
120
3.3.3.5 Administrar Diccionario
Este modulo fue creado con el propsito de poder aumentar ms palabras
en el diccionario (base de datos) como creyere conveniente el
administrador.
Pero para ingresar a este modulo o a los dos mdulos ms de
administrador solo tiene acceso a ellos el administrador del sistema, el es
el que tiene las claves de acceso y la capacitacin para realizar cualquier
accin en este tipo de formularios.
3.3.2.5.1 Autenticacin de usuarios
Una de las formas ms usadas para autenticar usuarios en una
aplicacin es la de pedir sus credenciales (usuario y password) en un
formulario y verificar si estas son vlidas.
Antes de ingresar a cualquiera de los tres mdulos de administrador la
persona encargada debe primero logearse, es decir escribir el nombre
usuario y password correctos. Teniendo en cuenta que el formulario que
se ve a continuacin es sensible a letras maysculas y minsculas, si en
caso de equivocacin al ingresar las claves, el formulario
automticamente se cierra.
Pantalla de acceso a los formularios de administracin del sistema.
121
La idea de este modulo administrar diccionario surgi cuando me pregunte
si el diccionario es esttico y la respuesta es nunca. Entonces me di
cuenta que todo sistema por pequeo que sea, debe tener un modulo
donde se pueda agregar nuevas cosas, en este caso se agrega la
palabra, la imagen y el sonido todo esto de forma automatizada.
Como primer paso se selecciona la imagen, el nombre de la imagen es
por consiguiente el nombre que relaciona la palabra con el sonido, luego
se graba el sonido de la pronunciacin de la nueva palabra en un lapso de
tres segundos. Despus de ese tiempo transcurrido el grabador se
detendr automticamente. Y dado un caso que el sonido salio mal
deber borrar la imagen para poder grabar el sonido nuevamente.
122
3.3.4 Estndares y Nomenclatura Utilizada
3.3.4.1 Controles
Un lugar donde todos usan prefijos para denominar a los objetos es en
los controles y por consiguiente es en la programacin visual.
Una vez que uno comienza a utilizarlos los recuerda fcilmente ya que
son muy intuitivos y, junto con el Intellisense, facilitan la codificacin y
lectura del cdigo.
La siguiente tabla muestra las convenciones ms utilizadas:
Control Prefijo Ejemplo
Formulario frm frm_tesis_comparar
Button btn btn_tesis_com_guardar
TextBox txt txt_tesis_com_nombre
CheckBox chk chk_tesis_com_calidad
RadioButton rad rad_tesis_com_dispositivo
GroupBox grp grp_tesis_com_volumen
PictureBox ptb ptb_tesis_com_imagen
ListBox ltb ltb_tesis_com_lista
ComboBox cmb cmb_tesis_com_nombre
Timer tmr tmr_tesis_com_detener
Label lbl lbl_tesis_com_nombre
DataGrid dgr dgr_tesis_com_datos
ProgressBar pbr pbr_tesis_com_porcentaje
RichTextBox rtb rtb_tesis_com_editor
123
3.3.4.2 Objetos de Acceso a Datos
Cuando se utiliza objetos de acceso a datos es conveniente tener
algunos prefijos para que el cdigo se vuelva ms legible.
La siguiente tabla muestra algunas recomendaciones:
Objeto Prefijo Ejemplo
DataSet ds dsDatos
DataRow dr drDatos
OleDbConnection SqlConecction cnn cnnConexion
OleDbommand SqlCommand cmd cmdCommand
OleDbDataAdapter SqlDataAdapter da daImagenes
OleDbDataReader SqlDataReader rdr rdrDatos
3.3.4.3 Extensiones de Archivos utilizados
Extensin Descripcin
.cs Clase de CSharp
.dll Archivo codificado
.doc Archivo de word
.exe Archivo ejecutable
.frm Formulario de CSharp
.gif Imagen animada
.jpg Imagen comprimida
.ldf Log de la base de datos SQL
.mdf Base de datos SQL
.png Imagen suavizada
.txt Archivo de texto
124
3.4 PRUEBAS
3.4.1 Mdulos integrados
Las pruebas de los mdulos integrados tienen por objetivo encontrar y
reparar fallas en el comportamiento de los mdulos integrados, as como del
control manejo de los datos de manera global.
Nombre Entrada Salida esperada Salida
1 Mostrar Instalacin Path modulo Visualizacin del Modulo OK
2 Mostrar Interfaz Path interfaz Visualizacin Interfaz (Men) OK
3 Mostrar Comparacin Path modulo Visualizacin del Modulo OK
4 Mostrar EscribeHabla Path modulo Visualizacin del Modulo OK
5 Mostrar Administrar Path modulo Visualizacin del Modulo OK
6 Mostrar Imgenes Path modulo Visualizacin del Modulo OK
7 Mostrar Grabadora Path modulo Visualizacin del Modulo OK
8 Mostrar Ayudas Path ayudas Visualizacin Ayudas Interac. OK
Las pruebas de los mdulos integrados se las realizo en el mes de
noviembre del 2005, en diferentes maquinas con diferentes versiones e
idiomas de Windows, dando como resultados algunas fallas, como son las
siguientes:
No se poda grabar la voz, debido a que se necesitaba algunas libreras
de DirectX 9.0 ya que solo con instalar el Redistribuible no era suficiente,
se deba instalar el RunTime.
Los Agentes Animados pronunciaban con acento extranjero en Sistemas
Operativos en Ingles, por lo que se modifico el cdigo para que la
pronunciacin de voz, solo sea en espaol.
125
3.4.2 Pruebas de carga y rendimiento
Tiene por objetivo principal probar el funcionamiento del software bajo
condiciones extremas. Estudia la especificacin del software, las funciones
que debe realizar, las entradas y las salidas analizando los Valores Lmite.
Tipo Condicin Rendimiento
Tasa de ejecucin Peticiones de ejecucin Percepcin de ejecucin en tiempo real
Consumo Procesador Uso activo en ejecucin Mnimo en tiempo real
Consumo Memoria Uso activo en ejecucin Mnimo en tiempo real
Cabe destacar que todas stas pruebas estn determinadas netamente por
el hardware, ya que el consumo de los recursos es muy importante a la hora
de ejecucin del software en tiempo real, debido a esto las nicas
optimizaciones que se pudieron realizar para elevar el rendimiento en sta
situacin ha sido optimizar el cdigo fuente.
3.4.3 Prueba de validacin
El software totalmente ensamblado se prueba como un todo para
comprobar si cumple los requisitos funcionales y de rendimiento, facilidad
de mantenimiento, recuperacin de errores, etc.
3.4.4 Prueba de aceptacin
El usuario comprueba en su propio entorno de explotacin si acepta el
software como est o precisa ser necesario aplicar nuevas optimizaciones y
soluciones de fallas.
126
En enero del 2006 se realizo las ultimas pruebas, verificando las
correcciones que se realizo con anterioridad, con diferentes nios y
diferentes tipos de micrfonos razn por la cual se ha comprobado que el
software esta listo para poder ser utilizado por el usuario final.
En las pruebas funcionales del software todo se ejecutaba segn lo
requerido.
Las pruebas de rendimiento, tanto el uso CPU, uso memoria, y otros
variables son aceptables para una ejecucin fluida y de excelente
percepcin para el usuario final.
Las pruebas de capacidad, alcance y autonoma estn determinadas
mayoritariamente por el hardware presente en la ejecucin y segn las
pruebas realizadas cumple con los requerimientos establecidos.
127
3.5 INSTALACIN
3.5.1 Introduccin
Aunque como se sabe con .NET Framework no es necesario crear
programas (o proyectos) de instalacin, dado que este nuevo entrono
facilita la forma de distribuir las aplicaciones mediante lo que se llama
instalacin XCOPY (o FTP), es decir, se puede copiar las aplicaciones
creadas con cualquier lenguaje .NET simplemente copiando el directorio
con el ejecutable y las libreras de las que depende al equipo en el que se
quiere usarlo y funcionar. Pero funcionar si el equipo de destino ya tiene
instalada el "runtime" de .NET Framework, y esto es as porque ese runtime
ya incluye todo lo que se necesita para que nuestra aplicacin funcione.
Aunque en este caso, adems de esas libreras "bsicas" (incluidas en el
runtime del .NET), se necesita copiar nuevas libreras que se ha utilizado
como es el caso para los controles personalizados, en ese caso
simplemente se copia las libreras extras dentro del propio directorio de
nuestra aplicacin y... todo funcionar!
Esto es as porque no se necesita registrar ningn componente para poder
usarlo con nuestra aplicacin, por tanto... realmente no se necesita crear
ningn proyecto de instalacin, pero... si es eso lo que quieres hacer, para
facilitarte las cosas, no es lo mismo tener que copiar cosas en una carpeta
que distribuir un instalador y que sea el propio usuario el que se encargue
del proceso de instalacin, as como de eliminar dicha instalacin cuando le
apetezca.
128
Aviso importante:
Una cosa que se debe saber antes de seguir, es que creando un proyecto
de instalacin, no se instala el runtime del .NET Framework.
Cuando se crea el proyecto de instalacin, ste se encargar de instalar
nuestra aplicacin y los dems ficheros (archivos) que se le indique, pero
NO instalar el runtime.
El runtime (o redistribuible) de .NET Framework se debe instalar por nuestra
cuenta ANTES de instalar nuestra aplicacin.
3.5.2 Descripcin
Una vez que una aplicacin se termino CS.NET ha sido desarrollada,
comprobada y compilada, debe ser instalada en las mquinas cliente donde
ser utilizada en el futuro. En ese proceso el entorno .NET suministra una
serie de mtodos y herramientas para realizar programas instaladores
dependiendo del tipo de aplicacin creada y de las caractersticas de dicha
mquina cliente.
El programa instalador se ocupa de cargar la aplicacin en la mquina
cliente as como cualquier otro archivo o recurso que sta emplee en su
funcionamiento, ya sea en el estado actual o en el futuro previsto.
Los instaladores de aplicaciones en .NET se distingue por su fcil ejecucin
y rpida descompresin:
Instalacin de Prerrequisitos
Programa instalador de aplicacin
Programa instalador de la Base de Datos (Diccionario)
129
La siguiente pantalla es un men principal para poder instalar el software en
su sistema operativo, para lo cual debe tener instalado como prerrequisito el
.NET Framework 1.1 para que se auto ejecute el autorun del CD.
En este men se debe instalar como primer paso los prerrequisitos (Agentes,
Motor Sintetizador de voz, Adobe acrobat reader, DirectX 9.0 runtime), como
segundo paso se instalar la aplicacin con todo sus componentes el cual
desplegara un asistente que le guiara durante instalacin, como tercer paso se
tiene la instalacin del Diccionario de Datos la cual se levanta en el servidor
local de SQL (Previamente instalado) y por ltimo se tiene un acceso directo al
manual de usuario en formato PDF.
130
CAPTULO 4: PERSPECTIVAS DE NEGOCIO
131
4.1 ANLISIS DE COSTOS
El costo real del software es la suma de todos los costos durante la vida del
proyecto, incluyendo los mejoramientos esperados y los costos de
mantenimiento. De hecho, el clculo real debera ser el valor presente de todos
los desarrollos, mejoras, y costos de mantenimiento esperados durante la vida
del proyecto. Este tipo de anlisis demuestra la recompensa de invertir en un
diseo y anlisis de primera. Entre ms se invierta en un buen diseo, se va a
ahorrar ms en futuros costos de mantenimiento y mejoras. Es importante tener
un costo unitario para evaluar la inversin inicial y comparar sta con los gastos
posteriores.
Un gran error en la estimacin del costo puede ser lo que marque la diferencia
entre beneficios y perdidas, la estimacin del costo y del esfuerzo del software
nunca ser una ciencia exacta, son demasiadas las variables: humanas,
tcnicas, de entorno, polticas, que pueden afectar el costo final del software y
el esfuerzo aplicado para desarrollarlo.
4.1.1 Recurso Material
Elemento Cantidad Precio Unitario Precio Total
Computador: Intel Pentium 4 1 870,00 870,00
Kit Multimedia: Genius 1 35,00 35,00
Impresora: HP - 840 1 84,00 84,00
Suministros: Cartuchos Tinta 2 38,00 76,00
Suministros: Papel 75 gr. 2 7,00 7,00
CDs en blanco 2 1,20 1,20
1.073,20
132
4.1.2 Recurso Humano
Actividad Recursos adicionales Das x Horas x $ Costo Total
Anlisis Internet, Libros 21 x 6 x 3 378,00
Diseo Internet, Libros, PC 30 x 6 x 3 540,00
Desarrollo Internet, Libros, PC 63 x 6 x 3 1.134,00
Pruebas PC 15 x 6 x 3 270,00
Implementacin PC 8 x 6 x 3 144,00
Documentacin Internet, Libros, PC 21 x 6 x 3 378,00
158 x 6 x 3 2.844,00
Vale destacar en este anlisis, que hay muchsimas variables que no son
tomadas en cuenta pero si el esfuerzo y dedicacin por parte del recurso
humano que se entrego en este trabajo y es invaluable ya que es realizado
para un propsito educacional para obtener el ttulo de ingeniero no para un fin
comercial.
133
4.2 ANLISIS COMPARATIVO
La comparacin de proyectos con otros similares es una actividad crtica para
lograr una estimacin exitosa. Cuando se evalan proyectos similares, se debe
considerar lo siguiente:
Tipo de plataforma de hardware - Mainframe, Cliente-Servidor, PC
Tipo de lenguaje - VB, C#, C++
Tipo de proyecto - Software del Sistema, Software intermedio, Software
de aplicacin
Tipo de sistema operativo: Windows, Linux, Unix
Tabla de especificaciones
Plataforma de hardware Cliente Servidor, PC
Lenguaje C#
Proyecto Software de aplicacin
Sistema operativo Windows
El anlisis comparativo de este software en este caso no se lo puede realizar
ya que en la actualidad no existe software parecido por lo que lo diferencia de
los otros en la forma de auto educacin orientada al nio, con sus sin iguales
caractersticas como es la gua y exploracin con los agentes animados y la
reproduccin y visualizacin de ayudas interactivas por lo cual se ha buscado
software parecido para realizar la comparacin pero la bsqueda ha sido
realizada sin xito.
134
CAPTULO 5: CONCLUSIONES Y
RECOMENDACIONES
135
5.1 CONCLUSIONES
Este trabajo de tesis se ha planteado analizar y solucionar la problemtica
del proceso de comparacin de patrones, mediante el desarrollo de la
aplicacin utilizando para ello distintas tecnologas desarrolladas, no slo
desde un punto de vista cientfico sino tambin tcnico, y al mismo tiempo
didctico concluyendo con el diseo, implementacin y evaluacin del
Sistema.
Antes de presentar las conclusiones tcnicas de este trabajo, se
mencionaran algunas conclusiones prcticas. Durante el anlisis de este
trabajo, se analizaron muchos algoritmos, pero solo se implementaron
algunos de ellos, de los cuales nos dio con xito el resultado esperado, sin
embargo las pruebas y anlisis de cada uno de estos fueron muchas, entre
los algoritmos que se desarrollaron e implementaron son: bsqueda binaria
para la extraccin de las caractersticas de la seal de voz, y un algoritmo
de bsqueda con los resultados arrojados por el algoritmo de esta tesis (los
K vecinos ms cercanos).
Como fruto de este trabajo, cabe mencionar que este algoritmo es
necesario en el desarrollo de la aplicacin que soluciona el problema de los
K vecinos ms cercanos. La decisin de usar este algoritmo para solucionar
el problema principal radica en sus ventajas: su tiempo de indexamiento, la
eficiencia de la bsqueda que se puede realizar en l, y la cantidad de
memoria utilizada.
Las ventajas de utilizar este algoritmo son muy importantes ya que recalca
la importancia y el porque eleg utilizar este algoritmo para la comparacin
de los patrones. Entre las cosas que deben tomarse en cuenta en una
aplicacin se encuentra la memoria y el tiempo de ejecucin. En algunas
ocasiones el usuario est dispuesto a gastar memoria, por tiempo de
ejecucin, y viceversa.
136
Una vez que se obtuvo el algoritmo, se hicieron algunas pruebas, acerca de
cmo empezar la bsqueda de los vecinos mas cercanos, esto con la
finalidad de probar, si importa el orden de los puntos en que se empieza la
bsqueda de los vecinos ms cercanos, se observ que no existen
diferencias significativas en el desempeo del algoritmo.
1. Las tcnicas utilizadas e implementadas en este sistema en general han
surgido de la invencin del autor y fuentes como libros, revistas, apuntes
y el Internet que han servido de gran ayuda como muestra y ejemplo
para el desarrollo de la misma.
2. Se mostr la estructura del sistema por captulos, y se describi cada
uno de ellos. La estructura de la documentacin sigue un proceso en el
cual son tomados como plantilla el anlisis, diseo e implementacin y
todo esto nos conlleva a la ingeniera de software.
3. La comparacin de patrones es una tecnologa que sin duda ser el
futuro, donde se encamina las tecnologas de voz optimizando los
procesos y el tiempo, haciendo que la maquina posea la capacidad de
realizar las actividades del hombre de una forma ms eficiente.
4. Uno de los elementos indispensables para los procesos normales de la
audicin y el habla es el sonido. Este, en s es una onda mecnica
longitudinal que se propaga a travs del aire. Entre sus caractersticas
especficas se encuentran la frecuencia y la intensidad, que son objeto
de estudio en esta tesis. Estas caractersticas que son propias de la
seal de voz son las que hacen posible la comparacin de patrones.
5. La grabacin de voz en formato wav se logro con la ayuda de DirectX 9,
Microsoft DirectSound proporciona un sistema para capturar los sonidos
de los dispositivos de la entrada y sonidos a travs de varios
dispositivos, el cual con la ayuda que proporciona el SDK se pudo
solucionar el problema de grabacin de voz.
137
6. La reproduccin del sonido cual funcin es primordial en este tipo de
software para la practica de la pronunciacin se logro con la ayuda de la
API de Windows Winmm.dll esta se encarga de la parte multimedia.
7. La graficacin de la forma de onda tambin fue resuelto, para ello se
desarrollo una clase que me pueda leer los archivos de audio wav y me
represente en un control personalizado (panel), en el que recoge una
serie de puntos y empieza a graficar, adems se le implanto una funcin
de ampliacin manualmente mediante la seleccin con el mouse.
8. La relacin entre la palabra, la imagen y el audio correspondientemente,
que tambin fue un problema se la resolvi con la utilizacin de la base
de datos y una llamada a los archivos de sonido wav, que utiliza un path
para poderlos reproducir de un directorio especifico.
9. Otro de los retos y que tambin fue resuelto fue el mejoramiento de la
interfaz de usuario ya que recuerden que esta tesis fue diseada con
propsito del manejo de nios, es por tal razn se trabajo mucho en este
aspecto dando como resultado un software multimedia con colores
llamativos y al mismo tiempo con formas suaves.
10. Un complemento primordial de la interfaz fue la implementacin de
agentes animados y su funcin es muy importante en este tipo de
software, ya que son los agentes quienes nos ayudan y guan dentro de
la exploracin del software.
11. En cuanto a la comparacin de patrones se puede afirmar que el
resultado son muy satisfactorios y as una vez mas comprobando que
dicho algoritmo en este tipo de resolucin de problemas es muy
eficiente.
138
12. Las diferentes pruebas que se le realizo, el software respondi bien con
un mnimo grado de error, el cual fue mencionado en el alcance ya que
este tipo de resolucin de problemas es difcil alcanzar la perfeccin en
lo que respecta a patrones de voz. Las pruebas se las realizo con
diferentes nios y con la nia que seleccione para grabar la voz base y
el resultado fue muy satisfactorio claro esta que se debe tomar en
cuenta algunas reglas, para una mejor pronunciacin y utilizacin de la
aplicacin las cuales son descritas en el manual de usuario.
En conclusin tanto en el desarrollo como en la teora se tiene
resultados muy satisfactorios y se ha cumplido con los objetivos
propuestos al comienzo del desarrollo y documentacin de la tesis.
139
5.2 RECOMENDACIONES
Por ltimo se cita algunas recomendaciones recopiladas a lo largo del
desarrollo de esta tesis, y algunos consejos de la filosofa misma de la
utilizacin de este trabajo de tesis.
Es bueno tenerlos siempre en mente:
1. Este trabajo de tesis es el comienzo de futuros trabajos que se pueden
utilizar, realizando algunas variaciones esta aplicacin es en su forma
bsica como funciona la comparacin de patrones de un individuo
mediante su voz.
2. Se recomienda ser implantada en Instituciones educativas primarias, y
ver los posibles cambios de su funcionamiento, para de ah partir y as
sacar una nueva versin en un futuro.
3. En cuanto a la aplicacin se recomienda que se la utilice bajo
supervisin de un experto por lo que los nios de seis aos aun no
manejan bien la computadora.
4. Se recomienda utilizar para su mejor funcionamiento Auriculares con
micrfono incorporado para que de cmo resultado una mejor audicin y
recepcin de sonido as como tambin mejor calidad de grabacin de
voz.
5. Se debe incentivar a los estudiantes y profesores de la Universidad para
que sigan utilizando y desarrollando en la tecnologa .Net que como se
ha demostrado es una plataforma potente y nada mas que mostrar con
resultados esta aplicacin, es una muestra clara de lo que se puede
hacer con un poco de imaginacin, creatividad y sin duda la herramienta
correcta.
140
6. Seguir investigando las tecnologas biomtricas que son el futuro de las
aplicaciones y conjuntamente con herramientas multimedia obtener
mejor calidad en el software para as incrementar el nivel tecnolgico y
acadmico de la Universidad.
7. Hacer un buen uso de la ingeniera del software que es la produccin del
software de calidad. La calidad del software juega un rol muy importante,
porque se desea que nuestros sistemas de software sean rpidos,
fiables, fciles de usar, legibles, modulares y estructurados.
8. Se recomienda seguir Incluyendo facilidades de ayuda interactiva
(Videos en Macromedia Flash) siguiendo normas para interfaces claras y
consistentes, con la ayuda de softwares como Macromedia Captivate
que alivia la tarea de los manuales de usuario y facilita el entendimiento
y comprensin para el usuario final.
9. Poner todos los elementos del desarrollo bajo control de versiones y
documentarlas, inclusive la documentacin misma, cada vez que se
realice un cambio brusco tanto en el desarrollo como en la
documentacin.
10. Con respecto a la documentacin es importante utilizar grficos, no slo
texto (respetar la regla: una imagen vale ms que mil palabras).
141
ANEXO 1: MANUAL TCNICO
1. Requerimientos del Sistema
La instalacin y la configuracin de Windows deben realizarse
correctamente para permitir un funcionamiento adecuado de Mi amigo el
Lenguaje. Los puntos esenciales son: el modo SVGA, la tarjeta de
sonido y la memoria.
Microsoft Windows XP Home o Professional, Microsoft Windows
2000 Professional o Microsoft Windows 2000 Server.
Microsoft Visual Studio .NET Framework 1.1.
Microsoft SQL Server 2000 o superior.
Runtime DirectX 9c.
Procesador Pentium II o compatible a 450 MHz (Recomendado 733)
3 GB de espacio disponible en disco.
64 MB de Memoria RAM (recomendado 128 MB)
Monitor Sper VGA (resolucin 800 x 600), con 256 colores.
Unidad de CD-ROM.
Ratn Microsoft o compatible.
142
A continuacin se describe los elementos indispensables que utiliza Mi
Amigo el Lenguaje para su funcionamiento:
Tarjeta grfica y pantalla SVGA
Mi amigo el Lenguaje funciona de manera ptima con una visualizacin
de modo "true colors" (65 536 colores). Sin embargo un panel 800x600
1024x768 de al menos 256 colores permite utilizar Mi amigo el Lenguaje
con excelentes condiciones.
Tarjeta de sonido
Puede utilizarse cualquier tarjeta de sonido de 16 bits compatible con
Windows.
Sin embargo, sta debe de estar correctamente instalada para que
Windows - y por consiguiente Mi amigo el Lenguaje - pueda utilizarla.
Para esto, consulte el manual del usuario suministrado con la tarjeta de
sonido y su documentacin Windows.
Una vez finalizada la instalacin, se puede comprobar el buen
funcionamiento del par tarjeta de sonido/Windows con el grabador de
sonidos de Windows 2000, XP o con el magnetfono de Windows 95.
Conecte correctamente el micrfono y los auriculares (o los circuitos
amplificados), grabe su voz y escuche luego el resultado. Si oye bien su
voz, quiere decir que la tarjeta est bien instalada.
La memoria
Mi amigo el Lenguaje requiere al menos 16 Mb de memoria para
funcionar. Si slo dispone de 8 Mb de memoria, Mi amigo el Lenguaje
trabajar mucho ms despacio. En este caso, se aconseja cerrar las
dems aplicaciones cuando ejecute Mi amigo el Lenguaje, reducir el
nmero de programas residentes y evitar el uso de esta memoria.
143
1.1 Tarjeta de sonido
Mi amigo el Lenguaje requiere para funcionar una tarjeta de sonido.
En funcin del computador de que se disponga, esta tarjeta puede ser
incorporada a la tarjeta madre o presentarse como una tarjeta adicional.
En ese caso tendr que conectarse a una de las ranuras de extensin
del computador (slots). En muchos de los computadores multimedia esta
tarjeta se encuentra ya instalada.
Mi amigo el Lenguaje es compatible con todas las tarjetas de sonido de
16 bits que funcionen bajo Windows.
Quiz sea necesaria una instalacin del "software" de la tarjeta, que
consiste en cargar los "drivers" de la tarjeta en el disco duro y configurar
Windows para que los utilice.
Como norma general, habr que consultar el manual de instalacin de la
tarjeta de sonido y respetar rigurosamente las instrucciones de la misma.
Tras la instalacin, un mal funcionamiento del reconocimiento vocal y del
sistema de calificacin puede ser causado por la eleccin inadecuada
del micrfono o por una mala conexin (mal contacto, mala introduccin,
etc.). Grabe la voz con el grabador de sonidos de Windows 2000, XP o
el magnetfono de Windows 95 y escchela.
La mala conexin podr detectarse rpidamente: grabacin con ruidos
de fondo o ausencia de seal a la entrada.
144
1.2 Micrfono
Inserte el jack del micrfono a la clavija correspondiente a la tarjeta de
sonido. Por regla general, hay cuatro posibilidades:
Entrada lnea.
Entrada micrfono.
Salida auriculares o altavoces.
Conector MIDI
Tenga cuidado al utilizar la entrada del micrfono.
El micrfono es el elemento que transmite la voz al computador. Se trata
de una pieza esencial para el reconocimiento vocal.
145
Un mal micrfono deforma la voz, introduce parsitos y hace que la nota
alcanzada sea inferior. Durante el dilogo, Mi amigo el Lenguaje
encuentra dificultades para poder comprenderle. A pesar de sus
esfuerzos, le parece al nio que no se mejora, entonces es culpa del
micrfono.
Se recomiendan ciertos micrfonos cuando se trabaja en entornos
ruidosos. (SHURE SM10A, etc.), son unidireccionales y captan la voz en
un sector restringido. Estos micrfonos se recomiendan para salones,
exposiciones o cuando se utilizan como si fueran laboratorios de
idiomas.
Con ellos, varios alumnos pueden trabajar al mismo tiempo sin ser
molestados por los dems. Gracias a las caractersticas de estos
micrfonos los ruidos y las personas que hablan en la misma sala, etc.
son atenuados.
Ha de quedar claro, que los micrfonos normales no disponen de estas
caractersticas. En este caso se habr de intentar trabajar en un entorno
tranquilo en el que solamente su voz llegue al computador.
1.3 Auriculares o altavoces
Para la instalacin, efecte la misma operacin que para el micrfono.
Segn el tipo de altavoces de que disponga (con o sin amplificador),
deber utilizar la salida altavoces o la salida lnea. Consulte su
documentacin para obtener ms informacin.
Tenga cuidado al utilizar la salida de auriculares o altavoces.
Una mala calidad sonora puede provenir de la eleccin del auricular o
del altavoz o de una mala conexin (mal contacto, mala introduccin,
etc.).
146
En funcin del entorno en el que el nio se encuentre deber utilizar
auriculares o altavoces para escuchar lo que dice el computador.
Auriculares
Los auriculares le permiten trabajar sin molestar a las dems personas
que se encuentren en el mismo lugar que el nio. Segn el modelo de
auriculares tendr una o dos orejeras. ste es el funcionamiento habitual
en una sala de idiomas, en un centro de recursos multimedia, en un
despacho compartido, etc.
Altavoces
Si se encuentra el nio solo en una habitacin aislada o en su
apartamento y los altavoces no molestan a nadie, en este caso los
altavoces le brindan seguramente el modo ms cmodo para trabajar
con Mi amigo el Lenguaje.
Los auriculares y los altavoces tienen unas especificaciones tcnicas
que siempre estn claramente indicadas por los fabricantes. Igualmente
la tarjeta de sonido que se utilice debe adaptarse a las caractersticas
tcnicas de los auriculares o altavoces a los que se la vaya a conectar.
Tenga buen cuidado de que sean compatibles entre s.
147
ANEXO 2: MANUAL DE USUARIO
1. INTRODUCCIN
1.1 Descripcin general
Mi amigo el Lenguaje es un software de aprendizaje, para ayudar a corregir
problemas de lenguaje en nios/as de seis aos de edad, es un software de
concepcin absolutamente nueva. Se basa en la imitacin de la palabra
teniendo como herramienta principal la multimedia.
Esta forma de aprendizaje nica y viva se ha hecho posible gracias al uso
de las tecnologas avanzadas e innovadoras que conjuntamente con la
multimedia han hecho posible el tratamiento de la voz y su aprendizaje.
El objetivo principal de M amigo el Lenguaje permite mejorar la expresin
oral en la lengua Espaol. Con este sistema es posible practicar
pronunciando diversas palabras: Mi amigo el Lenguaje analiza la voz y
punta globalmente la pronunciacin ayudando al nio/a a progresar.
Pero eso no es todo. Es posible practicar la pronunciacin de una forma
mas divertida como manera de juego en el cual se escribe y repite mediante
un agente el cual utiliza sintetizacin de voz propia del agente para
pronuncia lo que el nio escriba, aqu se pueden escribir frases completas,
cifras de nmeros, etc.
148
2. REQUERIMIENTOS
2.1 Requerimientos mnimos de sistema
Es necesario disponer del siguiente software para que la aplicacin pueda
ejecutarse sin ningn problema:
Microsoft Windows XP Home o Professional, Microsoft Windows
2000 Professional o Microsoft Windows 2000 Server.
Microsoft Visual Studio .NET Framework 1.1.
Microsoft SQL Server 2000 o superior.
Runtime DirectX 9c.
Procesador Pentium II o compatible a 450 MHz (Recomendado 733)
3 GB de espacio disponible en disco.
64 MB de Memoria RAM (recomendado 128 MB)
Monitor Sper VGA (resolucin 800 x 600), con 256 colores.
Unidad de CD-ROM.
Ratn Microsoft o compatible.
A continuacin se describe los elementos indispensables que utiliza Mi
Amigo el Lenguaje para su funcionamiento:
149
2.2 Tarjeta de sonido
Mi amigo el Lenguaje requiere para funcionar una tarjeta de sonido.
En funcin del computador de que se disponga, esta tarjeta puede ser
incorporada a la tarjeta madre o presentarse como una tarjeta adicional. En
ese caso tendr que conectarse a una de las ranuras de extensin del
computador (slots). En muchos de los computadores multimedia esta tarjeta
se encuentra ya instalada.
Mi amigo el Lenguaje es compatible con todas las tarjetas de sonido de 16
bits que funcionen bajo Windows.
Quiz sea necesaria una instalacin del "software" de la tarjeta, que
consiste en cargar los "drivers" de la tarjeta en el disco duro y configurar
Windows para que los utilice.
Como norma general, habr que consultar el manual de instalacin de la
tarjeta de sonido y respetar rigurosamente las instrucciones de la misma.
Tras la instalacin, un mal funcionamiento del reconocimiento vocal y del
sistema de calificacin puede ser causado por la eleccin inadecuada del
micrfono o por una mala conexin (mal contacto, mala introduccin, etc.).
Grabe la voz con el grabador de sonidos de Windows, escchela y compar
con la voz grabada en la aplicacin.
La mala conexin podr detectarse rpidamente: grabacin con ruidos de
fondo o ausencia de seal a la entrada.
150
2.3 Micrfono
Inserte el Jack del micrfono a la clavija correspondiente a la tarjeta de
sonido. Por regla general, hay cuatro posibilidades:
Tenga cuidado al utilizar la entrada del micrfono.
2.4 Auriculares o altavoces
Para la instalacin, efecte la misma operacin que para el micrfono.
Segn el tipo de altavoces de que disponga (con o sin amplificador), deber
utilizar la salida altavoces o la salida lnea. Consulte su documentacin para
obtener ms informacin.
Tenga cuidado al utilizar la salida de auriculares o altavoces.
Una mala calidad sonora puede provenir de la eleccin del auricular o del
altavoz o de una mala conexin (mal contacto, mala introduccin, etc.).
Jack
151
3. INSTALAR MI AMIGO EL LENGUAJE
3.1 Prerrequisitos
Prerrequisitos que se deben tener en cuenta antes de la Instalacin:
Previamente debe tener instalado SQL Server 2000 en adelante.
Como segundo requisito y el ms importante es el FrameWork de
trabajo de .Net Versin 1.0 Versin 1.1, Caso contrario el AutoRun
del CD-ROM no se ejecutara. Para solucionar este problema y antes
de que empiece la instalacin; explore el CD-ROM encontrara una
carpeta con el nombre de Prerrequisitos, dentro de este directorio
encontrara el FrameWork de trabajo de .Net Versin 1.0 Versin
1.1 y podr instalarlo sin ninguna complicacin. Una vez instalado el
FrameWork abra la bandeja del CD-ROM y vuelva a cerrar as se
ejecutara el AutoRun del CD.
3.2 Indicaciones
Para iniciar la instalacin de Mi Amigo el Lenguaje:
Inserte el CD en la unidad de lector de CD-ROM.
Enseguida se ejecutara el AutoRun y aparecer una pantalla de
bienvenida, pero si esto no sucede se lo puede hacer manualmente
explorando el CD y haciendo doble clic en Instalador.exe, en el
siguiente directorio: \bin\Debug\Instalador.exe el problema persiste
revise si estn instalados los prerrequisitos.
152
3.3 Pasos
Pasos que debe realizar para tener una buena instalacin:
Una vez ejecutado la pantalla del Instalador se muestra un men en el
que se tiene cuatro opciones:
Instalar Requisitos.
Instalar Aplicacin.
Instalar Diccionario.
Leer Manual.
1) Instalar Requisitos: Aparecern los requisitos que necesita el
programa para poder ejecutarse sin problema. En la parte inferior del
asistente estn los vnculos (iconos) de los programas necesarios
que deben ser instalados para su correcto funcionamiento.
2) Instalar Aplicacin: Se ejecutar un asistente de instalacin del
programa Mi Amigo el Lenguaje y este le guiara y detallara los pasos
que debe seguir, hasta finalizar el asistente.
3) Instalar Diccionario: Se instala el Diccionario (Base de datos), al
momento de dar clic solo resta esperar unos segundos hasta que nos
muestra un mensaje de confirmacin de que el Diccionario ha sido
creado satisfactoriamente.
4) Leer Manual: Esta opcin es para poder mostrar la documentacin
en formato PDF, en la cual se detalla todas las funciones de la
aplicacin y su correcta utilizacin de la misma. Para de esta forma
facilitar la exploracin y conocer el alcance de la aplicacin.
153
4. EJECUTAR MI AMIGO EL LENGUAJE
En el momento de la instalacin, Mi amigo el Lenguaje crea la Base de
datos en el Servidor de SQL y crea un directorio con ficheros en el
directorio raz de Windows. (Importante! no se puede cambiar el path de
destino)
Estos ficheros incluyen los parmetros vinculados al funcionamiento de Mi
Amigo el Lenguaje: sonidos, ayudas interactivas y la aplicacin en general,
etc.
Algunos parmetros se definen en el momento de la instalacin:
Aplicacin Completa.
El Diccionario (Base de Datos)
Ejecutar Mi amigo el Lenguaje
Para ejecutar Mi Amigo el Lenguaje basta con pulsar el icono
correspondiente que se encuentra en el Escritorio en el Men Todos los
programas en la barra Inicio.
Desinstalar Mi amigo el Lenguaje
Para suprimir Mi amigo el Lenguaje del disco duro, se debe ir a Panel de
control ah se encuentra la opcin Agregar o quitar Programas, basta con
buscar el nombre correspondiente y ejecutar el programa UNINSTALL
Quitar con el icono correspondiente.
154
5. RECOMENDACIONES
5.1 Consignas bsicas
Acaba de instalar Mi amigo el Lenguaje y seguro que est impaciente por
comenzar su "exploracin".
Para que todo ocurra de la mejor manera posible y no se vea decepcionado
por la utilizacin de Mi amigo el Lenguaje le propone unas reglas que se
aconseja respetar:
Instlese confortablemente
Si dispone de microauriculares, colqueselos en la cabeza de tal manera
que los auriculares se encuentren correctamente posicionados. Hgales
deslizarse hasta que se encuentre cmodo con ellos.
A continuacin, ajuste el micrfono: deber situarse a uno o dos
centmetros de la boca y ligeramente ladeado, para reducir el soplido de la
respiracin.
Hable slo cuando sea su turno!
El modo de comunicacin entre el nio y el computador es principalmente
su voz. Por consiguiente no hable sino cuando el sistema espera una
respuesta.
Si ha activado la opcin "Grabar" el computador "espera una respuesta" es
decir se espera la voz del nio, pero solo por un delimitado tramo de tiempo
(3 segundos), esta espera se caracteriza por el mensaje:
Grabando...
que aparece en la parte inferior del recuadro donde se grafica la onda.
155
Algunas reglas bsicas que se deben respetar. Si desde el principio toma
esta costumbre, enseguida se olvidar de estos pequeos inconvenientes y
la pronunciacin se tornara fcil.
Hable despus de escuchar la seal sonora (si est activada);
Evite hablar al mismo tiempo con otras personas;
Como norma general, intente trabajar solo en un entorno tranquilo; en
caso contrario utilice un micrfono adaptado (Cf. Micrfono);
Evite las dudas y los tartamudeos y tmese el tiempo necesario para
responder tranquilamente;
Hable suficientemente alto;
Hable suficientemente deprisa cuando las palabras son largas. No se
olvide que su tiempo de respuesta est limitado a 3 segundos.
Finalmente sea natural y est relajado e intente imitar lo mejor posible el
modelo. As podr adquirir el ritmo, el acento tnico y la pronunciacin
correcta de cada palabra.
156
6. IMPORTANTE:
Cuando trabaje sobre la pronunciacin, esfurcese lo ms posible en
imitar el modelo que se le propone. Cuanto mejor consiga imitarle
ms aumentar su nota (calificacin, porcentaje de acierto).
Intente variar su manera de hablar y su pronunciacin, aun cuando el
resultado le parezca artificial. As descubrir rpidamente cmo
puede mejorar su nota.
Cuando reescuche las grabaciones de su voz y del modelo, se podr
seleccionar una pequea parte de la palabra para ampliar dicha
trama. El trabajo de escucha y de comparacin es muy preciso y le
permite localizar los errores.
157
7. MI AMIGO EL LENGUAJE
7.1 Pantalla Principal
Esta es la pantalla de presentacin de Mi Amigo el Lenguaje es el men
principal para explorar todas las opciones que le ofrece el programa.
Esta pantalla es el men principal de la aplicacin, aqu estn los accesos
directos a las dems opciones que tiene la aplicacin tanto para el nio
como para el administrador. Esta pantalla se compone con botones
animados en tres tiempos; leyenda de descripcin con titulo, color y detalle;
animacin de logotipos y botones propios del administrador.
Su interfaz en general tiene colores suaves, vistosos y formas relevantes
que hace atraer su atencin.
158
7.1.1 Funciones disponibles
7.1.1.1 Funciones de Usuario Nio
Estas funciones son propiamente para el nio donde puede practicar
la pronunciacin, para la cual se tiene dos opciones que son:
1. Para iniciar el ejercicio de pronunciacin basta con:
Seleccionar "PRACTICAR
PRONUNCIACIN" en el men principal,
y
Pulsar el botn que representa la
pronunciacin.
2. Para iniciar el ejercicio de Jugar, escribiendo y repitiendo basta con:
Seleccionar "JUGAR ESCRIBIENDO Y
REPITIENDO" en el men principal,
y
Pulsar el botn que representa la
pronunciacin.
Adicionalmente se tiene cinco opciones para el nio el cual se ha visto
conveniente aadirlas al Men principal.
159
Las funciones siguientes estn disponibles en el Men principal: basta
con pulsar el botn asociado a la funcin:
Mover la Pantalla: Es posible mover de un lado a otro
la pantalla en caso de que se la quiera poner en otro
lado del escritorio, si no se quiere cerrarla.
Aparecer Ocultar el Agente: Es posible ocultar o
hacer aparecer el Agente, as se tiene la manipulacin
del mismo.
Repetir Informacin: Es posible hacer que el Agente
nos repita la informacin de introduccin.
Ayuda Interactiva: Es posible ver un video de ayuda
de cmo manejar y explorar el programa Mi Amigo el
Lenguaje, exponiendo un ejemplo de cmo se debe
utilizar el programa.
Salir: Salir de la Pantalla Principal y abandonar por
completo Mi Amigo el Lenguaje.
160
7.1.1.2 Funciones de Administrador
Estas funciones son propiamente para el administrador por lo tanto
esta restringido el acceso a usuarios comunes, para poder acceder a
estas funciones se realiza mediante el ingreso de nombre de usuario
y su respectivo password. El Administrador quien es la persona
encargada de administrar el programa de tal forma que solo l pueda
agregar, eliminar y modificar; palabras, sonidos e imgenes, para la
cual se tiene tres opciones que son:
Las funciones siguientes estn disponibles en el Men principal:
basta con pulsar el botn asociado a la funcin:
Administrar: Es posible agregar mas palabras al
diccionario con su respectiva imagen y sonido.
Mediante esta opcin se puede almacenar los tres
modelos (Palabra, Imagen, Sonido)
Imgenes: Es posible editar las imgenes existentes,
mediante la eliminacin de la misma y poner una mejor
imagen de la que ya exista.
Grabadora: Es posible editar los sonidos existentes
grabar nuevos sonidos sin limite de tiempo y con
entrada de audio auxiliar como tambin modificar la
calidad de sonido y control del volumen.
161
7.2 Ejercicios de pronunciacin
Los ejercicios de pronunciacin permiten entrenarse en pronunciar
correctamente las palabras.
El ejercicio brinda una grabacin modelo de la palabra seleccionada: basta
con escuchar, repetir imitando e intentar obtener la mejor pronunciacin
posible. No dude en utilizar todas las funciones disponibles para mejorar la
elocucin.
7.2.1 Procedimiento
El objetivo consiste en detectar las diferencias entre las dos
pronunciaciones:
1. Analice los dos grficos y detecte de manera visual las partes en
que aparecen diferencias.
2. Escuche varias veces la pronunciacin modelo correspondiente,
independientemente. Intente comprender el motivo de la
diferencia.
3. Haga varios intentos de pronunciacin concentrndose
nicamente en las partes referidas. Pronuncie el resto de la
palabra de manera normal.
162
7.2.2 Cmo responder?
A continuacin se muestran unas consignas bsicas que le ayudarn a
responder durante el ejercicio de pronunciacin:
Siempre despus de la seal sonora: Mi Amigo el Lenguaje no podr
reconocerle si el nio, habla demasiado deprisa.
Su tiempo de grabacin de la voz est limitado: la duracin mxima
durante la que puede hablar es de 3 segundos.
Se pueden tener problemas con las palabras largas: hay que decirlas
bastante rpidamente para que el computador no le interrumpa.
7.2.3 Pantalla: Practicar Pronunciacin
163
7.2.4 Funciones disponibles
Las funciones siguientes estn disponibles durante el ejercicio de
pronunciacin: basta con pulsar el botn asociado a la funcin:
Avanzar a la palabra siguiente: Paso directo a la
siguiente palabra. Entonces se escucha la siguiente
palabra.
Volver a la palabra anterior: Paso directo a la
anterior palabra. Entonces se escucha la siguiente
palabra.
Avanzar a la palabra final: Paso directo a la ltima
palabra. Entonces se escucha la ltima palabra.
Volver a la palabra inicio: Paso directo a la primera
palabra. Entonces se escucha la primera palabra.
Imagen: Es posible escuchar el modelo activando
esta funcin. (Imagen que describe a la palabra
correspondiente). Entonces se escucha sonido de la
palabra seleccionada cuantas veces sea.
164
Escuchar el modelo: Es posible escuchar el modelo
activando esta funcin. Entonces se escucha la
palabra seleccionada cuantas veces sea.
Reproduccin de su grabacin: Activando esta
funcin puede escuchar su grabacin.
Grabar la voz: Es posible grabar la voz activando
esta funcin. Entonces se graba la palabra
pronunciada cuantas veces sea con un limitado
tiempo de grabacin de 3 segundos.
Comparar la Pronunciacin: Es posible comparar el
modelo y la voz activando esta funcin. Entonces se
compara la pronunciacin cuantas veces sea,
esperando un resultado en porcentaje.
Ayuda del " software" : La ayuda para la utilizacin
del "software" es accesible a partir de este botn.
Es posible reproducir un video de ejemplo de cmo
es su funcionamiento.
Salir: Salir del ejercicio de pronunciacin y volver al
men principal de Mi Amigo el Lenguaje.
Algunas funciones pueden no ser accesibles. En ese caso los botones
correspondientes son inactivos.
165
7.2.5 Pantalla: Jugar (Escribiendo y Repitiendo)
En esta pantalla el nio tiene otra forma ms divertida de practicar su
pronunciacin y al mismo tiempo ejercitando su escritura con el teclado.
Esta pantalla esta constituida con algunas caractersticas que la diferencian de
los otros mdulos como es de la sinterizacin de voz propia del agente, por
medio de la escritura del nio en el editor de texto que presenta, para lo cual se
ha agregado algunas opciones importantes como el borrado del editor de texto,
la ejecucin de la pronunciacin y la ayuda interactiva la cual muestra un
ejemplo practico de cmo se debe utilizar este modulo.
166
7.2.6 Funciones disponibles
Las funciones siguientes estn disponibles durante el ejercicio de
pronunciacin: basta con pulsar el botn asociado a la funcin:
Hacer Hablar al Agente: Se posible hacer que el
Agente hable todo lo que se escriba en el cuadro de
texto situado en el centro de la pantalla.
Nuevo: Es posible borrar por completo todo lo que se
haya escrito en el cuadro de texto para seguir con la
practica.
Ayuda del " software" : La ayuda para la utilizacin
del "software" es accesible a partir de este botn.
Es posible reproducir un video de ejemplo de cmo
es su funcionamiento.
Salir: Salir del ejercicio de escribir y repetir y volver al
men principal de Mi Amigo el Lenguaje. Previo su
confirmacin de que si desea abandonar el programa.
Las opciones de administrador no estn detalladas por factores de seguridad,
pero el administrador puede ver su respectivo funcionamiento mediante la
ejecucin de la Ayuda Interactiva que proporciona un video ejemplo de cada
aplicacin que conforma el sistema.
167
8. EN CASO DE PROBLEMAS
8.1 No se oye nada!
Compruebe que los auriculares o el altavoz estn bien conectados en
el lugar adecuado;
Compruebe los auriculares o altavoces con otro "software" o con otro
equipo;
Compruebe la instalacin y el funcionamiento de Mi Amigo el
Lenguaje; este problema no puede ser ms que la consecuencia de
un problema de otra naturaleza. Analice los otros sntomas;
Quiz la tarjeta de sonido no funciona. Compruebe que suena bien
con otros "softwares". Intente grabar la propia voz con el grabador de
sonidos de Windows y escuchar el resultado;
Si la tarjeta de sonido le ha sido entregada con un utilitario de tipo
"mesa de mezcla", compruebe sus niveles.
8.2 Oigo mal!
Compruebe que el auricular o el altavoz est bien introducido y en el
lugar correcto;
Compruebe su auricular o altavoz con otro "software" o con otro
equipo;
Es la calidad siempre mala o solamente lo son sus grabaciones
durante los ejercicios de pronunciacin? En este caso el problema es
del micrfono;
Quiz la tarjeta de sonido funcione mal. Comprubela
independientemente del "software";
Si solamente se escucha un ruido brusco y continuo, puede tratarse
de un problema de tarjetas;
Si su tarjeta de sonido le ha sido suministrada con un utilitario del tipo
"mezcla", compruebe los niveles.
168
8.3 El computador no me oye nada!
Compruebe que el micrfono est bien conectado y en el lugar
adecuado;
Compruebe el micrfono con otro "software" o con otro equipo;
Hable fuerte, intente ver si el computador no oye nada o si le oye
mal;
Compruebe la instalacin y el funcionamiento de Mi Amigo el
Lenguaje; no es quiz ms que la consecuencia de un problema de
otra naturaleza. Analice, por tanto, los otros sntomas;
La tarjeta de sonido quiz no funciona. Compruebe si puede grabar la
voz con el grabador de sonidos de Windows;
Si la tarjeta de sonido viene con un utilitario del tipo "mezcla",
compruebe sus niveles.
8.4 No se puede ejecutar Mi Amigo el Lenguaje!
Se ha hecho bien la instalacin? Vuelva a empezar y siga con todo
detalle las indicaciones;
Compruebe que Windows est bien configurado;
Compruebe la memoria disponible;
Funciona bien la tarjeta de sonido? Vea el manual de instalacin de
la tarjeta de sonido;
Puede haber incompatibilidades entre su tarjeta de sonido y otras
tarjetas de su computador: igual direccin, igual IRQ, etc. Consulte
las documentaciones de las diferentes tarjetas e intente solventar las
incompatibilidades;
169
8.5 No se consigue instalar Mi Amigo el Lenguaje!
Compruebe que tiene acceso al lector de CD-ROM visualizando el
directorio principal del CD-ROM de Mi Amigo el Lenguaje con el
gestor de ficheros. Consulte la documentacin de su lector;
Valore el espacio disponible que necesita en funcin del tipo de
instalacin y compruebe que su disco duro no est saturado;
Si el problema es de la instalacin de la tarjeta de sonido, consulte la
documentacin correspondiente, y compruebe las incompatibilidades
entre tarjetas;
Compruebe que Windows est bien configurado.
Recuerde que para ejecutar Mi Amigo el Lenguaje! Previamente
debe estar instalado el FrameWork de trabajo de .Net (Versin 1.0
1.1), al igual que el FrameWork de trabajo de DirectX 9 y los
utilitarios para el MSAgente.
No esta por mas decir que la Base de datos es la parte central del
programa y por lo tanto debe estar ejecutndose en el Servidor de
SQL.
8.6 No consigo ms que malas notas!
Consulte la seccin anterior Mejora de la pronunciacin y siga bien
las indicaciones dadas;
Su micrfono quiz tiene tendencia a degradar su nota. Compruebe
la seccin Micrfono de la seccin Recomendaciones;
Se trata quiz de un simple problema de conexin;
Las notas disminuyen si el ruido ambiental es demasiado fuerte.
Intente trabajar en un lugar tranquilo.
170
8.7 Las imgenes son de mala calidad!
Dispone de una tarjeta SVGA, 512 Kb? sta, es indispensable para
obtener un visionado correcto de las imagenes;
Ha configurado correctamente la pantalla bajo Windows? Verifique
que el modo 800 x 600 x 256 colores es accesible;
Mi Amigo el Lenguaje advierte al arrancarse que no funciona nada
ms que con 16 colores! Compruebe la configuracin Windows y el
tipo de su tarjeta de pantalla.
171
9. GLOSARIO DE TERMINOS
Micrfono.- Es el elemento que transmite la voz al computador. Se trata de
una pieza esencial para el reconocimiento vocal.
Auriculares.- Le permiten trabajar sin molestar a las dems personas que
se encuentren en el mismo lugar que el nio. Segn el modelo de
auriculares tendr una o dos orejeras. ste es el funcionamiento habitual en
una sala de idiomas, en un centro de recursos multimedia, en un despacho
compartido, etc.
Altavoces.- Si se encuentra el nio solo en una habitacin aislada o en su
apartamento y los altavoces no molestan a nadie, en este caso los
altavoces le brindan seguramente el modo ms cmodo para trabajar con
Mi amigo el Lenguaje.
172
APNDICE A: Glosario de trminos
Algoritmo: Conjunto de pasos lgicos bien definidos para resolver un
problema en un nmero finito de operaciones.
Almacenamiento: Descripcin de un dispositivo o medio que pueda aceptar
datos, detenerlos y entregarlos cuando lo soliciten posteriormente.
Archivo: Conjunto de registros relacionados que se tratan como una unidad.
Base de datos: Es una coleccin de informacin disponible en formato
computarizado. Las bases de datos pueden cubrir muchas disciplinas o una
disciplina especfica. Puede variar desde referencias bibliogrficas hasta texto
completo de los artculos.
Disco Duro: Denominado tambin Hard Disk. Es un dispositivo de
almacenamiento de informacin que va instalado en la computadora
internamente, en el se instala el Software o programas a utilizar y se guarda o
graba la informacin.
Macromedia Flash: Es una herramienta de creacin de pginas Web que
permite crear sitios ricos en grficos y animaciones con ms control sobre
estos grficos. Los grficos y animaciones creados con Flash son mucho ms
pequeos que los formatos tradicionales (gifs animados, avi, etc) porque
utilizan vectores en vez de mapas de bits. (Los mapas de bits contienen
instrucciones que dividen el grfico en puntos e indican al computador qu se
debe hacer con cada uno de estos puntos, en cambio los vectores contienen
las instrucciones que son una especie de frmulas para dibujar lneas y sus
coordenadas).
173
SQL: Es el lenguaje estndar para el acceso a bases de datos relacionales. Se
trata de un lenguaje creado a partir de un estndar pero que vara en funcin
del sistema que lo utiliza. SQL permite gestionar, controlar y definir bases de
datos.
ODBC: Asegura una conexin continua desde un cliente, servidor o
aplicaciones Web. Provee una solucin completa e independiente para el
acceso a datos, porque define estndares para el proceso y acceso fsico a las
bases de datos.
Password: Trmino utilizado para identificar la clave secreta o privada de
acceso de un programa o cuenta.
Usuario: Nombre aplicado a cualquier persona que utilice a la computadora o a
un sistema de informacin.
174
APNDICE B: Recursos tiles
Repositorios de Componentes y Cdigo
Direccin Descripcin
www.sourceforge.net La pagina mas destacada de
desarrollo open source que provee un
servicio de hosting gratuito para todo
esta comunidad.
Si se necesita cualquier programa
Open Source, con cdigo y todo
conviene empezar buscando por ac.
www.codeproject.com Indudablemente la pgina mas
trabajada de desarrollo en .NET y
otros lenguajes. Contiene gran
cantidad de artculos, todos editados,
con ranking, en una palabra:
excelente.
www.elguille.info La mejor pagina de habla hispana con
artculos sobre desarrollo con
manuales de su autor, con un
lenguaje sencillo y entretenido. Guille
fue declarado MVP por su aporte a la
comunidad de desarrolladores
acercndole a los usuarios la ltima
175
tecnologa.
www.planetsourcecode.com Sitio con gran cantidad de cdigo
fuente y controles pero como no estn
muy editados cuesta un poco mas
buscar la informacin, pero si se
busca algo difcil de hacer no importa
el lenguaje en que esta trabajando
este es un excelente lugar para
encontrarlo.
www.gotdotnet.com Sitio mantenido por Microsoft donde
participan activamente miembros que
forman parte del equipo de desarrollo
de .NET y que liberan controles o
herramientas que no se pudieron
incluir en el Visual Studio y presentan
tutoriales.
176
BIBLIOGRAFA
Referencias de Internet:
http://www.angelfire.com/ia3/angel82
http://www.audiorestoration.com/spanish/tavoice_comp.htm
http://www.monografias.com/trabajos12/ingreq/ingreq.shtml
http://www.speech.usyd.edu.au/comp.speech/Section5/Q5.2.html
http://www.tid.es/presencia/publicaciones/comsid/esp/articulos/vol812/sic
/sic.html
http://www.tid.es/presencia/publicaciones/comsid/esp/articulos/vol24/text
ovoz/images/grandes/fig4.html
http://www.sil.org/lingualinks/library/literacy/fre4598/fre4603/drz151/drz7
10.htm
Referencias de Libros:
[Keller, 1992]
Erik Keller. "Fundamental voice speech synthesis and speech
recognition, Basic concepts Estate of art and future Challenger".
University of Laussane, Switzer Land.
[Camacho, 1978]
Jos Camacho. "Diccionario ilustrado de la lengua espaola". Ed.
Ramn Sopena, 1978.
[James, 1992]
Senn James. Anlisis y Diseo de Sistemas Mc GrawHill Colombia
[Hartan, 1984]
Hartan W. Anlisis, requisitos, determinacin y diseo de sistemas de
informacin. Paraninfo 1984 6ta. Edicin
[Jersey, 1990]
F. R. Moore, Prentice Hall Inc., New Jersey. 2 Seccin del libro
Elements of Computer Music
[Granizo, 2000]
Evelio Granizo Montalvo. Programacin Estructurada en Pseudo-
Codigos Teora y Ejercicios 4
ta
Edicin.
Gua Monogrfica del Audio digital y MIDI Editorial Anaya
JORDA, Sergi.