reconocimiento automático de voz

10
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN DE AREQUIPA FACULTAD DE INGENIERIA DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS CURSO: COMUNICACION DE DATOS Integrantes: CUI: Cornejo Valencia Frank Pedro 20081983 Pucho Chuquicaña Jose 20080379 Huancco Coila Manuel 20080027 Macedo Valencia Jonathan 20084250 _____________________________________________________________________________ Reconocimiento Automático de Voz a través de la librería Speech Recognition en lenguaje C# "Estamos en un punto de transición donde la voz y la comprensión del lenguaje natural han cobrado de pronto mucha importancia" El Reconocimiento Automático del Habla (RAH) o Reconocimiento Automático de Voz es una parte de la Inteligencia Artificial que tiene como objetivo permitir la comunicación hablada entre seres humanos y computadoras electrónicas. La herramienta computacional creada capaz de procesar la señal de voz emitida por el ser humano y reconocer la información contenida en ésta, convirtiéndola en texto o emitiendo órdenes que actúan sobre un proceso. De pronto tenemos este nuevo bloque de construcción, esta nueva dimensión que podemos aportar al problema de superar algunas necesidades detectadas en personas discapacitadas, ciegas o con poca visibilidad. Es por ello que se creó una serie de aplicaciones dando lugar a un ordenador que habla por una persona, órdenes que se convierten en acciones gracias al sistema de reconocimiento de voz o la adaptación de aplicaciones informáticas abren una puerta para discapacitados, que adquieren la autonomía que la vida les negó. Dichas aplicaciones se crearon en entorno Microsoft Visual Studio 2010 en el lenguaje C# 1. Lector de texto personal convierte cualquier texto escrito en palabras habladas. 2. Diseño de una calculadora científica adaptada a discapacitados visuales. 3. Reproductor de música con reconocimiento de voz. 4. Creación de un Chat herramienta de comunicación en red local que reúne en una sola aplicación los rasgos más típicos de los clientes de mensajería instantánea y Reconocimiento Automático de Voz. 5. Creación de juegos con reconocimiento de voz. Agregamos la librería System.Speech como referencia a nuestras aplicaciones que harán uso de reconocimiento de voz.

Upload: frank-pedro-cornejo-valencia

Post on 02-Aug-2015

380 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Reconocimiento Automático de Voz

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN DE AREQUIPA FACULTAD DE INGENIERIA DE PRODUCCIÓN Y SERVICIOS

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS CURSO:

COMUNICACION DE DATOS Integrantes: CUI: Cornejo Valencia Frank Pedro 20081983 Pucho Chuquicaña Jose 20080379 Huancco Coila Manuel 20080027 Macedo Valencia Jonathan 20084250

_____________________________________________________________________________ Reconocimiento Automático de Voz a través de la librería Speech Recognition en lenguaje C#

"Estamos en un punto de transición donde la voz y la comprensión del lenguaje natural han

cobrado de pronto mucha importancia"

El Reconocimiento Automático del Habla (RAH) o

Reconocimiento Automático de Voz es una parte de la

Inteligencia Artificial que tiene como objetivo permitir la

comunicación hablada entre seres humanos y

computadoras electrónicas.

La herramienta computacional creada capaz de procesar la

señal de voz emitida por el ser humano y reconocer la información contenida en ésta,

convirtiéndola en texto o emitiendo órdenes que actúan sobre un proceso.

De pronto tenemos este nuevo bloque de construcción, esta nueva dimensión que podemos

aportar al problema de superar algunas necesidades detectadas en personas discapacitadas,

ciegas o con poca visibilidad.

Es por ello que se creó una serie de aplicaciones dando lugar a un ordenador que habla por

una persona, órdenes que se convierten en acciones gracias al sistema de reconocimiento de

voz o la adaptación de aplicaciones informáticas abren una puerta para discapacitados, que

adquieren la autonomía que la vida les negó.

Dichas aplicaciones se crearon en entorno Microsoft Visual Studio 2010 en el lenguaje C#

1. Lector de texto personal convierte cualquier texto escrito en palabras habladas. 2. Diseño de una calculadora científica adaptada a discapacitados visuales. 3. Reproductor de música con reconocimiento de voz. 4. Creación de un Chat herramienta de comunicación en red local que reúne en una sola

aplicación los rasgos más típicos de los clientes de mensajería instantánea y Reconocimiento Automático de Voz.

5. Creación de juegos con reconocimiento de voz.

Agregamos la librería System.Speech como referencia a nuestras aplicaciones que harán uso de reconocimiento de voz.

Page 2: Reconocimiento Automático de Voz

1. Lector de texto personal convierte cualquier texto escrito en palabras habladas.

2. Diseño de una calculadora científica adaptada a discapacitados visuales.

Page 3: Reconocimiento Automático de Voz

Para esta aplicación se baso en el siguiente diccionario de palabras localizadas en el archivo Diccionario.xml que contiene las siguientes palabras:

<item> calculadora </item>

<item> uno </item>

<item> dos </item>

<item> tres </item>

<item> cuatro </item>

<item> cinco </item>

<item> seis </item>

<item> siete </item>

<item> ocho </item>

<item> nueve </item>

<item> mas </item>

<item> menos </item>

<item> por </item>

<item> entre </item>

<item> igual </item>

<item> limpiar </item>

<item> inicio </item>

<item> calculadora </item>

<item> reproductor </item>

<item> escoger </item>

<item> escribir </item>

<item> leer </item>

<item> limpiar </item>

<item> plei </item>

<item> pause </item>

<item> estop </item>

<item> tabular </item>

<item> enter </item>

<item> pong </item>

<item> pusle </item>

<item> cerrar </item>

3. Reproductor de música con reconocimiento de voz.

4. Creación de un Chat herramienta de comunicación en red local que reúne en una sola aplicación los rasgos más típicos de los clientes de mensajería instantánea y Reconocimiento Automático de Voz.

Page 4: Reconocimiento Automático de Voz

5. Creación de juegos con reconocimiento de voz.

Para esta aplicación se baso en el siguiente diccionario de palabras localizadas en el archivo numeros.xml que contiene las siguientes palabras:

<item> derecha </item>

<item> izquierda </item>

<item> abajo </item>

<item> arriba </item>

<item> cinco </item>

<item> cambio </item>

<item> ocultar </item>

<item> aparecer </item>

<item> alto </item>

<item> cerrar </item>

<item> quieto </item>

Page 5: Reconocimiento Automático de Voz

void _recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { foreach (RecognizedWordUnit word in e.Result.Words) { listBox1.Items.Add(word.Text); if (word.Text == "derecha") { mytabla.direccion_X = 1; } if (word.Text == "izquierda") { mytabla.direccion_X = 0; } if (word.Text == "alto") { i = 1; } if (word.Text == "seguir") { i = 0; } if (word.Text == "quieto") { t = 0; } if (word.Text == "continua") { t = 1; } if (word.Text == "cerrar") { Close(); } } }

Page 6: Reconocimiento Automático de Voz

Conclusiones

El reconocimiento de voz es el nuevo “bum” de la programación Las interfaces controladas por

voz se están instalando en los teléfonos móviles, televisores y automóviles.

Se puede crear una serie de aplicaciones para aportar al problema de superar algunas

necesidades detectadas en personas discapacitadas.

Las técnicas para el análisis y síntesis de voz usadas actualmente, demuestran ser eficientes

hasta cierto grado.

Sin embargo, el reconocimiento de voz (por una máquina) es un problema muy complejo. Las

vocalizaciones varían en términos de acento, la pronunciación, la articulación, la rugosidad, la

nasalidad, tono, volumen y velocidad. El habla es distorsionada por un ruido de fondo y los

ecos, las características eléctricas.

Page 7: Reconocimiento Automático de Voz

Trabajo Nº2

Manejar varias PC’s con un teclado y mouse

• Permitir compartir un mouse y un teclado entre varias computadoras, sin la necesidad

de ningún hardware adicional.

• Funciona bajo una arquitectura Cliente/Servidor. El servidor comparte su ratón y

teclado a los diferentes clientes que existan.

• El servidor captura los eventos del ratón, del teclado

Esto dará una sensación de tener una sola computadora con muchos monitores.

Synergy es un software que permite compartir un mouse y un teclado entre varias

computadoras, sin la necesidad de ningún hardware adicional.

Page 8: Reconocimiento Automático de Voz

Pantalla de configuración de la aplicación Synergy en esta ventana se logra la configuración del

servidor el cual tiene control sobre los demás dispositivos asociados a esté vía red.

Configuración del cliente con respecto del servidor por medio de su IP y la posición donde se

encuentre con respecto con el servido ya sea su izquierda, derecha, abajo y arriba.

Page 9: Reconocimiento Automático de Voz

Trabajo Nº3

VNC son las siglas en inglés de Virtual Network Computing (Computación Virtual en Red). VNC es un programa de software libre basado en una estructura cliente-servidor el cual permite tomar el control del ordenador servidor remotamente a través de un ordenador cliente. También llamado software de escritorio remoto. VNC no impone restricciones en el sistema operativo del ordenador servidor con respecto al del cliente: es posible compartir la pantalla de una máquina con cualquier sistema operativo que soporte VNC conectándose desde otro ordenador o dispositivo que disponga de un cliente VNC portado. En la enseñanza, VNC sirve para que el profesor comparta su pantalla con los alumnos, por ejemplo en un laboratorio. También puede usarse para que un técnico ayude a un usuario inexperto, el técnico ve remotamente el problema que informa el usuario. El programa servidor suele tener la opción de funcionar como servidor HTTP para mostrar la pantalla compartida en un navegador con soporte de Java. En este caso el usuario remoto (cliente) no tiene que instalar un programa cliente de VNC, éste es descargado por el navegador automáticamente. VNC es independiente de la plataforma - un cliente VNC en un sistema operativo pueden conectarse a un servidor VNC en la misma o de cualquier otro sistema operativo. Usando la aplicación android VNC se logro conectar y crear una red pequeña entre 3 dispositivos vía Wi-fi se pudo proyectar la pantalla del Dispositivo principal en el celular como se muestra en la siguiente imagen se logro un control total sobre la PC.

Seguridad Por defecto, VNC no es un protocolo seguro. Como las contraseña se envían en texto plano (como en telnet), el intento de romper o agrietar (cracking) la contraseña puede tener éxito si tanto la clave de cifrado y la contraseña cifrada es capturada desde una red. Por esta razón se recomienda utilizar una contraseña de al menos 8 caracteres.

Por otro lado, también existe un límite de 8 caracteres en algunas versiones de VNC; si se envía una contraseña de más de 8 caracteres, los caracteres sobrantes se retiran y la cadena truncada es comparada con la contraseña. UltraVNC soporta el uso de un plugin de código abierto que cifra toda la sesión de VNC incluyendo autenticación de contraseña y transferencia de datos. También permite a la autenticación realizarse en base a cuentas de usuario NTLM y Active Directory. Sin embargo, el uso de plugins de cifrado como lo hacen incompatible con otros programas VNC. RealVNC ofrece un alto nivel de cifrado como parte de su paquete comercial. Workspot ha publicado parches para VNC de cifrado AES.

Page 10: Reconocimiento Automático de Voz

Limitaciones Unicode no es compatible con las versiones 3.x VNC e inferiores por lo que es imposible transferir el texto del portapapeles fuera del juego de caracteres Latin-1. El protocolo VNC está basado en píxeles. Aunque esto lleva a una gran flexibilidad (es decir, se puede mostrar cualquier tipo de escritorio), a menudo es menos eficiente que las soluciones que tienen una mejor comprensión de la disposición de fondo gráfico como X11 o Windows Remote Desktop Protocol. Estos protocolos envían primitivas gráficas o comandos de alto nivel en una forma más simple (por ejemplo, "open window", "ventana abierta"), mientras que RFB sólo envía los datos de píxeles en bruto (raw pixel data).