REALIDAD AUMENTADA APLICADA A HERRAMIENTAS DIDÁCTICAS MUSICALES Jose Manuel Peula (1), Jose Antonio Zumaquero (1), Cristina Urdiales(1), Ana María Barbancho(2) (1)
[email protected],
[email protected],
[email protected],
[email protected] Grupo Isis, Dpto. de Tecnologia Electrónica, Universidad de Málaga, ETSI Telecomunicación, Campus de Teatinos s/n, 29071 – Málaga (España) (2) Dpto. de Ingeniería de Comunicaciones, Universidad de Málaga, ETSI Telecomunicación, Campus de Teatinos s/n, 29071 – Málaga (España)
Abstract- This paper presents two educational applications based on Augmented Reality to introduce young people to music in an easy and intuitive way: a virtual piano and a virtual score. The main novelty of this paper is how new technologies like Augmented Reality can be used in educational environments using simple low cost tools. The proposed tools have been used during La Semana de la Ciencia 2006 (Andalucia) and results have been quite satisfactory from the user point of view. I.
INTRODUCCIÓN
La Realidad Aumentada, a pesar de ser menos conocida que la Realidad Virtual por el público en general, presenta la ventaja de insertarse en el mundo real, permitiendo al usuario interactuar con éste y con elementos generados por ordenador al mismo tiempo. Dada su flexibilidad, ya existen interesantes aplicaciones basadas en Realidad Aumentada en ámbitos tales como la arquitectura [1], la educación [2] o la reconstrucción de piezas en museos [3]. En la actualidad existen muchos programas de ordenador que sirven de ayuda en la educación musical, pero muy pocos utilizan la Realidad Aumentada para conseguir un acercamiento a la música, de niños y jóvenes de forma rigurosa y amena. Esto es debido, sobre todo, al coste que supondría un sistema de estas características. Por ello, resultan interesantes las dos aplicaciones presentadas en esta comunicación: el piano virtual y la partitura virtual. Estas dos aplicaciones basan su funcionamiento en sistemas de realidad aumentada de bajo coste, lo que hace que, además de introducir al usuario en el mundo de la música de forma amena, sean accesibles al público en general. La estructura de esta comunicación es la siguiente: en el apartado 2 se realiza una descripción del piano virtual explicando, por un lado el sistema de detección de movimiento utilizado y, por otro, el montaje y utilización del piano virtual. En el apartado 3 se describe la partitura virtual, empezando por la librería de realidad aumentada que utiliza, ARToolkit. A continuación, en este apartado se explican los principios de funcionamiento de la partitura virtual, la librería de sonidos que utiliza, OpenAL y la utilización de la partitura virtual. En el apartado 4 se muestran las pruebas realizadas a ambas aplicaciones. Finalmente, en el apartado 5, se presentan las conclusiones obtenidas de la realización de este trabajo.
II.
PIANO VIRTUAL
El piano virtual es una herramienta que simula el teclado de un piano y su sonido mediante un PC conectado a unos altavoces y una cámara web (que permite la detección de las teclas pulsadas). Esta herramienta tiene la ventaja de poder ser utilizada por niños, sin miedo a que se hagan daño o lo rompan, como ocurriría en el caso de utilizar un teclado electrónico, pues el piano no existe físicamente y el equipo no necesita ser accesible por el usuario.Es necesario, sin embargo, resaltar que esta herramienta no pretende en ningún momento sustituir a un piano tradicional, sino simplemente ofrecer un primer acceso sencillo a éstos. En este apartado se expone, en primer lugar el sistema de detección de movimiento para reconocimiento de la tecla pulsada, el funcionamiento y el montaje del sistema y finalmente utilización del piano desarrollado. A. Detección de Movimiento Para simular el comportamiento de un piano en primer lugar es importante saber que tecla se ha pulsado, para así reproducir el sonido oportuno. Sin embargo, dada la gran cantidad de técnicas para detección de movimiento, hay que saber cual es la más oportuna para esta aplicación. En la aplicación presentada, la estructura del sistema (Fig. 1) es la más simple y más estudiada comúnmente: una cámara fija sobre la zona de detección de movimiento donde esta virtualmente el piano (proyectado o impreso) y el objeto en movimiento (una mano).
Fig. 1.
Montaje ideal del piano virtual.
En este tipo de situación con cámara estática, se pueden aplicar técnicas basadas en estructuras biológicas como la de visión foveal [4], técnicas basadas en estimación paramétrica [5], etc. Sin embargo, dado que para la aplicación realizada no era necesaria una gran precisión en la detección de los objetos, ni predicción de posición futura, se optó por un esquema de detección de movimiento rápido y sencillo (Fig.2), basado en la sustracción de fotogramas consecutivos en escala de grises, umbralización, detección de bordes y finalmente detección de los objetos y determinación de la región del piano sobre la que se encuentra el objeto mayor para reproducir la nota oportuna, si corresponde. En la versión actual no se permite la reproducción de sonidos simultáneos, dado que lo que se quiere es un primer acercamiento al funcionamiento de un piano. Por ello, el sonido de las distintas teclas se almacena en ficheros y se reproduce utilizando la librería API de Windows.
C. Montaje y Uso del Piano Virtual Este sistema ha sido probado sobre un ordenador Pentium III a 1GHz con 500 MB de RAM conectado a una cámara web estándar y unos altavoces convencionales funcionando sin ningún problema. Como se ha comentado antes, el montaje ideal del sistema (Fig.1) sería con una cámara que tenga una vista axial de la zona sensible al movimiento. La zona sensible al movimiento se configura mediante el programa configurador (Fig. 3). Éste configura de forma estática las zonas que determinan las teclas del piano. Es deseable que el usuario sepa donde está “físicamente” el teclado virtual mediante un proyector que proyecte un piano o una hoja impresa, como se hizo en el laboratorio por comodidad. De esta forma el usuario no necesita mirar al monitor, se abstrae de la aplicación y se siente más inmerso en el sistema.
Fig. 3. Configurador de la zona de detección de movimiento.
Concretamente, la configuración de la zona sensible se hace mediante el ratón, pinchando y arrastrando para marcar la región que, automáticamente, se dividirá en tantas regiones como teclas se hayan indicado en el fichero de configuración. Tras montar el sistema y configurar la región del teclado se ejecuta la aplicación principal (Fig. 4) en la que se detecta el movimiento de los objetos y se reproducen los sonidos apropiados del teclado. Esta aplicación consta de dos ventanas: i) La ventana principal (Fig. 4a): Muestra un piano que puede utilizarse para ser proyectado en caso de utilizar proyector. ii) La ventana de captura de la cámara (Fig. 4b): Muestra la imagen capturada por la cámara, y ayuda al usuario ajeno a la materia a poder entender un poco el funcionamiento del programa. La configuración de los parámetros del sistema (número de teclas del piano, los sonidos a reproducir en cada zona, etc.) se configuran mediante los ficheros de configuración.
Fig. 2. Diagrama de bloques del sistema.
B. Principio de funcionamiento del programa Al mover la mano sobre el teclado virtual se reconoce si ésta está sobre alguna tecla del piano. Si es así, se reproduce el sonido correspondiente. Si se están ocluyendo varias teclas, se determinará cual tiene una mayor área oculta por el objeto y ésta será la que sea reproducida.
Fig. 4. Panel de la aplicación principal.
III.
PARTITURA VIRTUAL
La partitura virtual es una herramienta que permite la creación sencilla de melodías utilizando como base la notación musical basada en pentagramas y figuras de notas. El pentagrama incluye la clave de sol y las notas que se pueden escribir en él mediante marcas pueden ser tanto blancas como negras e incluir bemoles o sostenidos. En este apartado se expone, en primer lugar, la librería de Realidad Aumentada que se utiliza, ARToolkit. A continuación, se explican los principios de funcionamiento de la partitura virtual, la librería de sonidos que se utiliza, OpenAL y, por último, la utilización de la partitura virtual. A. ARToolkit ARToolkit [6][7] es un conjunto de librerías en ANSI-C utilizadas para el desarrollo de aplicaciones de Realidad Aumentada como pueden ser los juegos [8][9]. Para ello provee de una serie de funciones para la captura de imágenes de video en las que se buscan patrones conocidos aplicando técnicas de visión por computador. Para conseguir su función, ARToolkit usa marcas planas impresas formadas por un marco de color negro que contiene en su interior un patrón (Fig.5) previamente aprendido. Para que los datos de posición e inclinación relativa que se calculen sean los correctos, las dimensiones de la marca (ancho y alto) serán establecidas a priori.
Fig. 5. Tipo de marcas usadas por ARTOOLKIT.
El funcionamiento de cualquier programa de Realidad Aumentada basado en ARToolkit es el siguiente: i) Se captura un fotograma de la fuente de video. ii) La imagen se transforma en binaria a partir de un umbral predeterminado. Todos los píxeles cuya intensidad supere el umbral pasan a ser negros, el resto pasan a ser blancos, dando una imagen en blanco y negro donde las zonas oscuras pasan a ser blancas y viceversa iii) En la imagen binaria, se buscan todos los marcos blancos que pudiesen ser candidatos de contener marcas conocidas iv) Una vez obtenidos los candidatos se comprueba que contienen un patrón conocido de entre los almacenados en memoria, de modo que se eliminan falsos positivos en la detección. v) Para aquellas marcas donde se encuentren patrones conocidos se obtienen los datos de posición e inclinación relativa a la cámara, que se guardarán en una matriz de transformación geométrica homogénea.
vi) A partir de dicha matriz de transformación se aplican las transformaciones geométricas a los elementos 3D que se van a pintar con OpenGL. vii) Por último, se superponen los objetos 3D generados en OpenGL a la imagen de video capturada. B. Principios de funcionamiento de la partitura virtual La partitura virtual aprovecha las características de ARToolkit para realizar la detección y posicionamiento relativo de las marcas. Esto permite obtener la posición y orientación relativa de la partitura respecto a la cámara, y a partir de ésta se detecta la posición de las notas respecto a la marca que referencia a la partitura, conociendo a que tono corresponde la nota. Una vez detectada la ubicación de las notas en la partitura presentada, se almacena en memoria la lista de notas que habrá que reproducir. Para escuchar la partitura cuando se realice la indicación de ello, se carga en memoria los ficheros de audio que contienen las notas en el orden indicado por la lista, y se reproducen posteriormente. C. OpenAL Para cargar y reproducir sonidos se ha usado la librería de C/C++ OpenAL [10] que permite manejar archivos de sonido con gran facilidad, así como la creación de entornos sonoros donde se pueden configurar tanto la posición del oyente como las posibles fuentes sonoras, entre otras ventajas que hacen que sea ampliamente usada en programación de entornos virtuales [11]. D. Uso de la partitura virtual Para usar la partitura virtual se necesitan realizar una serie de tareas que van a permitir visualizar la partitura con un tamaño deseado y detectar las notas colocadas en ella. Los pasos son los siguientes: i) Usar la marca de referencia que dará la posición y orientación de la partitura en cualquier momento de la aplicación (Fig.6). ii) Usar la marca auxiliar de tamaño que permitirá redimensionar la partitura, de manera que la zona donde se puede escribir en la partitura irá desde la marca de referencia a la marca auxiliar de tamaño (Fig. 7). iii) Una vez colocada la partitura donde se quiere y con el tamaño que se desea, se pueden colocar nuevas marcas que corresponden a notas blancas o negras (Fig. 8). iv) Se colocan las notas en el tono deseado. Para cambiar de un tono natural a bemol o sostenido basta con girar la marca sobre si misma (Fig. 8). v) Una vez colocadas todas la notas y compuesta la partitura se puede escuchar bien pulsando una tecla, bien usando una marca auxiliar de reproducción (Fig. 9). vi) Para cambiar la partitura, basta con mover de posición las marcas de las notas.
V.
Fig. 6. Desplazamiento de la partitura usando la marca de referencia.
Fig. 7. Redimensionamiento de la partitura usando las marcas de referencia y auxiliar de tamaño.
CONCLUSIONES
Se han presentado dos aplicaciones simples pero a la vez amenas, educativas y divertidas, con las cuales poder ayudar a los más jóvenes, e incluso a los no tan jóvenes, a introducirse en el mundo de la música mediante el uso de nuevas tecnologías: el piano virtual y la partitura virtual. Se ha mostrado la conveniencia de la técnica de procesamiento de vídeo más o menos avanzada según la aplicación. En el caso del piano virtual, una simple detección de movimiento por sustracción de fotogramas consecutivos, pues no es necesaria más información; y en el caso de la partitura virtual la potencia de ARToolKit para determinar la posición de las marcas y poder diferenciar unas de otras. Además estas aplicaciones permiten una gran versatilidad, pues con pequeñas variaciones podrían crearse otras aplicaciones como una batería virtual o juegos como el conocido Simón. Y todo esto con un equipo básico y prácticamente al alcance de cualquier usuario e institución, como pueden ser un PC compatible y una cámara web. Su funcionamiento y aceptación por parte de personas no versadas en la materia ha quedado patente tras las demostraciones en la VII Semana de la Ciencia y la Tecnología realizada. AGRADECIMIENTOS Este trabajo ha sido parcialmente subvencionado por el Ministerio de Educación y Ciencia (MEC), Proyectos nº TIN2005-01359 y TEC2006 11689 y por la Junta de Andalucía, Proyecto TIC 249. REFERENCIAS
Fig. 8. Colocación las notas en una partitura. [1]
Fig. 9. Reproducción de la partitura usando la marca auxiliar de reproducción.
IV.
PRUEBAS DE LAS HERRAMIENTAS DISEÑADAS
El testeo de la herramienta piano virtual se realizó en el laboratorio de investigación con personal técnico conocedores de este tipo de aplicaciones con comentarios favorables. Las pruebas de la partitura virtual, se realizaron en el laboratorio usando un conjunto de marcas impresas de 40 mm. de lado para las marcas de referencia, auxiliar de tamaño y auxiliar de reproducción, y de 25mm para las marcas de notas blancas y negras, obteniéndose resultados satisfactorios. Ambas aplicaciones fueron presentadas en la VII Semana de la Ciencia y la Tecnología celebrada en Málaga, utilizando un proyector en lugar de un monitor. Los usuarios técnicos y no técnicos que probaron las aplicaciones quedaron muy asombrados y satisfechos del resultado.
A. Aguilar, C. Urdiales, J.A. Fernández-Ruiz, F. Sandoval, “Sistema CAD avanzado mediante realidad aumentada”, XIV Jornadas Telecom I+D 2004, Madrid, Noviembre 2004. [2] H. Kaufmann., “Collaborative Augmented Reality in Education”.. Keynote Speech at Imagina Conference, 2003. [3] M. Abad, L. Arretxea, A. Alzua-Sorzabal, “Evaluación del impacto de las Nuevas Tecnologías en el visitante del museo: el caso de la Virtual Showcase”, I International Workshop on ICTs, Arts and Cultural Heritage, 2003. [4] J. A. Rodríguez, C. Urdiales, P. Camacho y F. Sandoval, "Detección jerárquica de móviles sobre geometrías de fóvea adaptativa. Revista Electrónica de Visión por Computador (REVC), Nº. 3, Julio 2000. [5] S. M. Smith, J. M. Brady, "SUSAN-A New Approach to Low Level Image Processing", in Proceedings of the International Journal of Computer Vision, 23:1, pp. 45-78, 1997. [6] H. Kato et. al., “Augmented Reality Toolkit”. http://artoolkit.sourceforge.net, Nov 2004. Última consulta 20 de Febrero del 2.007. [7] D. Wagner and D. Schmalstieg, “First step towards Handled Augmented Reality”. In Proceedings of the 7th International Conference of Wearable Computers White Plains, NY, USA, Oct 2123, 2003. [8] B. H. Thomas, “Challenges of Making Outdoor Augmented Reality Games Playable”. The university of South Australia, 2001 [9] T. Nilsen, S. Linton and J. Looser, “Motivations for AR Gamming”. In Proceeding of the First International Workshop on Foundation of Unanticipated Software Evolution, New Zealand Game Developers Conference, Dunedin, New Zealand, 26-29 June 2004, 86-93. [10] Loki Entertainment Software, “Open Audio Library”, http://www.openal.org/ 2003. Última consulta 20 de Febrero del 2.007. [11] N. Raghuvanshi and M. C. Lin, “Interactive Sound Synthesis for Large Scale Environments”. In SI3D ’06: Proceedings of the 2006 symposium on Interactive 3D graphics and games, ACM Press, New York, NY, USA, 101–108, 2006 .