Вы находитесь на странице: 1из 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/305387456

Diseño e Implementación de una Calculadora con dos modos de Operación:


Activada por Voz y Manual

Article · January 2012

CITATIONS READS

0 147

2 authors, including:

José Luciano Maldonado


University of the Andes (Venezuela)
63 PUBLICATIONS   14 CITATIONS   

SEE PROFILE

All content following this page was uploaded by José Luciano Maldonado on 17 July 2016.

The user has requested enhancement of the downloaded file.


Diseño e Implementación de una Calculadora con dos modos de Operación: Activada por Voz y Manual

Diseño e Implementación de una


Calculadora con dos modos de Operación:
Activada por Voz y Manual
Luz E. Maldonado Alviarez, Luciano Maldonado

 este trabajo en el que se recurre al uso de hardware electrónico


Resumen— Se presenta el diseño, la construcción y pruebas de y software para construir una calculadora cuya función
una calculadora que tiene la particularidad de operar en dos principal es que permitiera ser utilizada por medio de la voz.
modos distintos: en uno de los modos puede recibir, a través de la
voz, tanto los comandos indicadores de las operaciones a realizar II. DESCRIPCIÓN GENERAL DE LA
como los operandos; y en el otro modo, el modo manual, recibe los
CALCULADORA
comandos y los operandos a través de su teclado. En cualquier
momento puede pasar del modo activada por voz al modo manual Las características más resaltantes de la calculadora
y viceversa, al pronunciársele la palabra correspondiente, diseñada e implementada son las siguientes:
dependiendo del modo en que se encuentre. En el modo activada
por voz es sensible al ruido, es decir, en ambientes ruidosos su 1. Tiene dos modos de operación: el modo activado por voz
capacidad de reconocimiento se ve afectada, mientras que trabaja
y el modo manual.
muy bien en ambientes libres de ruido. En su modo manual no
2. Puede cambiar de un modo de operación a otro al
presenta ningún inconveniente en su funcionamiento.
pronunciársele la orden requerida, vale decir, si está
Palabras claves—Calculadora activada por voz, modo manual, trabajando en modo activado por voz, para pasar al modo
programa supervisor, reconocedor automático de voz. manual se pronuncia la palabra manual; y si está en modo
manual, para pasar al modo activado por voz se pronuncia
I. INTRODUCCIÓN la palabra automático. Por otro lado, si está en el modo
activada por voz y se le pronuncia la palabra automático
En el mundo actual, se sabe que desde la aparición en
no cambia de estado, lo mismo sucede si se encuentra en
forma consistente de las tecnologías del habla, conjuntamente
el modo manual y se pronuncia la palabra manual.
con el desarrollo sostenido de la electrónica, las
3. En el modo activada por voz funciona, básicamente,
telecomunicaciones y las tecnologías del software,
como un reconocedor dependiente del hablante [1].
investigadores interdisciplinarios han formado diferentes
4. En el modo activada por voz es sensible al ruido presente
grupos de trabajo para diseñar y desarrollar sistemas con la
en el ambiente de operación.
capacidad de “escuchar”, desencadenar acciones en función de
lo “escuchado” y producir información, incluso en forma
En la Fig. 1 se destacan, de manera gráfica, las
hablada [1]. De hecho, existen reconocedores automáticos del
principales características de la calculadora implementada.
habla comerciales como el Dragon NaturallySpeaking y el
Se puede apreciar que los modos de operación son
ViaVoice que son sistemas de software que permiten hacer del
controlados a través de un programa supervisor que decide
computador una “secretaria” automática [2-3]. Por esa razón,
cuándo activar uno u otro modo.
y pensando en las ventajas que puede tener controlar cualquier
máquina a través del lenguaje natural de la gente, se planteó
III. ETAPAS DE DESARROLLO DE LA
CALCULADORA
Artículo elaborado el 3 de Febrero de 2012. Para el diseño y para la implementación, tanto del hardware
L.E.M.A. estudia en la Universidad de Los Andes, Sector La Hechicera,
como del software de este sistema, se abordaron cuatro etapas
Facultad de Ingeniería, Escuela de Ingeniería Eléctrica, Mérida, Estado en las que se desarrollaron, por separado, dos tipos de
Mérida, Venezuela, Tlf. +58-0412-6575675, E-mail: calculadoras: una que trabajaba en forma manual y la otra que
luzelena2013@hotmail.com, trabajaba activada por voz; posteriormente esos dos tipos se
L.M. está con la Universidad de Los Andes, Núcleo La Liria, Facultad de
Ciencias Económicas y Sociales, Instituto de Estadística y Computación,
integraron para constituir una calculadora con los dos modos
Mérida, Estado Mérida, Venezuela, Tlf. +58-414-7315977, E-mail: de operación.
maldonaj@ula.ve
Diseño e Implementación de una Calculadora con dos modos de Operación: Activada por Voz y Manual

El programa correspondiente a esta etapa monitorea el


teclado y controla la pantalla LCD. Las operaciones
aritméticas que puede llevar a cabo esta calculadora son
suma, resta, multiplicación y división de números enteros de
Modo Activado Modo
Manual
hasta cuatro dígitos por operando. Otras órdenes que puede
por voz cumplir esta calculadora son limpiar la pantalla, retroceder
para corregir operaciones u operandos, producir mensajes
de error y de resultados. El mensaje típico de error que se
Supervisor/Activador de Modos produce es cuando se pretende la división por cero.
B. Etapa de entrenamiento del reconocedor de palabras
aisladas
FIG.1 Esquema funcional de la calculadora Se recurrió al uso de la tarjeta SR-07 que implementa un
reconocedor automático de pronunciaciones de palabras
A. Etapa de desarrollo de la calculadora en modo manual aisladas dependiente del hablante [7]. En la Fig. 4 se puede
Inicialmente se construyó la calculadora para que trabajara apreciar la circuitería general de esa tarjeta.
en modo manual solamente. Esta calculadora estaba basada,
desde el punto de vista del hardware, en un PIC 16F877a, un
teclado de 4X4 teclas, una pantalla LCD de dos líneas de
caracteres, 8 caracteres por línea, un pulsador, resistencias y
fuentes.
El diseño de este modo de operación, que se muestra en la
Fig. 2, se realizó y probó utilizando PROTEUS y el PIC C
Compiler [4-6]. Posteriormente, se grabó el programa
depurado en el PIC y se montó la circuitería en un
protoboard tal como se muestra en la Fig 3.

A 7 8 9 LCD1
LM016L

B 4 5 6
C 1 2 3 VDD
VDD
VSS

VEE

RW

FIG. 4. Tarjeta SR-07 (fuente: www.imagesco.com)


RS

D0
D1
D2
D3
D4
D5
D6
D7
E

ON
+
1
2
3

4
5
6

7
8
9
10
11
12
13
14

D
C 0 =
1

La tarjeta SR-07 está constituida por el dispositivo


13
14
U1
OSC1/CLKIN
OSC2/CLKOUT
RB0/INT
RB1
33
34
35
HM2007 que es el reconocedor de palabras aisladas
VDD RB2
2 36
3
4
5
6
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RB3/PGM
RB4
RB5
RB6/PGC
37
38
39
40
propiamente dicho, un teclado a través del cual se pueden
RA4/T0CKI/C1OUT RB7/PGD
7
R1
10k 8
9
10
RA5/AN4/SS/C2OUT

RE0/AN5/RD
RE1/AN6/WR
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
RC2/CCP1
15
16
17
18
enumerar las palabras a ser entrenadas, iniciar el
RE2/AN7/CS RC3/SCK/SCL
23
1
MCLR/Vpp/THV
RC4/SDI/SDA
RC5/SDO
RC6/TX/CK
RC7/RX/DT
24
25
26
entrenamiento o eliminar una palabra entrenada. Dos display
19
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
20
21
22
27
7-segmentos a través de los cuales se puede visualizar el
28

número de la palabra que está siendo entrenada en un


RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
PIC16F877A

momento dado o qué palabra está siendo reconocida cuando


FIG. 2 Diseño de la calculadora manual
se están probando las palabras entrenadas. Un micrófono a
través del cual se reciben las palabras pronunciadas. Se
pueden entrenar hasta 40 palabras debido a limitaciones de
la SRAM de la que se dispone dicha tarjeta.
En este trabajo, la tarjeta SR-07 fue empleada como el
medio a través del cual se recibían los comandos y
operandos que constituían el vocabulario utilizado por la
calculadora en el modo Activada por Voz.
El vocabulario utilizado en este modo estaba constituido
por las 20 palabras siguientes: uno, dos, tres, cuatro, cinco,
seis, siete, ocho, nueve, cero, más, menos, entre, por, igual,
borrar, pausa, limpiar, manual y automático.

FIG. 3 Hardware de la calculadora manual


Diseño e Implementación de una Calculadora con dos modos de Operación: Activada por Voz y Manual

C. Etapa de desarrollo de la calculadora en modo activada que debe realizar la operación aritmética que es seleccionada
por voz dependiendo de si en la orden aparece un más, menos, por o
Una vez entrenada la tarjeta SR-07 con el vocabulario del entre.
cual iría a estar dotada la calculadora activada por voz, se D. Etapa de integración de los dos modos de operación
procedió a medir los niveles de tensión de cada una de las
Una vez probados, por separado, los dos modos de
entradas a los display 7-segmentos que producía dicha tarjeta
operación, se procedió a su integración en un solo sistema
para cada una de las palabras. Esto permitió determinar los
como se observa en la Fig. 6. Esta integración se realizó en
códigos binarios que posteriormente fueron utilizados como
dos sentidos: en primer lugar, desde el punto de vista del
entradas al PIC16F877a, sobre el cual se programó la
hardware y en segundo lugar, desde el punto de vista del
operación del modo activado por voz, de la misma manera
software.
como se hizo para el modo manual. En la Fig. 5 se puede
observar la interface entre la SR-07, el PIC16F877a y la LCD.

FIG. 6. Hardware de la calculadora resultante


FIG. 5. Hardware del modo activado por voz
Desde el punto del hardware, la integración consistió en
El programa encargado de controlar el modo activado por cablear las salidas desde las entradas a los display 7-segmentos
voz tenía la tarea de monitorear el reconocedor de voz (la SR- de la SR-07 hacia el puerto D del PIC para controlar el
07), almacenar las palabras que le iban llegando, determinar a reconocimiento de voz. Mientras que el puerto C del PIC se
qué comando correspondían, desencadenar las actividades empleó para controlar el teclado del modo manual y el puerto
necesarias para cumplir con esas órdenes, producir los B del PIC se empleó para controlar la pantalla LCD.
mensajes necesarios sobre la pantalla LCD y volver al status En cuanto al software, la integración no era tan directa como
de recepción de comandos hablados. en el caso del hardware, por lo que se desarrolló un programa
De manera que si, por ejemplo, se deseaba realizar, en el supervisor de los modos de operación y se realizaron algunas
modo Activado por Voz, la operación 5 + 8, la secuencia de modificaciones a los programas que se habían desarrollado
pronunciaciones era: cinco más ocho igual. Mientras que si se para el control de los modos en forma separada.
deseaba realizar la operación 58 - 20, la secuencia de
pronunciaciones era: cinco ocho menos dos cero igual. El 1. Programa supervisor de los modos de operación.
mismo procedimiento aplica para el resto de las operaciones
aritméticas Este programa desarrollado en PIC C Compiler, como todo
El comando borrar permitía eliminar y corregir una palabra el resto del software, tenía la tarea de scanear al reconocer de
que no era la deseada. Por ejemplo, si en un momento dado se voz. Trabajaba de la siguiente manera: cuando se encendía o
esperaba el operando 4 y por error se pronunciaba otro o por reseteaba la calculadora, se ponía en un estado al que se llamó
mal reconocimiento aparecía otro, entonces se podía selección de modo de operación. Básicamente, lo que hacía en
retroceder pronunciando la palabra borrar. ese estado era esperar a que se le pronunciara, a través del
El comando limpiar permitía limpiar la pantalla LCD. micrófono, la palabra manual para entrar en el modo de
El comando pausa se empleaba una vez obtenido el operación manual activando el programa asociado con este
resultado de alguna operación aritmética, antes de regresar al modo, o la palabra automático para entrar a trabajar en el
estado de recepción de comandos por voz. Hubo la necesidad modo de operación activada por voz, activando de la misma
de utilizar este comando para evitar la recepción espuria de manera el programa respectivo. A cualquier otra palabra
pronunciaciones. espuria, sencillamente, no le hacía caso.
El comando igual, le indica a la calculadora el momento en
Diseño e Implementación de una Calculadora con dos modos de Operación: Activada por Voz y Manual

Hay que resaltar que el comando manual cambia la manera se probaron los comandos adicionales pausa, igual y
calculadora a su modo manual, cuando se encuentra en modo borrar. Por otro lado, las pruebas se realizaron, en unos casos,
activado por voz. Si se está en modo manual y se pronuncia el en ambientes libres de ruido, es decir, en un laboratorio en
comando manual, sigue en dicho modo, y que el comando condiciones normales de trabajo, y en otros casos en presencia
automático cambia la calculadora al modo activado por voz, de ruido ambiente como música y conversaciones con
cuando se encuentra en modo manual. Si se está en el modo umbrales un tanto fuera de lo normal.
activado por voz y se pronuncia el comando automático, sigue
en dicho modo. C. Pruebas de la calculadora en modo activada por voz y
modo manual
2. Modificaciones al programa encargado de la operación
del modo manual Los casos de pruebas utilizados en los modos de operación
separados y otros adicionales fueron seleccionados para
Con respecto al programa original, en el que operaba la evaluar el desempeño de calculadora con los dos modos de
calculadora en modo manual en forma aislada, se le realizó operación integrados, con la particularidad de que se
una modificación que consistió en que cada vez que realizaron alternando los modos de operación para medir la
completaba la actividad requerida por un comando recibido eficacia, sobretodo, en el reconocimiento de los comandos de
por el teclado, revisaba si desde el reconocedor de voz había voz.
llegado la palabra automático, en cuyo caso le devolvía el También se realizaron pruebas en las que quien utilizaba la
control al programa supervisor para que arrancara el programa calculadora era una persona distinta a quien realizaba el
asociado al modo activada por voz, de no ser así continuaba en entrenamiento de las palabras a reconocer, ésto con la
el modo manual. finalidad de evaluar hasta qué punto la calculadora podía
funcionar en forma independiente del hablante.
3. Modificaciones al programa encargado de la operación
del modo activado por voz
V. DISCUSIÓN DE RESULTADOS
Al programa que inicialmente se encargaba de la operación en
forma aislada del modo activado por voz, básicamente se le En las pruebas realizadas a la calculadora manual en
realizó el mismo tipo de modificaciones realizados para el forma aislada se obtuvo un rendimiento del 100%.
programa encargado del modo manual, sólo que en este caso,
al completar cada operación, revisaba si había sido En las pruebas realizadas a la calculadora activada por voz
pronunciada la palabra manual, en cuyo caso le pasaba el en forma aislada se presentaron las siguientes situaciones:
control al programa supervisor para que activara el modo
manual, de lo contrario seguía en su modo actual de operación. 1. El reconocimiento de las palabras pronunciadas resultó en
aproximadamente el 96% en ambientes libres de ruido,
mientras que el cálculo realizado era 100% correcto. Por
IV. PRUEBAS REALIZADAS ejemplo, si lo que se solicitaba en forma hablada era algo
Las pruebas realizadas fueron diseñadas de la forma como cinco por ocho igual, el resultado era 40; pero si se
siguiente: equivocaba y “escuchaba” seis por ocho igual, el resultado
era 48.
A. Pruebas de la calculadora en modo manual.
2. El reconocimiento de las palabras en ambientes con
El conjunto de pruebas consistió simplemente en realizar las ruidos de música y conversaciones resultó en
operaciones de suma, resta, multiplicación y división de aproximadamente el 75%, mientras que el cálculo realizado
enteros, de a lo más cuatro dígitos por operando. Este era 100% correcto.
procedimiento se repitió al menos diez veces por operación.
De la misma manera se probaron los comandos de limpiar la 3. En cuanto al reconocimiento independiente del hablante,
pantalla LCD, retroceder para corregir un dato y de resetear la el resultado fue de aproximadamente el 68%, lo que supone
calculadora. una ventaja si se considera que se estaba trabajando en base
a un reconocedor dependiente del hablante.
B. Pruebas de la calculadora activada por voz.
En las pruebas con los modos de operación integrados, la
En este caso, el conjunto de pruebas consistió en realizar las situación resultó similar a los casos aislados, es decir, en los
mismas operaciones que en el modo manual, sólo que como se peores escenarios se logró aproximadamente el 98% de
estaba utilizando el reconocimiento de voz el procedimiento se funcionamiento normal en modo manual y el 73% en el
repitió al menos cuarenta veces por operación. De la misma modo activado por voz. Mientras que en ambientes libres de
Diseño e Implementación de una Calculadora con dos modos de Operación: Activada por Voz y Manual

ruido, se alcanzó 100% en modo manual y hasta 96% en el


modo activado por voz. Las fallas, en todo caso, se debieron
a la aparición de pronunciaciones espurias, donde la
calculadora indicaba la ocurrencia de una cierta palabra
cuando en realidad no se había pronunciado ninguna, es
decir, el programa reconocedor detectaba alguna mínima
actividad en el micrófono y trataba de asociarla a una
palabra que había sido entrenada.

VI. CONCLUSIONES

La computadora experimental desarrollada en esta


investigación resulta altamente eficiente en ambientes libres de
ruido, mientras que en ambientes ruidosos su rendimiento se
puede considerar sólo como aceptable. Esto se debe a que el
módulo reconocedor automático del habla utilizado, cuyas
características principales es que se trata de un reconocedor de
palabras aisladas y dependiente del hablante, presenta fallas en
cuanto a que es sensible al ruido. Por otro lado, aún cuando
está concebido como un reconocedor dependiente del
hablante, las pruebas arrojaron un comportamiento con un
grado de independencia suficientemente alto.

REFERENCIAS BIBLIOGRÁFICAS
[1] J. L. Maldonado. “Tratamiento y reconocimiento automatico de
señales de la voz venezolana”. Tesis Doctoral, ULA, Mérida,
Venezuela, 2003.
[2] Dragon NaturallySpeaking. Disponible en:
en.wikipedia.org/wiki/Dragon_NaturallySpeaking. Consultada en: enero
2012.
[3] ViaVoice. Disponible en: es.wikipedia.org/wiki/ViaVoice. Consultada
en: enero 2012.
[4] CCS PIC C Compiler V.4. CCS Inc.
[5] Proteus 7 Professional.
[6] J. M. Angulo, S. Romero y I. Angulo. “Microcontroladores <<PIC>>.
Diseño práctico de aplicaciones. Segunda Parte: PIC 16F87X”.
McGraw-Hill/Interamericana de España, S.A.U., 2000.
[7] SR-07 Speech Recognition Kit Construction Manual & User Guide.
Staten Island NY 10312, 2007.

View publication stats

Вам также может понравиться