You are on page 1of 11

DESARROLLO DE UNA APLICACIÓN DIDÁCTICA DE RECONOCIMIENTO DE VOZ

PARA LA IDENTIFICACIÓN DE COLORES USANDO EL LENGUAJE DE


PROGRAMACIÓN C#

Universidad Señor de Sipán


Facultad de Ingeniería Arquitectura y Urbanismo
Pimentel, Perú - Julio, 2017

Alvarez Gonzaga, Braulio Ricardo


agonzagab@crece.uss.edu.pe

Resumen: En la actualidad, los Sistemas lenguaje de programación. En este proyecto,


Basados en Conocimiento (SBC) se han se trabajó con la librería System.speech, una
vuelto un campo de estudio con alta demanda librería que permite la implementación de
dentro de la Ingeniería de Sistemas, ya que reconocimiento de voz en Windows.
las soluciones informáticas dentro de esta
línea tienen diversas y útiles aplicaciones. El proyecto terminó con éxito y se pudo
Una parte importante de ello es la agregar algunas mejoras en la interfaz de
comunicación entre la computadora y el inicio para que sea más amigable. Debemos
hombre. Por ello, el reconocimiento de voz es tener en cuenta que la aplicación está
parte indispensable de este tipo de sistemas. destinada para niños, quienes deben entablar
En el presente informe, se hace una detallada una comunicación con el ordenador.
explicación del software desarrollado
“Aplicación didáctica de reconocimiento Al finalizar con la propuesta, se
de voz para la identificación de colores evidenció que la aplicación el altamente
usando el lenguaje de programación c#”. potenciable y puede ser enriquecida con
El objetivo del programa es facilitar el algunas opciones complementarias para que
aprendizaje de niños en cuanto a la la experiencia comunicativa sea más real.
identificación de colores usando comandos de
voz, lo cual permite una comunicación más
directa con la computadora. En este trabajo, 2. Elección del IDE y lenguaje de
se utilizó Visual Studio 2012 como entorno de programación:
desarrollo (IDE)
2.1. Entorno de desarrollo integrado (IDE):
Palabras Clave: Identificación de colores,
Reconocimiento de voz, Lenguaje C#, Un entorno de desarrollo integrado, es
Sistemas Basados en Conocimiento (SBC), un entorno de programación que ha sido
Visual Studio. construido y empaquetado en un programa de
aplicación, es decir, puede ser instalado en
1. Introducción: una computadora para facilitar el desarrollo de
programas informáticos.
En el presente documento, tiene como
objetivo describir el desarrollo de una Todo IDE (Integrated Development
aplicación de reconocimiento de voz para la Environment)1 posee un editor de código, un
identificación de colores, usada para acelerar depurador, un compilador y un constructor de
el proceso de aprestamiento de niños. interfaz gráfica de usuario (GUI). Dentro de
los IDE más conocidos, tenemos: MS Visual
Para poder desarrollar el programa, se
1
utilizó Visual Studio 2012 como Integrated En la actualidad, el término IDE se utiliza
Development Environment (IDE) y C# como indistintamente para hacer referencia a todos los
Entornos de Desarrollo Integrado.

1
Studio, NetBeans, Eclipse, etc. Los IDE Gráfico 1
ofrecen un marco de trabajo muy amplio para Composición de NET Framework
la mayoría de lenguajes de programación:
Java, Visual Basic, C++, C#, etc. Marco de trabajo. NET

Para el desarrollo de nuestra aplicación, VB C++ C# J# …


hemos utilizado Microsoft Visual Studio
2012 como IDE, para dicha elección se ha Especificaciones de Lenguaje Común
tomado en consideración los siguientes (CLS)
criterios: En primer lugar, nuestra aplicación
sería utilizada en Sistemas Operativos (SO) ASP.NET Servicios Formularios
Windows. En segundo lugar, posee una curva Web XML y Windows Visual
de aprendizaje muy rápida, ya que es formularios web Studio
altamente intuitivo para el programador pues
permite trabajar directamente con Windows ADO:NET: Datos y XML
Form (Formularios para Windows). En tercer
Biblioteca de clases
lugar, soporta múltiples lenguajes de
programación, tales como C++, C#, Visual
Entorno común de ejecución
Basic, etc. Por último, posee potentes librerías
a disposición; principalmente, la que fue de Sistema Oeprativo (SO)
nuestro interés, es aquella que permite el
reconocimiento de voz.
El cuadro anterior permite conocer la
Imagen 1 composición detallada de NET Framework,
Logo Microsoft Visual Studio importante componente para inicial el trabajo
con Visual Studio y poder realizar la ejecución
dentro de un entorno común en Windows.

2.1. Lenguaje de programación:

Es importante mencionar que para para El lenguaje de programación elegido fue


la ejecución de nuestra aplicación IDE dentro C#, el cual es un lenguaje que permite
Sistema Operativo elegido, el cual es Programación Orientado a Objetos (POO)4.
Windows 7 Service Pack 12, ha sido necesario Permite a los programadores crear una
contar con la instalación de Microsoft .NET variedad de aplicaciones que se ejecuten bajo
Framework 3 4.5. .NET Framework. Se puede usar C# para
crear aplicaciones cliente Windows, servicios
La mejor forma de entender la estructura web XML, componentes distribuidos,
de este componente es ver gráficamente sus aplicaciones Cliente – Servidor, aplicaciones
capas. de base de datos, etc.

El lenguaje C# permite trabajar con los


conceptos de encapsulación, herencia y
2
El Service Pack es un paquete de actualización emitido polimorfismo. Todas las variables y métodos,
por Windows para corregir errores o mejorar el
rendimiento del Sistema Operativo.
3 4
El Microsoft .Net Framework es un componente para La Programación Orientada a Objetos, conocida por
Windows que provee soluciones previamente sus iniciales POO, es un paradigma de programación
codificadas para requerimiento comunes de los que permite desarrollar aplicaciones con un código más
programas, las cuales conforman la biblioteca. NET. ordenado y de fácil mantenimiento. Entre los conceptos
Este componente posee soluciones dentro de la GUI fundamentales de la POO se encuentran los siguientes:
(Interfaz Gráfica de Usuario), acceso a datos, Clase, herencia, objeto y método.
criptografía, algoritmos numéricos, entre otros.

2
incluido el método Main5, se encapsulan Gráfico 2
dentro de una clase, la cual puede ser Relación entre Visual C# y .NET Framework
implementada dentro de varias interfaces.
Proyecto de Visual C#
2.1.1. Proyecto en Lenguaje C#:

Las aplicaciones desarrolladas en Archivos(s) de Recursos


código fuente
lenguaje C# se ejecutan en .NET Framework,
de C# Referencias
el cual incluye un sistema de ejecución virtual
llamado Common Language Runtine (CLR)6 y
un conjunto de biblioteca de clases.

Asimismo, el código fuente escrito en


C# se compila en un lenguaje intermedio (IL), Compilador de C#
como mapas de bits y cadenas, se almacenan
en un disco en un archivo ejecutable Crea
denominado ensamblado, con la extensiones
.exe o dll. Un ensamblado posee un Metadatos de MSIL del ensamblado
documento de manifiesto que proporciona administrativo (.exe o dll)
información sobre los tipos, la versión,
referencia y lo requisitos de seguridad del
ensamblado.

Cuando se ejecuta el programa de C#, .NET Framework


el ensamblado se carga en el CRL, el cual Seguridad de Common Language
podría realizar acciones en función del Runtine / Recolección de elementos no
manifiesto. Si cumple los requisitos de utilizados / Compilador JIT
seguridad, el CLR realiza la compilación Just
in Time (JIT)7 para convertir el código IL en Utiliza
instrucciones máquina nativas.
Biblioteca de clases .NET Framework
Los servicios en tiempo de ejecución
también incluyen una amplia biblioteca8 de
más de 4000 clases organizadas por
nombres, las cuales proporcionan funciones
Sistema Operativo (SO)
útiles para nuestras aplicaciones. En el
siguiente diagrama, se ilustran las relaciones
Como se puede observar en el gráfico
descritas líneas arriba.
anterior, un proyecto en visual C# trabaja
estrechamente con las bibliotecas de .NET
Framework para poder ejecutar una aplicación
5
El método Main es el método de entrada a la aplicación en el Sistema Operativo.
desarrolla en C#.
6
El Common Language Runtine (CLR) es el entono 3. Sistemas de reconocimiento automático
encargado de ejecutar una forma intermedia de código
de voz / habla:
en código máquina nativa, a través de una compilación
en Tiempo de Ejecución.
7
Just In Time (JIT) es la compilación en tiempo de Los Sistemas de Reconocimiento de
ejecución. Consiste en traducir el Bytcode (código Habla (SRH), también llamados Sistemas de
intermedio) en código máquina nativo. Reconocimiento de Voz, es una de las
8
Una Biblioteca de clase es un conjunto de
implementaciones funcionales codificadas en un
lenguaje de programación y que pueden ser llamada por
el programador.

3
disciplinas de la Inteligencia Artificial (IA)9, la Tal como se puede observar, el punto
cual tiene como objetivo permitir la de partida (señal de voz) es indispensable
comunicación hablada entre seres humanos y para concluir con el proceso hasta la
computadoras. obtención de la respuesta. Por ello, la claridad
en la comunicación por parte del emisor, debe
3.1 Proceso básico de un SRH: ser en un alto grado de coincidencia para
garantizar la respuesta esperada.
Un Sistema de reconocimiento de voz
tiene un proceso elemental. Primero, se recibe Imagen 2
una señal de voz a través de un micrófono. Aparato fonador
Segundo, se procesa la información ingresada
y se parametriza. Tercero, se hace un cálculo
de similitudes entre los valores que tiene el
sistema. Por último, se toma una decisión en
base a las opciones encontradas, lo cual
debería traducirse en una respuesta de la
computadora.

Gráfico 3
Proceso de reconocimiento de voz

Señal de voz En la imagen anterior, se pueden ver


todos los órganos que componen el aparato
fonador Humano: Fosas nasales, paladar
duro, dientes, labios, paladar blando, epiglotis,
cuerdas vocales y tráquea. El correcto
Procesamiento funcionamiento de estos órganos debería
acústico garantizar la calidad de la señal de voz.
(parametrización)
Imagen 3
Gráfico de señal de voz
Palabra: Rojo

Cálculo de
similitudes

Toma de
decisiones
(respuesta)

En el gráfico anterior, se ha ingresado la


palabra “rojo” usando un micrófono
convencional. La imagen se obtuvo del
9
programa WavePad.
La Inteligencia Artificial (IA) es una ciencia de la
Computación que busca imitar la inteligencia humana.
El término fue escuchado por primera vez en la
conferencia del matemático John McCarthy en el año
1959.

4
4. Metodología de desarrollo: Cuadro 1
Requerimiento de Software
La metodología utilizada para el
desarrollo de la aplicación fue XP o ID Requerimiento Descripción
Software
Programación Extrema10, la cual es una
01 Sistema Operativo (SO) Windows 7
metodología de desarrollo ágil. La Service Pack 1
programación XP usa un enfoque orientado a 02 Entorno Integrado de Visual Studio
objetos. Desarrollo (IDE) 2012
03 Lenguaje de C#
El proceso de la Programación Extrema Programación
tiene cuatro etapas estructurales: 04 NET Framework 4.5
Planificación, diseño, prueba y codificación.
Cuadro 2
Requerimiento de Hardware
Gráfico 4
Proceso de Programación Extremo (XP) ID Requerimiento Descripción
Hardware
Planificación Diseño 01 Procesador 1.6 GHz
02 Memoria RAM 1.5 GB
03 Disco duro 4 GB disponibles

Proceso de
Programación
En los cuadros anteriores, se
Extrema (XP) determinan los requerimientos a nivel de
software y hardware, lo cual ha sido
importante para el inicio de la programación y
Codificación
pruebas respectivas.
Prueba

Para esta aplicación, se ha pensado en


una lista finita de colores, la cual listaremos y
En el gráfico anterior, podemos observar codificaremos en el siguiente cuadro:
las etapas principales de la metodología ágil
XP. Se debe tener en cuenta que el rediseño Cuadro 3
es parte importante este tipo de Lista de colores
programación, ya que se van identificando
algunas oportunidades de mejora durante el ID Nombre Color Color
color
proceso. En los siguientes párrafos se hará un
01 Negro
pequeño análisis de los 4 momentos del 02 Azul
proceso de nuestra aplicación 03 Rojo
04 Verde
4.1. Planificación: 05 Amarillo
06 Blanco
En la etapa de planificación se busca 07 Marrón
recabar los requerimientos del software, los 08 Rosado
requerimientos técnicos. Es necesario 09 Morado
determinar la información de entrada y la
información de salida. La lista de colores mencionadas líneas
arriba permitirá evaluar las respuestas de la
aplicación en función de los comando de voz
10
La metodología Extreme Programming (XP) es un ingresados
enfoque de la ingeniería del software propuesto por Kent
Beck, autor del libro “Extreme Programming Explained:
Embrace Change” en el año 1999. Actualmente es el
más destacado de los procesos ágiles.

5
4.2. Diseño: Gráfico 6
Funcionamiento de la aplicación:
En la etapa de diseño, debemos realizar Mostrar todos los colores
un mapa de lo que sería nuestra aplicación, lo
cual debe ser el punto de partida para la Inicio Proceso Salida
codificación. Para nuestro proyecto, tenemos
un caso de uso bastante básico llamado Ingreso de La La
“Identificar colores”. señal de aplicación aplicación
Voz busca la muestra
Imagen 4 indicando instrucción todos los
Caso de Uso: Identificar Colores
«Todos» relacionada colores
al comando

Gráfico 7
Funcionamiento de la aplicación:
No mostrar ningún color

Inicio Proceso Salida


En la imagen anterior, elaborado con
IBM Rational Software Architect11. En este Ingreso de La La
caso el usuario, el cual sería un niño de 2 a 5 señal de aplicación aplicación
años, quien está en proceso de aprestamiento Voz busca la no muestra
indicando instrucción ningún
a la identificación de colores.
«Ninguno» relacionada color
al comando
A continuación, se hace un breve diseño
de la aplicación:
Gráfico 8
Gráfico 5 Funcionamiento de la aplicación:
Funcionamiento de la aplicación: Cerrar aplicación
Identificación de colores
Inicio Proceso
Inicio Proceso Salida
Ingreso de La
Ingreso de La La señal de aplicación La
señal de aplicación aplicación Voz busca la aplicación
Voz evalúa las muestra el indicando instrucción cierra
indicando coincidenci color «Cerrar» relacionada
un color as y ubica deseado al comando
el color
Tener los esquemas anteriores con las
Asimimso, la aplicación debería tener funcionalidades que debe tener la aplicación,
tres comandos adicionales que permita nos dará una mayor facilidad al momento de ir
mostrar todos los colores, no mostrar ninguno codificando los requerimientos detallados en
y, finalmente, cerrar la aplicación: los esquemas.

11
IBM Rational Software Architect es una herramienta
de diseño, modelado y desarrollo de software, la cual
utiliza el lenguaje de modelado unificado (UML)

6
4.2. Codificación: Imagen 4
Formulario de identificación de colores
Tal como se ha mencionado
anteriormente, el lenguaje de programación
elegido es C#. Parte de la metodología XP es
hacer pruebas unitarias que permita,
familiarizarnos con los requerimientos. En
este sentido, se realizaron pruebas para la
elección de un solo color. Posteriormente se
extrapolaron los conceptos de programación
para ser implementadas en las
funcionalidades descritas anteriormente (Ver
gráficos 5, gráfico 6, gráfico 7 y gráfico 8).

A continuación, se hace un breve


análisis del código implementado en la
aplicación. Para ello, se usará fragmentos de
códigos extraídos del IDE.

Antes del inicio de todo, debemos llamar


a la clase “Speech.Recognition”, lo cual
permitirá trabajar con reconocimiento de voz, Una vez colocados los controles, se
el código es el siguiente: procedió a ocultarlos, el código empleado para
ello, fue el siguiente:
using System.Speech.Recognition;
private void Form1_Load (object sender,
EventArgs e)
El System.Speech.Recognition es un {
espacio de nombres que contiene tipos de btn1.Visible = false;
tecnología para Windows Desktop Speech btn2.Visible = false;
para la implementación de reconocimiento de btn3.Visible = false;
voz. btn4.Visible = false;
btn5.Visible = false;
Dentro del formulario Identificador, btn6.Visible = false;
btn7.Visible = false;
crearemos un objeto del tipo btn8.Visible = false;
SpeechRecognitionEngine, lo cual nos btn9.Visible = false;
proporciona los medios para tener acceso y }
administrar un motor de reconocimiento de
voz. El siguiente paso fue crear un objeto de
clase Choices, la cual representa un conjunto
SpeechRecognitionEngine rec = new
de alternativas de una gramática de
SpeechRecognitionEngine ();
reconocimiento de voz.
Posteriormente, se colocaron dentro del Choices lista = new Choices ();
formulario de reconocimiento nueve controles
con los colores a los cuales se ha hecho Luego, creamos la estructura del
referencia en la etapa de planificación (ver vocabulario que deseamos reconozca
cuadro 3).
lista.Add(new string[] { "negro", "azul",
En la siguiente imagen, se puede "rojo", "verde", "amarillo", "blanco",
visualizar el formulario creado con los "marron", "rosado", "morado", "todos",
controles: "ninguno", "salir" });

7
Después de estructurar el vocabulario, if (e.Result.Text == "verde")
creamos un objeto de tipo Grammar y {
hacemos referencia a la lista: btn4.Visible = true;
} else
Grammar gramatica = new Grammar (new if (e.Result.Text == "amarillo")
GrammarBuilder (lista)); {
btn5.Visible = true;
} else
Con la gramática lista para ser utilizada, if (e.Result.Text == "blanco")
creamos una instrucción del tipo try catch12. {
Luego, se hace uso del objeto rec creado btn6.Visible = true;
anteriormente y se pide que haga uso del } else
micrófono que por defecto estamos utilizando if (e.Result.Text == "marron")
en la computadora: {
btn7.Visible = true;
} else
try
if (e.Result.Text == "rosado")
{
{
rec.SetInputToDefaultAudioDevice ();
btn8.Visible = true;
} else
Le pedimos que haga uso de la if (e.Result.Text == "morado")
gramática y pasamos la lista finita de colores. {
Se crea el evento de reconocimiento de voz y btn9.Visible = true;
que éste se realicen en modo múltiple. } else
}
rec.LoadGrammar (gramatica);
rec.SpeechRecognized += reconocimiento; Ahora se debe evaluar una condición
rec.RecognizeAsync para mostrar todos los colores de la lista:
(RecognizeMode.Multiple);
}
if (e.Result.Text == "todos")
catch (Exception)
{
{
btn1.Visible = true;
throw;
btn2.Visible = true;
}
btn3.Visible = true;
btn4.Visible = true;
Luego, evaluamos las condiciones de btn5.Visible = true;
entrada dentro del método de reconocimiento, btn6.Visible = true;
la cual debe dar como respuesta el color btn7.Visible = true;
deseado: btn8.Visible = true;
btn9.Visible = true;
Void reconocimiento (object sender, } else
SpeechRecognizedEventArgs e)
{ Evaluamos la condición para no mostrar
if (e.Result.Text == "negro") ningún color de la lista, lo cual debe suceder
{ al ingresar el comando de voz “Ninguno”.
btn1.Visible = true;
} else if (e.Result.Text == "ninguno")
if (e.Result.Text == "azul") {
{ btn1.Visible = false;
btn2.Visible = true; btn2.Visible = false;
} else btn3.Visible = false;
if (e.Result.Text == "rojo") btn4.Visible = false;
{ btn5.Visible = false;
btn3.Visible = true; btn6.Visible = false;
} else btn7.Visible = false;
btn8.Visible = false;
12 btn9.Visible = false;
Try Catch es una instrucción que permite generar
} else
evento y controla excepciones.

8
Finalmente, se evalúa el comando de {
voz que permita cerrar en su totalidad la Application.Exit();
aplicación: }

if (e.Result.Text == "salir") 4.2. Prueba:


{
Application.Exit(); Para la etapa de pruebas, se construyó
} un cuadro de equivalencias de clases válidas
(CV) y clases no válidas (CNV), lo cual
Con ello, se da por finalizado la permite ordenar las condiciones de entrada
implementación de las funcionalidades antes de realizar las pruebas y evaluar los
básicas de la aplicación, las cuales fueron resultados esperados:
detalladas en la parte de diseño. Sin embargo,
debemos tener en cuenta que la aplicación Cuadro 4
cuenta con un formulario adicional de inicio, el Cuadro de equivalencias de clases válidas
cual permite acceder a la aplicación y usar las (CV) y clases no válidas (CNV)
funciones de reconocimiento de voz.
N° Condici Tipo Clases Válidas Clases no válidas
Imagen 5 ones de
entrada Entrada Código Entrada Código
Formulario de inicio
01. Nombre Comando Cualquier <CV01> Cualquier
de color de voz color del palabra <CNV01>
objeto que no
Grammar contenga
el objeto
Grammar

02. Mostrar Comando Palabra <CV02> Cualquier


todos de voz “Todos” palabra <CNV02>
los que no
colores contenga
el objeto
Grammar

03. No Comando Palabra <CV03> Cualquier


mostrar de voz “Ninguno” palabra <CNV03>
colores que no
contenga
el objeto
Grammar

No nos detendremos a analizar el


funcionamiento y codificación de este 04. Cualquier
Salir de Comando Palabra <CV04> palabra <CNV04>
formulario, ya que es elemental, pero daremos la de voz “Salir” que no
el código para fines de comprensión: aplicaci contenga
ón el objeto
Grammar
private void button1_Click(object sender,
EventArgs e)
{
FrmIdentificador frm1 = new Después del cuadro de equivalencias,
FrmIdentificador (); se procedió a realizar los casos de prueba
frm1.Show(); (CP) para cada uno de los comandos de voz
FrmInicio frm2 = new FrmInicio(); válidos.
frm2.Close();
this.Hide();
}
private void button2_Click(object sender,
EventArgs e)

9
En el siguiente cuadro, se puede Cuadro 6
observar los 13 casos de prueba propuestos Resumen de pruebas realizadas
para la aplicación.
ID Nombre N° Intentos N° Intentos
Usuario correctos fallidos
Cuadro 5 1 Luis 23 1
Casos de prueba (CP)
2 Miguel 13 0
ID Clases Condiciones de entrada Resultad
de o
3 Fernando 22 2
CP Mostrar Mostrar No Cerrar
equivale color todos mostrar aplicac esperado 4 Gabriel 18 0
ncia los colores ión
colores 5 Roberto 25 1
01 (CV1) “Negro” Muestra 6 Rodrigo 12 0
el color
negro 7 María 16 0
02 (CV1) “Rojo” Muestra 8 Iván 23 1
el color
rojo 9 Ramiro 10 0
03 (CV1) “Azul” Muestra 10 Joel 8 0
el color
azul Total de Pruebas 170 5
04 (CV1) “Amarillo” Muestra
el color
amarillo En el cuadro anterior, se muestra el
05 (CV1) “Verde” Muestra detalle de las pruebas realizadas, las cuales
el color fueron 175. Los usuarios ingresaron
verde
comandos de voz, de los cuales solo 5
06 (CV1) “Rosado” Muestra
el color
fallaron, al no obtener el resultado esperado.
rosado Asimismo en el caso de 6 usuarios los
07 (CV1) “Blanco” Muestra resultados correctos fueron del 100%.
el color
blanco Gráfico 9
08 (CV1) “Morado” Muestra Resultados de prueba por usuario
el color
morado
09 (CV1) “Marrón” Muestra
el color
marrón
10 (CV2) “Todo Muestra
s” todos los
colores y
controles
11 (CV3) “Ning Oculta
uno” todos los
controles
y colores
12 (CV4) “Salir” Cierra la
aplicación
13 (CNV5) “Hola” “Mues “No “Cerrar No
tra” muest todo” genera
ra” evento
En el gráfico anterior, se muestra la
Por último, se solicitó a 10 usuarios distribución de intentos correctos en contraste
(niños entre 2 y 5 años) que realizan pruebas a los intentos fallidos, como se puede
en el ingreso de comandos de voz. Los observar, solo un usuario ha tenido 2 errores,
resultados fueron los siguientes: el valor más alto.

10
Es importante, también, tener un valor 3. El código empleado es bastante ligero
global de las pruebas realizadas. En resumen, y limpio. Asimismo, nos hemos dado
de las 175 pruebas realizadas, se obtuvo un cuenta que la aplicación es altamente
total de éxito de 170, lo cual representa el potenciable y podría incluir nueva
98%. Asimismo, solo se obtuvo 2 intentos funcionalidades.
fallidos, lo cual representa el 2%.
4. Los resultados obtenidos en las
pruebas son satisfactorios. Sin
Gráfico 5 embargo, deberíamos garantizar
Total de intentos fallidos y correctos respuestas esperadas en un 100%.
Estamos seguros que sin en factor de
interferencia durante el ingreso de los
comandos, lo podremos obtener.

Reconocimiento:

Agradecemos a las personas que nos


brindaron su apoyo durante el desarrollo del
proyecto y a quienes participaron durante la
fase de pruebas.

Referencias

[1] R. Pressman, Ingeniería del Software


Es importante mencionar que han México, D.F.: McGraw-Hill. 2010
estado presentes factores de pronunciación,
interrupciones y ruido durante la etapa de [2] G. Velásquez, Sistema de reconocimiento
prueba, lo cual puede haber contribuido a de voz en Matlab, Tesis para obtener el grado
tener un 2% de resultados no esperados. de Ingeniero electrónico en la Universidad de
Estamos seguros que dentro de las San Carlos de Guatemala. 2008
condiciones necesarias para poder garantizar
la calidad de la señal de voz, podremos
[3] D. Fandiño, Estado del arte en el
obtener un 100% de resultados esperados.
reconocimiento automático de voz.
Universidad Nacional de Colombia. 2005
5. Conclusiones:

1. El reconocimiento de voz es una parte


fundamental de la Inteligencia Artificial
(IA) y los Sistemas Basados en
Conocimiento (SBC), ya que una de
--------------------------------------------------------------
las principales características es tratar
de simular la inteligencia humana,
Autor: Braulio Ricardo Alvarez Gonzaga,
siendo el lenguaje hablado su principal
técnico en Computación e Informática,
producto.
Licenciado en Lengua y Literatura, estudios de
maestría en Tecnologías de Información y
2. Trabajar con Visual Studio 2012 ha
Comunicaciones y estudiante de Ingeniería de
sido altamente satisfactorio, ya que
Sistemas.
cuenta con una amplia librería de
reconocimiento de voz a nuestra
disposición.

11

You might also like