Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso 20092010
NDICE DE CONTENIDOS:
1
Agradecimientos ...................................................................9
Resumen/Abstract............................................................... 11
2.1
Resumen...................................................................... 11
2.2
Abstract ....................................................................... 11
Resumen ........................................................................... 13
Introduccin ....................................................................... 21
Objetivos ........................................................................... 23
Modelo acstico............................................................. 25
6.1.1
6.2
Modelo de lenguaje........................................................ 26
6.2.1
7
Tecnologas .................................................................. 35
7.1.1
7.1.1.1
CMU Sphinx....................................................... 35
7.1.1.2
HTK:................................................................. 37
7.1.1.3
Julius ................................................................ 38
7.1.2
7.2
7.1.2.1
7.1.2.2
7.1.2.3
Javy2................................................................ 40
Herramientas ................................................................ 41
7.2.1
Programacin .......................................................... 41
7.2.1.1
7.2.1.2
SVN.................................................................. 42
7.2.1.3
7.2.1.4
Cruise Control.................................................... 44
7.2.2
Generacin de Modelos............................................. 45
7.2.2.1
7.2.3
Documentacin........................................................ 45
7.2.3.1
7.2.4
Doxygen ........................................................... 45
Grabacin de sonido................................................. 46
7.2.4.1
8
Audacity............................................................ 46
Desarrollo .......................................................................... 47
8.1
8.1.1
Especificacin .......................................................... 48
8.1.1.1
Accin Movimiento.............................................. 48
8.1.1.2
8.1.1.3
8.1.1.4
8.1.1.5
8.1.1.6
Teletransportarse ............................................... 58
8.1.2
8.1.2.1
VocaliusLib ........................................................ 60
8.1.2.2
Vocalius ............................................................ 61
8.1.3
8.2
Implementacin....................................................... 64
8.1.3.1
VocaliusLib ........................................................ 64
8.1.3.2
Vocalius ............................................................ 64
8.2.1
Diseo.................................................................... 60
Especificacin .......................................................... 65
8.2.1.1
8.2.1.2
8.2.1.3
8.2.1.4
8.2.1.5
8.2.2
Diseo.................................................................... 74
8.2.3
Implementacin....................................................... 76
1 Agradecimientos
En primer lugar agradecer a nuestros tutores Luis Hernndez Yez y
Pedro Antonio Gonzlez Calero todo el apoyo y la confianza que han
depositado en nosotros. Por la tranquilidad que nos han transmitido
en momentos en los cuales no nos veamos capaces de llegar a buen
puerto...
Mencin especial requiere David Llans, ya que ha sido el que nos ha
ayudado y explicado cualquier duda que nos surga acerca de la
arquitectura, diseo e implementacin de Javy.
Tambin agradecer a todos los profesores y compaeros con quienes
hemos compartido tanto durante estos aos, junto a los cuales
hemos pasado buenos y malos momentos, y que han estado ah para
tendernos una mano cuando lo hemos necesitado. Adems de vivir
esta experiencia junto a ellos, hemos conocido a alguno de nuestros
mejores amigos.
A nuestras familias por habernos apoyado y comprendido durante
estos aos, por haber tenido tanta paciencia en especial durante
estas ltimas semanas tan frenticas, y sobre todo por haber
confiado desde el primer da y no haber dudado nunca de nosotros.
Por ltimo pero no por ello menos importante, agradecer a nuestros
amigos todo su apoyo, sin duda necesario para sacar fuerzas de
flaqueza. Gracias por estar ah siempre, pero sobre todo en los
momentos difciles, y tambin por distraernos y ayudarnos a
evadirnos de la presin y nervios que supone entregar un proyecto
Este proyecto est dedicado a todos vosotros, GRACIAS.
2 Resumen/Abstract
2.1 Resumen
El proyecto ha consistido en la investigacin en el campo de modelos
acsticos, generacin de dichos modelos en distintos idiomas, e
integracin de los mismos en la infraestructura de un juego con el
objetivo de manejar el avatar del juego a travs de rdenes de voz,
sin necesidad de utilizar ninguna interfaz fsica, como pueda ser el
teclado o el ratn.
Una vez conseguido esto hemos realizado una aplicacin web de cara
a la recoleccin de las grabaciones, gracias a la cual se ha
automatizado el proceso de entrenamiento de un modelo acstico
previamente generado manualmente.
Tambin hemos tratado de mostrar el potencial de estos sistemas
reconocedores cuando son integrados en aplicaciones, no solo de
escritorio sino videojuegos desde los que podemos manejar un
lenguaje lo ms prximo al natural.
2.2 Abstract
The Project has consisted in researching into acoustic model field, the
way to generate them in different languages, and a later application
in a game, with the aim of controlling the avatar by voice commands,
without using any other physical interface like keyboard or mouse.
Once we have this, we create a web application to record voice
transcriptions and train an acoustic model previously generated in an
automated way.
11
3 Resumen
Analizando las tendencias actuales se advierte la importancia de los
sistemas de reconocimiento por voz. Actualmente los mayores
referentes en desarrollos informticos estn concediendo grandes
cantidades de sus fondos a investigacin en estas reas.
Todos tenemos conocimiento de estos procedimientos desde hace
algn tiempo, en sistemas telefnicos y otras aplicaciones. Sin
embargo su funcionamiento no se poda considerar ni prximo a lo
aceptable y su evolucin se haba visto truncada dado que la
tecnologa no permita una mayor tasa de acierto.
Es ahora, en estos tiempos, cuando podemos decir que la tecnologa
se encuentra en su punto lgido para el desarrollo de estos sistemas.
Pero no solo la tecnologa corre a favor, el mercado tambin.
Actualmente se vive una autentica revolucin en la manera de
interactuar con las mquinas. Esto, lgicamente, influye directamente
en los sistemas que estamos tratando.
Lo expuesto anteriormente tuvo sin duda un gran peso en nuestra
decisin al escoger este proyecto, sin embargo, hay otro motivo que
nos impuls a hacerlo: la conciencia social. Estamos rodeados de
gente con trabas para utilizar los sistemas, para los que la tecnologa
de reconocimiento del habla supone un importantsimo avance.
Prcticamente todo el mundo ha disfrutado de juegos, tanto en
ordenadores como en consolas con mando, joystick o teclado, es hora
de cambiar esto y eliminar las barreras que la sociedad impone a
estas personas. Estas cuestiones que para nosotros supone un lujo,
un divertimento, para determinados usuarios significan puertas que
se abren, barreras que se superan.
Es un modo no definitivo, sin
nuevos retos.
Los desafos iniciales que surgieron eran averiguar como es el
reconocimiento por voz. Que programas implementan eso y como
funcionan. As en este primer momento descubrimos programas como
Sphinx y Julius desarrollados en Java y C respectivamente. Tambin
deberamos saber donde lo debamos integrar.
Buscando videojuegos dimos con OpenSim, una modalidad de cdigo
abierto de Second Life para este juego, tambin sera necesario usar
Hippo Open viewer, visor necesario para acceder de un modo grafico
al servidor OpenSim y donde deberamos integrar el reconocedor. A
estas alturas vimos que la mayora de los videojuegos estaban
implementados en C o C++ lo que ya nos empujaba a elegir Julius
como motor de reconocimiento.
Para terminar optamos por informarnos acerca de las caractersticas
de cada uno. Este fue el factor definitivo, vimos que Julius tenia una
tasa de acierto sensiblemente mayor que la de su competencia. Por lo
que finalmente nos inclinamos por el reconocedor Julius.
Intentando poner en marcha este reconocedor en su versin
compilada, decidimos migrarnos a Linux lo que nos facilitara, mas
adelante, todas las labores de compilacin. Documentndonos sobre
la puesta en marcha de la aplicacin descubrimos dos nuevos
conceptos: Modelo Acstico y de Lenguaje.
14
fonema
tendr
una
representacin
como
sonido.
Esto
15
17
un
prototipo
que
nos
permitiese
probar
su
18
19
4 Introduccin
En la actualidad, existe una autntica revolucin conceptual en la
informtica. Podemos ver como algunos sistemas, Wii de Nintendo,
han
revolucionado
simplemente
el
mundo
modificando
el
de
las
consolas
mando
para
videojuegos
que
reconociese
travs
de
un
sistema
de
webcams,
interactuar
las
pelculas
da
un
giro
de
ciento
ochenta
grados,
21
22
5 Objetivos
A continuacin enunciaremos los principales objetivos del proyecto,
explicando en qu consiste cada uno de ellos:
Investigacin en el campo del reconocimiento de voz con tecnologas
de cdigo libre. De esta tarea, que podemos denominar como
principal, ser de donde surjan el resto de lneas que a continuacin
detallaremos.
Eleccin de un motor de reconocedor. Dicha decisin vendr
condicionada
por
el
lenguaje
en
el
que
se
encuentren
23
24
6 Conceptos tericos
En este punto vamos a tratar unos cuantos conceptos tericos que
consideramos clave para el correcto seguimiento de la memoria.
Esta
representacin
puede
ser
visual,
basada
en
6.1.1
Caso particular
de
las
grabaciones
del
idioma
ingls
para
utilizar
ambas
conseguiremos
una
mayor
fiabilidad
en
el
reconocimiento de este.
Parte del proyecto consistir en la creacin de un modelo acstico en
espaol, por lo que desarrollaremos una descripcin ms extensa del
proceso en dicho apartado.
6.2.1
Caso particular
l eh f t
r ay t
Aqu se puede ver como se crea la clase OPMOV que contiene dos
27
para
Julius.
Para
realizar
este
tratamiento
Julius
28
plum p l ah m
% FRUIT_N
apples ae p ax l z
oranges ao r ax n jh ax z
bananas b ax n ae n ax z
% NUM
one w ah n
two t uw
three th r iy
four f ao r
Como podemos ver, el fichero consiste en una lista de palabras (las
palabras de nuestra gramtica) junto con su descomposicin en
fonemas. Estas palabras aparecen agrupadas segn el smbolo
terminal en el que se engloben (en este ejemplo, los smbolos
terminales seran NUM, FRUIT_N,...).
Ficheros .grammar:
Los smbolos terminales aparecern por otro lado en las reglas de la
gramtica, especificadas este fichero. Un posible ejemplo de ese
fichero, en lnea con el ejemplo anterior, podra ser:
S : NS_B HMM SENT NS_E
S : NS_B SENT NS_E
SENT: TAKE_V FRUIT PLEASE
30
31
2 HMM
3 TAKE_V
4 PLEASE
5 FRUIT_N_1
6 FRUIT_N
7 NUM
N-Gram:
Es una subsecuencia de n elementos de una secuencia dada. Los
elementos en cuestin pueden ser fonemas, slabas, letras o palabras
de acuerdo a la aplicacin sobre la que se est aplicada la gramtica.
Algunos modelos de lenguaje construidos sobre n-grams son los
Modelos de Markov de orden n-1.Un modelo n-gram es un tipo de
modelo probabilstico para predecir el siguiente elemento en una
secuencia. Se utilizan en varias reas de procesamiento de lenguaje
natural y anlisis de la secuencia gentica.
HMM:
Los modelos ocultos de Markov (HMM del ingls Hidden Markov
Model) asumen que el sistema estudiado sigue un proceso de Markov
con parmetros desconocidos.
La tarea fundamental consiste en determinar los parmetros ocultos a
partir de los parmetros observados. La diferencia fundamental
respecto a un modelo de Markov habitual consiste en que los estados
no son directamente visibles para el observador, pero s lo son las
variables influenciadas por el estado. Cada estado tiene una
32
33
34
7.1 Tecnologas
7.1.1
7.1.1.1
CMU Sphinx
35
de
Sphinx
ha
sido
utilizado
en
varios
programas
utiliza
una
representacin semicontnua
de
modelos
un
sistema
ms
flexible
para
la
investigacin
en
7.1.1.2
The
HTK:
Hidden
Markov
Model
Toolkit
(HTK)
es
un
conjunto
de
HTK
se
utiliza
sobre
todo
para
la
investigacin
de
incluida
la
investigacin
en
la
sntesis
de
voz,
en
cdigo
fuente.
Las
37
herramientas
proporcionan
HMM,
El
lanzamiento
de
HTK
contiene
una
amplia
documentacin y ejemplos.
HTK fue originalmente desarrollado en el Machine Intelligence
Laboratory, de la Universidad de Cambridge (CUED) donde se ha
utilizado
siempre
7.1.1.3
Julius
actualmente
Interactive
Speech
Technology
Consortium (ISTC).
7.1.2
7.1.2.1
39
descartamos
esta
opcin
ya
que
al
no
tener
7.1.2.2
Open Simulator
7.1.2.3
Javy2
es
Javy2
un
proyecto
perteneciente
al
grupo
GAIA
en
el
40
7.2 Herramientas
7.2.1
Programacin
7.2.1.1
7.2.1.2
SVN
7.2.1.3
Cliente SVN
43
7.2.1.4
Cruise Control
44
7.2.2
Generacin de Modelos
7.2.2.1
Scripts de voxforge
scripts
que
complementan
al
programa
principal
de
que
contienen
la
informacin
necesaria
para
7.2.3
Documentacin
7.2.3.1
Doxygen
Las razones por las cuales hemos elegido esta herramienta es que
nos permite generar archivos de LaTeX, manpages, diagramas de
bloques, diagramas de clases. Por lo que es ms potente, adems de
esta forma hemos conocido una nueva herramienta que no habamos
visto durante la carrera con la ventaja de que tambin puede ser
aplicada para la documentacin de cdigo en lenguaje C++ sin
grandes cambios en el archivo de configuracin del Doxygen, algo
que tambin buscbamos, el hecho de aprender cosas nuevas
durante la realizacin del proyecto. Adems dicha herramienta era la
que se vena utilizando para la documentacin de Javy por lo que
mantener Doxygen nos pareci lo ms adecuado a la hora de generar
la documentacin.
45
7.2.4
Grabacin de sonido
7.2.4.1
Audacity
archivos
nuevas
grabaciones.
Exportar
46
8 Desarrollo
8.1 Sistema de control por voz del avatar
Una vez estudiadas las alternativas y capacidades de los sistemas de
reconocimiento por voz, se integrar en un sistema real para poder
demostrar el potencial de este tipo de aplicaciones.
Como aplicacin se ha elegido un juego. Nuestro sistema pretende
controlar el avatar de dicho juego en una terminologa lo ms
parecida al lenguaje natural. Esto permite mostrar cmo se pueden
integrar sistemas de sentencias complejas de manera que el avatar
responda como si de un humano se tratase.
Dado que las actividades del avatar son limitadas se restringir el
conjunto de frases reconocibles por el sistema, a una gramtica
especfica, mejorando tambin as el resultado del reconocimiento.
Para el motor del reconocedor se usar Julius, y para el sistema
donde se integrar ser Javy2.
47
8.1.1
Especificacin
8.1.1.1
Accin Movimiento
Caso de uso ID
Vocalius-02
Accin movimiento
Actores
Descripcin
Disparador
Precondiciones
Postcondiciones
48
Flujo Normal
Flujo Alternativo
Excepciones
actuar
en
consecuencia
la
frase
decodificada.
El
usuario
cita
la
frase
correcta
Inclusiones
Prioridad
Alta
Frecuencia de uso
Alta
Reglas de Negocio
Requerimientos
Especiales
Asunciones
Notas
49
pero
falla
la
8.1.1.2
Accin Giro
Caso de uso ID
Vocalius-02
Accin giro
Actores
Descripcin
Disparador
El
usuario
pronuncia
frases
como
David
gira
Precondiciones
Postcondiciones
50
Flujo Normal
Flujo Alternativo
Excepciones
actuar
en
consecuencia
la
frase
decodificada.
El
usuario
cita
la
frase
correcta
pero
falla
la
Inclusiones
Prioridad
Alta
Frecuencia de uso
Alta
Reglas de Negocio
Requerimientos
Especiales
Asunciones
Notas
51
8.1.1.3
Caso de uso ID
Vocalius-03
Accin ruta
Actores
Descripcin
Disparador
Precondiciones
Postcondiciones
52
Flujo Normal
Flujo Alternativo
Excepciones
actuar
en
consecuencia
la
frase
decodificada.
El
usuario
cita
la
frase
correcta
pero
falla
la
Inclusiones
Prioridad
Alta
Frecuencia de uso
Alta
Reglas de Negocio
Requerimientos
Especiales
Asunciones
53
Notas
8.1.1.4
Caso de uso ID
Vocalius-04
Accin cmara
Actores
Descripcin
Disparador
Precondiciones
Postcondiciones
54
Flujo Normal
Flujo Alternativo
Excepciones
actuar
en
consecuencia
la
frase
decodificada.
El
usuario
cita
la
frase
correcta
pero
falla
la
Inclusiones
Prioridad
Alta
Frecuencia de uso
Alta
Reglas de Negocio
Requerimientos
Especiales
Asunciones
Notas
55
8.1.1.5
Caso de uso ID
Vocalius-05
Abrir puerta
Actores
Descripcin
Disparador
Precondiciones
Postcondiciones
Flujo Normal
Flujo Alternativo
56
Excepciones
actuar
en
consecuencia
la
frase
decodificada.
El
usuario
cita
la
frase
correcta
pero
falla
la
Inclusiones
Prioridad
Alta
Frecuencia de uso
Alta
Reglas de Negocio
Requerimientos
Especiales
Asunciones
Notas
57
8.1.1.6
Teletransportarse
Caso de uso ID
Vocalius-06
Teletransporte
Actores
Descripcin
Disparador
El
usuario
pronuncia
frases
como
ve
teletransportador
Precondiciones
Postcondiciones
58
Flujo Normal
introduce
en
ejecuta
la
accin
de
teletransportarse.
Flujo Alternativo
Excepciones
actuar
en
consecuencia
la
frase
decodificada.
El
usuario
cita
la
frase
correcta
pero
falla
la
Inclusiones
Prioridad
Alta
Frecuencia de uso
Alta
Reglas de Negocio
Requerimientos
Especiales
Asunciones
Notas
59
8.1.2
Diseo
8.1.2.1
VocaliusLib
60
8.1.2.2
Vocalius
reconocidas.
El
reconocedor
actuar
como
productor,
61
62
8.1.3
Implementacin
8.1.3.1
VocaliusLib
8.1.3.2
Vocalius
64
8.2.1
Especificacin
8.2.1.1
Grabacin de frases
Caso de uso ID
Entrenamiento-01
Grabacin de frases
Actores
Descripcin
Disparador
Precondiciones
usuario
tiene
el
micrfono
correctamente configurado.
65
de
su
equipo
Postcondiciones
Flujo Normal
Flujo Alternativo
Excepciones
Inclusiones
Prioridad
Alta
Frecuencia de uso
Alta
Reglas de Negocio
Requerimientos
Especiales
Asunciones
Notas
66
8.2.1.2
Reproducir Grabaciones
Caso de uso ID
Entrenamiento-02
Reproducir grabaciones
Actores
Descripcin
Disparador
Precondiciones
usuario
tiene
los
altavoces
de
su
equipo
correctamente configurados.
Por lo menos ha realizado una grabacin.
Postcondiciones
Flujo Normal
Flujo Alternativo
67
Excepciones
Inclusiones
Prioridad
Alta
Frecuencia de uso
Alta
Reglas de Negocio
Requerimientos
Especiales
Asunciones
Notas
8.2.1.3
Envo de grabaciones
Caso de uso ID
Entrenamiento-03
Envo de grabaciones.
Actores
68
Descripcin
Disparador
Precondiciones
Postcondiciones
Flujo Normal
Flujo Alternativo
Excepciones
Inclusiones
Prioridad
Alta
Frecuencia de uso
Alta
Reglas de Negocio
69
Requerimientos
Especiales
Asunciones
Notas
8.2.1.4
Caso de uso ID
Entrenamiento-04
Actores
Descripcin
Disparador
Precondiciones
70
Postcondiciones
Flujo Normal
Flujo Alternativo
Excepciones
Inclusiones
Prioridad
Alta
Frecuencia de uso
Alta
Reglas de Negocio
Requerimientos
Especiales
Asunciones
Notas
71
8.2.1.5
Caso de uso ID
Entrenamiento-05
Actores
Descripcin
acstico
generado
ms
reciente
que
se
encuentre en el servidor
Disparador
Precondiciones
Postcondiciones
Flujo Normal
Flujo Alternativo
Excepciones
72
Inclusiones
Prioridad
Alta
Frecuencia de uso
Alta
Reglas de Negocio
Requerimientos
Especiales
Asunciones
Notas
73
8.2.2
Diseo
8.2.3
Implementacin
76
investigado,
estudiado
decidido
entre
una
serie
de
sido
enfocado
la
investigacin como
se
ha
comentado
78
web
para
el
entrenamiento
del
modelo
acstico
para
realizar
las
grabaciones
en
cada
uno
de
ellos
80
Una vez cargadas las frases solo nos queda realizar las grabaciones
de aquellas frases que queramos para posteriormente enviarlas al
servidor. Para ello utilizaremos los botones que se encuentran a la
derecha de las frases, como vemos en la figura anterior, nicamente
se encuentran habilitados los botones de Grabar, al pulsar sobre
alguno de ellos, comenzaremos la grabacin, el botn pasar a ser un
botn de Parar con el objetivo de deterner la grabacin en el
momento en el que hayamos completado la lectura de la frase.
grabacin ha
81
82
posteriormente
83
incorporadas
en
la
siguiente
Al pulsar sobre ese botn nos aparecer una pantalla similar a la que
aparecia al pulsar sobre el botn de Entrenamiento en la que tras
poner el nombre de usuario y el idioma en el cual queremos realizar
el test nos cargar una pantalla similiar a esta:
84
cuando
hayamos
realizado
por
lo
menos
una
85
86
87
88
89
grabaciones,
nos
deberemos
dirigir
la
ruta
dirigir
la
/var/www/appletTest/speechrecorder,
encuentra
ah
deber
seguir
las
siguiente
para
mismas
el
ruta
fichero
pautas
que
se
comentadas
anteriormente.
El fichero javaUploadServer.php que se encuentra en la ruta
/var/www/ sirve para una vez que el usuario haya enviado las
grabaciones
estn
se
redirijan
la
carpeta
/usr/share/generador/enviosSinProcesar.
El cdigo html de la pgina se encuentra en la ruta /var/www/ en
caso de que se quiera modificar algo de la apariencia de la pgina
web.
En los archivos html donde estn
91
una serie de parmetros dentro del cdigo HTML como son por
ejemplo la ubicacin del archivo .php de subida de ficheros, el
parmetro que indica la ruta en la que se encuentra el servlet que se
deba llamar en cada caso, la ruta desde la que se descarga el fichero
.zip con el modelo acstico generado.
A la hora de generar nuevos modelos debemos tener por lo menos
una grabacin en cada uno de los idiomas ya que sino al pulsar sobre
el botn de generar modelo, intentar crear ficheros intermedios que
necesitan esas grabaciones, y al realizar el proceso sobre todos los
idiomas a la vez en caso de que no exista una grabacin por lo menos
de cada idioma e intentar acceder a esos ficheros intermedio dar un
error y no finalizar el proceso correctamente.
Para la parte de los servlets el tomcat est montado en la ruta
/usr/share/tomcat5.5, los ficheros .war se encuentran en la carpeta
webapps dentro de la ruta anteriormente comentada.
Para la generacin de los modelos acsticos se debe seguir una
estructura de carpetas como la que se encuentra en la ruta
/usr/share/generador. En caso de querer crear un modelo de cero, se
deben mantener los ficheros que se encuentran en la raz del anterior
directorio que son los siguientes:
config
fixfullist.pl
global.ded
mkphones0.led
mkphones1.led
mktri.led
92
proto
sil.hed
wav_config
Tambin debe esta la carpeta HTK_scripts que contiene 4 ficheros
que son:
maketrihed
mkclscript.prl
prompts2mlf
prompts2wlis
En
la
carpeta
enviosSinProcesar
se
encontrarn
las
nuevas
93
94
en
nuestro
caso
el
modelo
acstico
lo
hemos
desarrollado bajo el sistema operativo Linux, por lo que los pasos que
vamos a comentar que hay que ir dando se refieren a este Sistema,
tambin existe la posibilidad de generarlo desde Windows, y en la
pgina de voxforge[1] hay una gua para aquellos que elijan esa
opcin, en nuestro caso nos decantamos por Linux ya que es ms
cmodo la ejecucin de los distintos scripts, sin la necesidad de
cygwin para que interprete las rdenes en perl.
Primero debemos preparar todo el entorno de desarrollo, para lo cual
nos dirigimos a la siguiente direccin, desde la cual descargaremos
los programas que comentaremos a continuacin y que fueron
explicados en profundidad en el apartado de tecnologas utilizadas.
95
HTK:
La licencia de HTK necesita que nos registremos en la pgina antes
de poder descargar la herramienta. Es un software de cdigo libre
pero tiene restricciones en la distribucin de la propia herramienta.
Sin embargo no hay ninguna limitacin en la distribucin de los
modelos que generemos con esta herramienta.
Despus de seguir los pasos que nos indican para crear una
estructura de carpetas determinada, la extraccin de los ficheros en
su lugar correspondiente para conseguir la estructura que nos
indican, una de las cosas que ms nos llamo la intencin fue a la hora
de compilar el cdigo la necesidad de una versin especfica del
compilador de gcc, exactamente la versin 3.4, nosotros nos
encontramos ante la situacin de tener instalada en nuestros equipos
la versin 4.0, por lo que tuvimos que investigar la manera de poder
cambiar de una versin a otra.
Julius:
Es un motor de reconocimiento de voz (LVCSR). Julius no tiene
limitaciones en la distribucin, utiliza modelos acsticos en el formato
de HTK y ficheros de gramticas en su propio formato.
Julian es una versin especial de julius que nos permite comprobar si
los ficheros que hemos generado con el HTK son vlidos o no.
Audacity:
Es la herramienta con la cual realizaremos las grabaciones necesarias
para la creacin de un modelo acstico propio, se podra utilizar otro
programa que nos permitiese realizar exportaciones a formato wav,
pero se utiliza este por su fcil manejo y por lo intuitivo que es.
96
recomendamos
que
se
realicen
bastantes
ms
98
disminuyen notablemente).
Step 3 - Recording the data:
En este paso lo que nos indican es la forma de realizar las
grabaciones
que
posteriormente
se
unirn
las
frases
que
lnea
aparece
una
palabra,
99
ejecutando
los
scripts
que
nos
indican
acstico
con
Julius,
sin
embargo
la
precisin
de
100
102
103
lo cual nos indicaban que tanto el fichero de prompts a partir del cual
se haban generado estaba mal construido, y que las grabaciones
tampoco eran vlidas por estas asociado a frases de un tamao
incorrecto, esta informacin la dedujimos nosotros ya que en una
ocasin estuvimos atascados en un punto del manual hasta que
comprobamos la carpeta mfcc y vimos que no todos los archivos
tenan
el
icono
del
terminal,
cambiamos
el
fichero
prompts,
104
13 Bibliografa
[1] Voxforge: http://www.voxforge.org/
[2] Open Simulator: http://opensimulator.org
[3] Hippo OpenSim Viewer: http://mjm-labs.com/viewer/
[4] SVN: http://subversion.apache.org/
[5] TortoiseSVN: http://tortoisesvn.tigris.org/
[6] Audacity: http://audacity.sourceforge.net/
105
14 Palabras Clave
Julius
Modelo de lenguaje
Modelo acstico
Aventura grfica
Juego
Javy
107
15 Autorizacin
Los abajo firmantes autorizan a la Universidad Complutense de
Madrid a difundir y utilizar con fines acadmicos, no comerciales y
mencionando expresamente a sus autores, tanto la propia memoria,
como el cdigo, la documentacin y/o el prototipo desarrollado.
Pablo Caloto Crespo
109