136
UNIVERSIDAD CARLOS III DE MADRID ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE TEORÍA DE LA SEÑAL Y COMUNICACIONES PROYECTO FIN DE CARRERA Procesado de imagen para el análisis de partituras antiguas INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESP. EN SONIDO E IMAGEN Autor: GERARDO GÁLVEZ GARCÍA Tutor: Dr. JESÚS CID-SUEIRO Leganés, septiembre de 2007

Procesado de imagen para el análisis de partituras antiguas

Embed Size (px)

DESCRIPTION

Proyecto Final de Carrera de la ingenería Técnica de Telecomunicación, esp. en Sonido e Imagen.

Citation preview

Page 1: Procesado de imagen para el análisis de partituras antiguas

UNIVERSIDAD CARLOS III DE MADRID

ESCUELA POLITÉCNICA SUPERIOR

DEPARTAMENTO DE TEORÍA DE LA SEÑAL Y COMUNICACIONES

PROYECTO FIN DE CARRERA

Procesado de imagen para el análisis de partituras antiguas

INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESP. EN SONIDO E IMAGEN Autor: GERARDO GÁLVEZ GARCÍA Tutor: Dr. JESÚS CID-SUEIRO Leganés, septiembre de 2007

Page 2: Procesado de imagen para el análisis de partituras antiguas
Page 3: Procesado de imagen para el análisis de partituras antiguas

Título: PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

Autor: GERARDO GÁLVEZ GARCÍA

Tutor: DR. JESUS CID-SUEIRO

La defensa de del presento Proyecto fin de carrera se realizó el día 13 de septiembre de 2007, siendo calificada por el siguiente tribunal:

Presidente: ANGEL NAVIA VAZQUEZ

Vocal: MANEL MARTÍNEZ RAMÓN

Secretario: JULIO VILLENA ROMÁN

Habiendo obtenido la siguiente calificación: Presidente: Vocal: Secretario:

Page 4: Procesado de imagen para el análisis de partituras antiguas
Page 5: Procesado de imagen para el análisis de partituras antiguas
Page 6: Procesado de imagen para el análisis de partituras antiguas
Page 7: Procesado de imagen para el análisis de partituras antiguas

Por vuestra comprensión y paciencia, por darme todo lo necesario para ser quien soy…

Page 8: Procesado de imagen para el análisis de partituras antiguas
Page 9: Procesado de imagen para el análisis de partituras antiguas

AGRADECIMIENTOS En primer lugar quería agradecer a mi tutor, Jesús, que en su momento accediera a tutelar este Proyecto y toda su ayuda prestada por él, durante estos meses (que me han parecido años en algunos instantes). También agradecer a Nancho, creador de la web que contiene la base de datos de las imágenes con las que se ha diseñado este Proyecto, su disposición y su permiso para poder utilizar sus fotografías. Señalo a petición suya, que esas imágenes fueron tomadas del Monasterio Cisterciense de Santa Ana, Ávila. Pero también quiero agradecer, como parte fundamental para poder haber hecho este Proyecto a mi familia: mis padres, Antonio e Inma y a mi hermana Alba. A todo su apoyo, comprensión, consejos… no sólo ya durante la duración del Proyecto, ni siquiera durante toda la carrera, sino desde siempre. Desde luego también, es momento de acordarme de la gente que siempre estado ahí y que también forman parte de lo que soy y en consecuencia de lo que he hecho, desde que empezó mi formación en el Colegio: Marcos, Juan Pedro, Lucas…; luego en el instituto: Roberto, Javi… y después en la Universidad: Bach, Marta, Lau, Laura, Miriam, Lola, Arantxa, Irene… (espero que no me haya olvidado de mucha gente) También quería nombrar a mi profesor de música, Miguel, que me ha enseñado toda la música que sé. También le debo a él parte importante de este trabajo, ya que este mismo Proyecto, en principio no era más que la necesidad de un programa que pudiera leer música por mí cuando empezaba a aprender piano. Y acabo con mis amigos que por alguna u otra razón no he podido encajar en ninguno de los párrafos anteriores y que quiero y debo nombrarles: mis compis de Biblio (en un principio): Patri, Cris y María, obviamente ya sois mucho más que eso; Yoli, por ser una razón más para ir cada día a música; Javi y Fer, mis compañeros de viajes (también en un principio); Juan, por sus ayudas constantes durante el tiempo que ha durado este Proyecto y acabo con Laura, por todo lo que me has aportado desde que empecé esta carrera. A todos, muchas gracias.

Page 10: Procesado de imagen para el análisis de partituras antiguas
Page 11: Procesado de imagen para el análisis de partituras antiguas

ÍNDICE

1. INTRODUCCIÓN ....................................................................................................................................... 21 1.1 INTRODUCCIÓN ........................................................................................................................................ 23 1.2 MOTIVACIÓN ............................................................................................................................................ 24 1.3 OBJETIVOS ............................................................................................................................................... 26 1.4 ESTRUCTURA DEL PROYECTO .................................................................................................................. 27

2. REVISIÓN DEL ESTADO DEL ARTE .................................................................................................... 29 2.1 REVISIÓN CRÍTICA DE OTRAS PROPUESTAS PARA RESOLVER EL MISMO PROBLEMA ................................. 31

2.1.1 OMR comerciales ............................................................................................................................ 32 2.1.2 OMR no comerciales ....................................................................................................................... 34

2.2 BREVE DESCRIPCIÓN DE TECNOLOGÍAS TOMADAS COMO BASE PARA LA RESOLUCIÓN DEL PROYECTO ... 35 2.3 VENTAJAS ESPERADAS EN RELACIÓN CON LO EXISTENTE ........................................................................ 37

3. DESCRIPCIÓN DEL PROYECTO ........................................................................................................... 39 3.1 INTRODUCCIÓN ........................................................................................................................................ 41 3.2 ARQUITECTURA DEL SISTEMA DE RECONOCIMIENTO ............................................................................... 41

3.2.1 Descripción de la arquitectura ........................................................................................................ 41 3.2.2 Diagrama de la arquitectura ........................................................................................................... 43

3.3 ADQUISICIÓN DE LAS IMÁGENES .............................................................................................................. 44 3.4 SEGMENTACIÓN DE LA IMAGEN ................................................................................................................ 46

3.4.1 Introducción ..................................................................................................................................... 46 3.4.2 Realce – Preprocesado de la imagen .............................................................................................. 47 3.4.3 Binarización ..................................................................................................................................... 50 3.4.4 Eliminación de la imagen no-musical ............................................................................................. 55

3.5 DETECTAR LOS PENTAGRAMAS ................................................................................................................ 58 3.5.1 Introducción ..................................................................................................................................... 58 3.5.2 Preparación para la detección ........................................................................................................ 58 3.5.3 Aplicación de op. morfológicos para el rellenado de espacios entre líneas del pentagrama ......... 61 3.5.4 Detectando la ubicación .................................................................................................................. 63

3.6 DETECCIÓN DE LAS LÍNEAS DE CADA PENTAGRAMA ................................................................................ 65 3.6.1 Introducción ..................................................................................................................................... 65 3.6.2 Características a tener en cuenta .................................................................................................... 66 3.6.3 Detección de la distancia entre líneas ............................................................................................. 67 3.6.4 Detección del movimiento descrito por las líneas ........................................................................... 69 3.6.5 Borrado de líneas ............................................................................................................................ 74

3.7 SEGMENTACIÓN DE FIGURAS Y SÍMBOLOS (2º NIVEL DE SEGMENTACIÓN) ............................................... 76 3.7.1 Introducción ..................................................................................................................................... 76 3.7.2 Generación automática de figuras y símbolos ................................................................................ 76 3.7.3 Uso de figuras y símbolos con plantilla .......................................................................................... 82

3.8 RECONOCIMIENTO DE CADA SÍMBOLO ..................................................................................................... 84 3.8.1 Introducción ..................................................................................................................................... 84 3.8.2 Por su ubicación .............................................................................................................................. 84 3.8.3 Por su morfología ............................................................................................................................ 85 3.8.4 Explicación del reconocimiento de símbolos .................................................................................. 87 3.8.5 Representación de las notas ............................................................................................................ 98

3.9 CREACIÓN EL DOCUMENTO MUSICAL ..................................................................................................... 101 3.9.1 Introducción ................................................................................................................................... 101 3.9.2 Generación del documento ............................................................................................................ 101

3.10 AJUSTE DE PARÁMETROS ..................................................................................................................... 103

Page 12: Procesado de imagen para el análisis de partituras antiguas

4. RESULTADOS Y EVALUACIÓN .......................................................................................................... 105 4.1 RESULTADOS .......................................................................................................................................... 107

4.1.1 Conjunto de imágenes de prueba .................................................................................................. 107 4.1.2 Conjunto de imágenes de test ........................................................................................................ 110

4.2 EVALUACIÓN DE RESULTADOS ............................................................................................................... 112 5. CONCLUSIONES, LÍNEAS ABIERTAS ............................................................................................... 115

5.1 CONCLUSIONES ...................................................................................................................................... 117 5.2 LÍNEAS ABIERTAS PARA EL FUTURO ....................................................................................................... 118

6. ANEXOS ..................................................................................................................................................... 121 6.1 DESCRIPCIÓN DEL SOFTWARE DESARROLLADO EN MATLAB® 7.0 .......................................................... 123

6.1.1 Introducción ................................................................................................................................... 123 6.1.2 Lista de funciones implementadas ................................................................................................. 123 6.1.3 Lista de scripts ............................................................................................................................... 127

6.2 GUÍA PARA LA LECTURA DE PARTITURAS EN NOTACIÓN MENSURAL BLANCA ........................................ 130 6.2.1 Introducción ................................................................................................................................... 130 6.2.2 Historia .......................................................................................................................................... 130 6.2.3 Tipos de símbolos .......................................................................................................................... 131

7. BIBLIOGRAFÍA ........................................................................................................................................ 135 7.1 SOBRE TRATAMIENTO DIGITAL DE LA INFORMACIÓN ............................................................................ 137 7.2 SOBRE NOTACIÓN MENSURAL BLANCA .................................................................................................. 138

Page 13: Procesado de imagen para el análisis de partituras antiguas
Page 14: Procesado de imagen para el análisis de partituras antiguas
Page 15: Procesado de imagen para el análisis de partituras antiguas

ÍNDICE DE FIGURAS

fig. 3-1: Diagrama de bloques del reconocedor completo .................................................. 43 fig. 3-2: Ejemplo de imágenes de la base de datos utilizada ............................................. 46 fig. 3-3: Diagrama de bloques de la segmentación de la imagen ....................................... 46 fig. 3-4: Ejemplo de imagen a color y su descomposición en capas RGB ......................... 48 fig. 3-5: Detalle del borde superior izquierdo de la imagen de la partitura ......................... 49 fig. 3-6: Imagen completa original de una de las fotografías en escala de grises .............. 52 fig. 3-7: Histograma de la imagen completa ....................................................................... 53 fig. 3-8: Ejemplo de las diferentes posibilidades de binarización con un umbral único. ..... 54 fig. 3-9: Detalle de la imagen tras el proceso de binarización ............................................ 55 fig. 3-10: Diagrama de pasos para la eliminación del cuadro superior ............................... 56 fig. 3-11: Diagrama del procesado de la imagen para la detección de pentagramas ........ 57 fig. 3-12: Diagrama de bloques de la detección de pentagramas ...................................... 58 fig. 3-13: Proyección horizontal de una partitura binarizada .............................................. 59 fig. 3-14: Diagrama de bloques del procesado morfológico ............................................... 61 fig. 3-15: Resultados del procesado morfológico para la detección de pentagramas ........ 62 fig. 3-16: Proyección horizontal de los pentagramas en bloque ......................................... 63 fig. 3-17: Diagrama de bloques de la detección de líneas .................................................. 65 fig. 3-18: Pentagrama con sus líneas no rectas ................................................................. 66 fig. 3-19: Proyecciones horizontales de dos pentagramas de una partitura ....................... 68 fig. 3-20: Ejemplo del resultado del algoritmo de seguimiento de líneas ........................... 72 fig. 3-21: Ejemplo de borrado de líneas .............................................................................. 75 fig. 3-22: Generación automática de un rombo blanco ....................................................... 77 fig. 3-23: Generación automática de un rombo negro ........................................................ 78 fig. 3-24: Generación automática de cuadrados ................................................................. 79 fig. 3-25: Generación automática de cuadrados negros ..................................................... 80 fig. 3-26: Generación automática de puntillos .................................................................... 81 fig. 3-27: Claves patrón ...................................................................................................... 82 fig. 3-28: Sostenido y bemol patrones ................................................................................ 83 fig. 3-29: Compás patrón .................................................................................................... 83 fig. 3-30: Resultados de la correlación cruzada normalizada ............................................. 85 fig. 3-31: Ejemplo de movimiento de las 13 pistas virtuales ............................................... 89 fig. 3-32: Diagrama de pasos de la identificación del compás ........................................... 91 fig. 3-33: Ejemplos y proyecciones de plicas (corchea y normal) ....................................... 95 fig. 3-34: Ejemplo de ligadura ............................................................................................. 96 fig. 3-35: Ejemplo del resultado final ................................................................................ 102 fig. 5-1: Ejemplo de otra imagen de la misma notación .................................................... 117

Page 16: Procesado de imagen para el análisis de partituras antiguas
Page 17: Procesado de imagen para el análisis de partituras antiguas

ÍNDICE DE ECUACIONES ec. 3-1: Definición de luminosidad del CIE ......................................................................... 47 ec. 3-2: Binarización de la imagen ..................................................................................... 50 ec. 3-3: Proyección horizontal de una imagen ................................................................... 63 ec. 3-4 Correlación cruzada normalizada ........................................................................... 86

Page 18: Procesado de imagen para el análisis de partituras antiguas
Page 19: Procesado de imagen para el análisis de partituras antiguas

1. INTRODUCCIÓN

Page 20: Procesado de imagen para el análisis de partituras antiguas
Page 21: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 1: INTRODUCCIÓN

23

I.T.T. – SONIDO E IMAGEN

1.1 Introducción Vayamos atrás solo un par de décadas. Madrid, años 80. Un melómano guarda con cuidado un vinilo en la estantería con el resto de su colección. El querer escuchar a alguno de sus cantantes favoritos, le suponía conservar una recopilación de discos que perdían calidad al paso del tiempo. Años después, con la aparición de la primera forma de música digital (el disco compacto), nació un campo de trabajo que todavía hoy, sigue teniendo un gran futuro. Las nuevas tecnologías y concretamente el ordenador, han hecho posible que la música digital, se haya convertido en los últimos años en un campo de creciente interés. Razón por la que informatizar la música que tenemos en papel, pasa a ser una idea de gran utilidad. Con esto, se ofrecería a todo aficionado a la música unas posibilidades casi ilimitadas: Escuchar la melodía con distintos instrumentos, editarla, volverla a imprimir con mayor calidad… Muchas son las aplicaciones distintas que podemos encontrar a la hora de tratar nuestra música digital, pero, ¿qué hay de esa gran cantidad partituras en papel que llenan muchas estanterías? Parecen estar destinadas al olvido, a la desaparición y en general a perderse. El papel. Soporte que ha servido para guardar información desde hace cientos de años. Tal es su importancia que su aparición, separa dos épocas en la antigüedad. Pero al igual que en el caso de los vinilos, las nuevas tecnologías han dejado el papel (en algunos casos) como un soporte obsoleto. Digitalizar la información que contiene, típicamente textos, o como en este Proyecto, partituras, ofrece la posibilidad de actuar sobre la información sin límites. Solo necesitamos un ordenador. Como puede imaginar el lector a estas alturas, es fundamental convertir los datos “inertes” que contiene un simple papel, tinta en forma de líneas y círculos, a información útil que puede utilizar y procesar una máquina. Siendo más concretos, analizar música manuscrita en papel, para convertirse en música digital, aprovechando así toda la potencia que nos ofrece nuestro ordenador. Tenemos distintas alternativas para efectuar esta conversión. Al principio se pensó, y aún hoy se hace, el introducir a golpe de ratón cada nota que contiene una canción. Pues bien, una partitura como la “novena sinfonía” de Beethoven pose más de 4.000 notas. Esta alternativa, como se puede observar rápidamente, no es nada práctica. La que se presenta en este “Proyecto Final de Carrera” consiste en crear una aplicación capaz de leer, como haría una persona, una serie de partituras fotografiadas. La particularidad de este conversor, es el tipo de grafía capaz de analizar, la del s. XVI. Con todo ello nuestro objetivo es el mismo: Obtener información musical digitalizada.

Page 22: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

24 I.T.T. – SONIDO E IMAGEN

1.2 Motivación Pensando en todas las posibles aplicaciones útiles que cubriría este Proyecto, se puede observar que realizar un reconocedor automático de partituras, cubre muchas necesidades como servicio para todas aquellas personas aficionadas a la música. Algunas de ellas serían las siguientes:

• Almacenamiento duradero (sin pérdida de calidad en el tiempo) de la información musical.

• Recuperación rápida de piezas musicales. • Tratamiento/gestión de una base de datos de partituras digitales. • Tratamiento de la información una vez digitalizada (buscar canciones en base de

datos, imprimir, editar, darle formato especial de salida como podría ser la impresión especial para gente con discapacidad visual...).

• Globalización de la música (accesible desde casi cualquier sitio) gracias a Internet. Además de lo anterior citado, hay otra motivación fundamental para la realización de este trabajo. Aunque pocos, existían ya en el mercado analizadores de partituras de grafía moderna, pero no para analizar la grafía mensural1, donde las figuras cambian, las claves son distintas, etc. Con ello se persigue hacer del Proyecto un trabajo original, o mejor dicho, hacer del Proyecto un trabajo casi único. No hemos sido capaces de encontrar un reconocedor comercial con las características del que se ha desarrollado aquí. Los existentes están enfocados a la grafía que se utiliza hoy en día. Técnicamente, si se quiere reconocer una partitura con una grafía antigua, se van a tener que afrontar nuevos retos que son:

1. Reconocer patrones en imágenes fotografiadas y no escaneadas, que nos enfrenta a varios problemas. En particular, la curvatura del papel y la iluminación.

2. Ajustar los patrones a reconocer, debido a las formas distintas que llevan estas

partituras.

3. Estado de conservación: A veces, las hojas presentan agujeros, roturas… además de que en todos los casos presentan un color amarillento bastante intenso. Esto se debe a la mala calidad del papel de la época (de varios siglos de edad) y al tiempo que llevan almacenadas dichas hojas, que han podido verse afectadas por agentes externos, como por ejemplo, la humedad.

4. Carácter manuscrito: Problema que complica enormemente el proceso de

reconocimiento de patrones, porque las figuras y líneas que aparecen están sujetas a cierta variabilidad de la escritura manual. No siendo todos los símbolos iguales.

1 Véase el cap. 6.2 para ampliar información sobre este tipo de notación

Page 23: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 1: INTRODUCCIÓN

25

I.T.T. – SONIDO E IMAGEN

Teniéndose en cuenta las características técnicas de las partituras que se van a reconocer, se observa que digitalizar este tipo de música, convirtiéndola a la grafía moderna, resulta especialmente útil por dos factores:

1. La notación moderna es más fácil de entender que la notación mensural. Por ello, su difusión será mayor

2. El soporte esta muy deteriorado (papel de varios siglos de edad), por lo que su

manejo se hace complicado por los cuidados que requiere y el soporte digital permite una mayor versatilidad.

En resumen, las motivaciones para hacer este Proyecto persiguen dos caminos, por un lado ser un servicio para los aficionados a la música y por otro, ser un trabajo original de reconocimiento de patrones.

Page 24: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

26 I.T.T. – SONIDO E IMAGEN

1.3 Objetivos El objetivo fundamental de este Proyecto, es la creación de un prototipo, capaz de integrar las funcionalidades que sean necesarias para que a partir de una fotografía (tomada a un libro donde está escrita una partitura), ésta pueda ser analizada, extrayendo de ella toda la información musical que contiene. El prototipo será diseñado y evaluado con una base de datos disponible en la red [14]. Se discutirá la aplicabilidad a otras partituras manuscritas, pero no es objeto del proyecto el diseño de un reconocedor universal.

Este proceso, se le denomina comúnmente “reconocimento óptico de música” (Optical Music Recognition, OMR). Para la consecución del reconocimiento de la música contenida en las imágenes con las que se ha trabajado en el Proyecto, se puede desglosar el problema de crear este OMR como una sucesión de objetivos, que se detallan a continuación:

1. Correcta binarización de la imagen: Tal y como se explicará más adelante, su realización es más compleja que en los OMR existentes.

2. Identificación de símbolos: Los símbolos (que distan de ser iguales entre sí y

además, diferentes a los que se usan actualmente) deberán ser todos reconocidos, ya que cada uno contiene información imprescindible de acuerdo al resultado final.

3. Seguimiento de líneas: Es uno de los objetivos más difíciles. Estas partituras

tienen sus líneas curvadas por haber sido fotografiadas. Teniendo en cuenta que la ubicación de las líneas es determinante para poder “leer” las notas, se deberá hacer algún algoritmo capaz de ubicarlas con exactitud.

4. Interpretación de los resultados: Una vez las notas y demás símbolos musicales

hayan sido reconocidos, se deberá formatear los resultados, interpretándolos de tal forma que el resultado de la interpretación sea información musical útil para el mismo ordenador, es decir, crear un archivo capaz de ser leído después fácilmente por el ordenador (para escucharlo, o verlo escrito).

Page 25: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 1: INTRODUCCIÓN

27

I.T.T. – SONIDO E IMAGEN

1.4 Estructura del Proyecto El propósito de este punto es el de explicar tanto la estructura de este Proyecto, como su contenido de forma general, detallándose sus diferentes partes. Este Proyecto contiene en total siete capítulos, que a su vez también contienen apartados (alrededor de 25) y subapartados. Cada uno de los capítulos, se ha ideado para que sean entre sí independientes, pero teniendo todos una idea común: hacer una buena descripción del Proyecto. Se ha intentado seguir un orden para que el Proyecto vaya adquiriendo sentido al paso de cada capítulo. A continuación, se pasa a la descripción de los diferentes capítulos:

1. Introducción: Contiene los cuatro apartados en los que se hace una explicación introductoria de la necesidad del Proyecto, las ideas que motivaron la creación del mismo, los objetivos a los que se pretende llegar y la explicación de la estructura del documento.

2. Revisión del estado del arte: Siempre es conveniente primero hacer un estudio del

estado del arte para conocer lo existente sobre el tema, que puede ayudar para el desarrollo que se tenía ideado en principio. Concretamente en este capítulo se hablará de las otras propuestas que existen para resolver el problema, la descripción de las tecnologías usadas para la resolución del Proyecto y las ventajas que se espera que tenga este Proyecto comparadas con lo existente.

3. Descripción del Proyecto: Se podría decir que es el punto más importante del

Proyecto, por lo menos en cuanto a tamaño se refiere. En él, se detalla paso por paso “lo que se ha hecho”, es decir, la resolución del Proyecto.

4. Resultados y evaluación: Se muestran los resultados de los análisis a diferentes

partituras, así como la evaluación de los mismos. 5. Conclusiones, líneas abiertas: Se explican las conclusiones a la vista de los

resultados así como las “líneas abiertas para el futuro”, es decir, ideas que podrían mejorar el Proyecto.

6. Anexos: Se han incluido dos anexos: por un lado el de la explicación del software

desarrollado en Matlab (funciones, scripts, etc) y por otro, una guía para la lectura del tipo de notación con la que están escritas las partituras del Proyecto, la notación mensural blanca.

7. Bibliografía: Contiene las referencias bibliográficas que han sido consultadas para

realizar el Proyecto. Para visualizar una vista más esquemática del contenido del Proyecto, se recomienda ver el Índice, que contiene todos los capítulos, apartados y subapartados numerados, para un fácil acceso y lectura de los mismos.

Page 26: Procesado de imagen para el análisis de partituras antiguas
Page 27: Procesado de imagen para el análisis de partituras antiguas

2. REVISIÓN DEL ESTADO DEL ARTE

Page 28: Procesado de imagen para el análisis de partituras antiguas
Page 29: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 2: REVISIÓN DEL ESTADO DEL ARTE

31

I.T.T. – SONIDO E IMAGEN

2.1 Revisión crítica de otras propuestas para resolver el mismo problema

Como ya se ha dicho anteriormente, la aplicación que se va a desarrollar pretende resolver el problema del reconocimiento óptico de musica (OMR). A su vez, interiormente se constituye de una serie de pasos, que bien podrían ser considerados como problemas independientes dignos de estudio. Sin embargo, en este capítulo se va a hacer una revisión crítica de otras propuestas para resolver el problema presente en este Proyecto, en su más alto nivel, esto es, el funcionamiento de la aplicación final. Para discutir acerca de la elección de las características del reconocedor que se presenta en este Proyecto, se ha hecho una revisión crítica de los OMR existentes para poder compararlos con el que se va a desarrollar. Dentro de los OMR existentes se distinguen dos grandes bloques por sus características:

1. Los OMR comerciales: No son gratuitos ni de código libre, en general funcionan bastante bien, pero su uso está enfocado únicamente a música escaneada, de imprenta y de notación moderna.

2. Los OMR no comerciales: Un OMR es una aplicación muy atractiva de realizar, ya

que posee distintas características que la convierten en un ejemplo ideal para “comprobar” conocimientos sobre Tratamiento Digital de la Imagen. Es por esta razón que la totalidad de los OMR no comerciales corresponden a aplicaciones desarrolladas en pequeños grupos de investigación en Universidades, organizaciones (como por ejemplo el IEEE) o también por cuenta de alumnos de ingeniería que han adquirido conocimientos sobre la materia y deciden hacer su Proyecto Final de Carrera sobre este tema (como es el caso en este mismo PFC). Estos OMR están enfocados a distinto tipo de partituras, y poseen características muy distintas entre sí por lo tanto. Entre los objetivos perseguidos en estos OMR, en general destacan: El reconocimiento de música manuscrita de notación moderna y el reconocimiento de música antigua (campo muy poco explotado en comparación con la notación moderna).

Como es lógico, la revisión crítica se ha hecho teniéndose en cuenta a los dos bloques anteriores. Al primero, por la calidad de su funcionamiento y al segundo por el mayor parecido de sus características al reconocedor que se pretende realizar en este Proyecto.

Page 30: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

32 I.T.T. – SONIDO E IMAGEN

2.1.1 OMR comerciales Se tratan de aplicaciones vistosas, cuyo funcionamiento correcto está más que comprobado a día de hoy. Se han realizado para sacar un partido económico de los mismos, por esto están enfocados a reconocer notación moderna, notación que utiliza la gran mayoría de partituras que se utilizan. Su función es el reconocer la mayor cantidad de información presente en la partitura, ya no sólo notas y demás símbolos que corresponden a la música, si no también su expresividad:

• Tempo (Largo, Adagio, Presto…): Grado de velocidad con que deben marcarse las partes del compás

• Dinámica: Los matices de la intensidad • Carácter: La expresión del estado anímico deseado en una obra musical • Dinámica: Ligaduras de fraseo, indicadores de acentuación • Fraseos: Grupos de notas con el mismo concepto expresivo

Uno de los principales problemas de la música informatizada, es la falta de expresividad en la ejecución. La música, es un arte sujeto siempre a la interpretación de su/s interprete/s. Es por esta razón que los OMR pretenden alcanzar el mayor grado de detalle posible, para que las posteriores ejecuciones parezcan lo mas naturales posibles. Aun así, no se debe olvidar nunca que es una máquina quien realiza la función de interpretar música. Tras el inciso anterior, que da las claves de la importancia de que ningún detalle de la partitura debería ser pasado por alto, a continuación se muestran algunos de los programas más conocidos capaces de “leer” música:

• Capella-Scan 6.0 • SmartScore 5.3 Piano Edition Demo: • PhotoScore • Capella-Scan 6.1 • MIDI-Connections Scan • Visiv SharpEye • OMeR (Acompaña a MelodyAssistant) • Vivaldi Scan • Finale • Sibelius

Tras probar las versiones “demo” de algunos de los programas citados, en general, se puede afirmar que:

• Buena resolución ! Buenos resultados: La mayoría de los programas, sobre todo los de mayor reputación (como Finale) ofrecen muy buenos resultados cuando las partituras están limpias y claras, a una resolución aceptable.

• Notación moderna impresa: Ninguna de las aplicaciones es capaz de reconocer

música manuscrita, ni otra notación distinta. Pudiendo solo reconocer la notación moderna de imprenta.

Page 31: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 2: REVISIÓN DEL ESTADO DEL ARTE

33

I.T.T. – SONIDO E IMAGEN

• Límites en la versión “demo”: Al ser de pago estos programas, está permitido su uso de forma gratuita pero limitada, esto es, que según el programa no será posible el guardar el documento escaneado, escuchar la música en sí o en algunos casos, utilizar los programas pasado un plazo de días.

A la vista del análisis de estos programas, se puede diferenciar ya claramente la aplicación que se va a hacer en este Proyecto, con los OMR comerciales. Se destacan entonces dos diferencias fundamentales:

1. La imposibilidad de los OMR comerciales de leer música manuscrita y notación antigua (principalmente porque puede no parecer un campo muy provechoso, económicamente hablando)

2. Crear una aplicación gratuita, de código libre, que podrá ser modificada y ampliada

por cualquier usuario.

Page 32: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

34 I.T.T. – SONIDO E IMAGEN

2.1.2 OMR no comerciales Dentro de la división que se ha realizado de los OMR, los no comerciales parecen tener más similitudes con la aplicación que se pretende implementar. Cuando se habla de OMR no comerciales se quiere hacer referencia a los OMR creados sin ánimo de lucro que surgen, en muchos casos, como ejercicio de comprobación de conocimientos sobre Tratamiento Digital de la Imagen, como trabajos de investigación de departamentos de instituciones[5], Universidades[6] o como Proyectos Fin de Carrera de alumnos interesados en la música. Por ello que se pretende transmitir, que estos reconocedores de música, se alejan de la función típica (la de “leer” música de notación actual, bien resuelta por los OMR comerciales) e intentan resolver distintos problemas, más concretamente, la lectura de partituras manuscritas y partituras antiguas. La difícil venta de estos reconocedores (por el poco mercado que llevan asociados) hace que no existan prácticamente aplicaciones que integren todas las funcionalidades necesarias para poder leer esta música “peculiar”. Sin embargo, si que existe información acerca del funcionamiento de algunos de los pasos necesarios para hacer reconocimientos de este tipo[7], que han servido como punto de partida para resolver algunos problemas que hemos encontrado en la implementación del reconocedor. Un ejemplo de algunos de los “pasos” encontrados serían las binarizaciones con iluminación no uniforme, seguimiento de líneas curvas… entre otros, como se verán en capítulos posteriores y que son los problemas fundamentales que habrá que resolver. Lo más cercano que se ha podido encontrar en relación con la aplicación que intentamos desarrollar, es una aplicación[8] (concretamente enfocada a música manuscrita de notación moderna) a la que no se ha tenido acceso, y que aún así difiere con uno de los objetivos, la lectura de la notación mensural blanca. Teniéndose en cuenta lo anteriormente dicho, se puede afirmar, que no existe aplicación ninguna que integre en sí misma, todas las funciones necesarias para poder reconocer música en fotografías que contienen partituras de notación antigua. El prototipo que se pretende desarrollar, intenta por un lado, tener un buen funcionamiento como los OMR comerciales y por otro, ser una aplicación autofuncional que pueda ser utilizada por aficionados a la música, además de programadores aficionados a la música que quieran ampliar o modificar el código para implementar nuevas mejoras y funcionalidades. En resumen, los OMR no comerciales, han sido de ayuda para tener una referencia importante a la hora de implementar la aplicación final, tambien útiles para resolver algunos pasos difíciles y además, entender mejor el problema.

Page 33: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 2: REVISIÓN DEL ESTADO DEL ARTE

35

I.T.T. – SONIDO E IMAGEN

2.2 Breve descripción de tecnologías tomadas como base para la resolución del Proyecto

Como se dijo en el capítulo anterior, el desarrollo de un Proyecto como este, lleva asociado diferentes problemas que se han tenido que resolver para poder realizar la aplicación final. Por ello, se han tenido en cuenta diferentes tecnologías, independientes entre sí, para realizar los pasos necesarios. A continuación mostramos las diferentes tecnologías usadas para la realización del proyecto. Cabe señalar que la explicación más detallada de su utilización, así como de sus resultados se encuentra en capítulos posteriores.

Eliminación de ruido La eliminación de ruido está presente en diferentes puntos del proceso de reconocimiento. Por su importancia, se destacan dos:

1. Ruido presente en la imagen original 2. Ruido creado en el proceso de binarización

El ruido que se ha tratado de eliminar, (sobre todo en el punto 2), es ruido impulsivo. Para su eliminación, se han tenido en cuenta áreas inferiores a un valor.

Binarización Es parte del proceso de segmentación. Se define binarización a la conversión de una imagen, píxel a píxel, de escala de grises al blanco o negro puro. Es uno de los puntos más importantes en el proceso de reconocimiento. La característica fundamental de la imagen en blanco y negro resultante es que debe contener toda la información esencial de la imagen original. Se usa cuando se debe distinguir entre dos clases. Típicamente éstas suelen ser:

• Clase 0: Normalmente el fondo de la imagen, cuyo valor no suele variar. En este caso, el fondo no es uniforme debido la los cambios de la iluminación de la imagen. Se cuantifica1 con valor “0” ó negro.

• Clase 1: Zonas de interés, que constituyen el material de trabajo que se necesita. Se cuantifica con valor “1” ó blanco.

1 Cuantificar: Discretización en amplitud, en imagen, de sus niveles de intensidad. Influye directamente con la nitidez/resolución de la imagen

Page 34: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

36 I.T.T. – SONIDO E IMAGEN

Reconocimiento de patrones Es otra de las partes fundamentales del proceso de la “lectura” de la música por parte del ordenador. Por definición, el reconocimiento de patrones (pattern recognition) no se cierne sólo a un procesado informático, si no a un proceso fundamental que esta presente en casi todas las acciones humanas. En este Proyecto, la implementación de este punto se hace necesaria para poder detectar la ubicación de los diferentes símbolos que definen a las notas. Una vez detectada la presencia de los símbolos serán tratados para la extracción de información (distancia a la línea, forma…)

Determinación de la ubicación de las líneas Las líneas constituyen uno de los elementos más importante en el reconocimiento de una partitura. Son el contenedor de todas las figuras musicales, por lo que su ubicación se hace imprescindible. En la mayoría de los OMR existentes, la Transformada de Hough era la tecnología utilizada para encontrar las líneas del pentagrama. Sería tras hacer diversas pruebas cuando se observó, que esta Transformada no servía para determinar las líneas de los pentagramas que se han tenido que analizar en este Proyecto, ya que su pendiente variaba ligeramente a lo largo de la misma. Para ello se ha realizado un algoritmo “desde cero” que realiza sucesivos análisis para hacer un seguimiento de las líneas.

Page 35: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 2: REVISIÓN DEL ESTADO DEL ARTE

37

I.T.T. – SONIDO E IMAGEN

2.3 Ventajas esperadas en relación con lo existente

Como ya se ha ido apuntando en los dos puntos anteriores, a continuación se van a describir las ventajas que presenta la aplicación respecto a las existentes.

• Ventajas:

o Las imágenes fuente: no es necesario que sean imágenes escaneadas (las escaneadas son las que se utilizan en los OMR existentes tanto comerciales como no comerciales)

o El reconocimiento de notación blanca es prácticamente inexistente de

forma integral, por lo que todos los aficionados a la música de esta época (música polifónica del renacimiento) podrán utilizar la aplicación diseñada en este Proyecto para convertir las canciones almacenadas en el formato obsoleto en el que se encuentran (notación antigua y manuscrita en papel de mala calidad) a notación moderna que podrá ser utilizada para poder escuchar la música directamente o imprimirla de forma mejorada y actualizada

o Otra ventaja es que el reconocimiento de las partituras se ha hecho con el

objetivo de ser lo más generalista posible, es decir, que además de leer este tipo de música, la adaptación del programa para ser capaz de leer otro tipo de notación sea sencilla. Con esto se consigue que el programa no sólo este enfocado a leer estas partituras y pueda leer otros tipos. Véase el capítulo 5.2 de este Proyecto para mas información.

o Además de las anteriores, otra ventaja a tener en cuenta es que el

programa va a ser de código libre, y por tanto será accesible para que cualquier persona pueda hacer sus propias modificaciones y añadir nuevas funcionalidades.

• Inconvenientes:

o El inconveniente fundamental, sería el de que al ser una aplicación desarrollada para un Proyecto Final de Carrera, conlleva unos medios muy limitados, tanto económicos como temporales. Esto afecta directamente por un lado, a la calidad del producto (que difícilmente se puede comparar con un OMR comercial que está respaldado por un gran equipo de trabajo especialista en la materia) y por otro lado afectaría también a su difusión, ya que el desconocimiento de la existencia de este programa por parte de los aficionados a la música sería posible.

Page 36: Procesado de imagen para el análisis de partituras antiguas
Page 37: Procesado de imagen para el análisis de partituras antiguas

3. DESCRIPCIÓN DEL PROYECTO

Page 38: Procesado de imagen para el análisis de partituras antiguas
Page 39: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

41

I.T.T. – SONIDO E IMAGEN

3.1 Introducción En los capítulos anteriores se ha descrito el problema al que nos enfrentamos, además de diversas formas de resolverlo ya existentes, con sus ventajas e inconvenientes. Es en este capítulo 3 donde se describirá la resolución por la que se ha optado. Para la resolución, se tratado en la medida de lo posible, buscar la originalidad respecto a los OMR existentes, además de enfocar el problema, muchas veces, desde un punto de vista diferente. En resumen, pasamos a describir qué se ha hecho y cómo se ha hecho.

3.2 Arquitectura del sistema de reconocimiento

3.2.1 Descripción de la arquitectura Para realizar el reconocedor de partituras antiguas, se ha ideado e implementado una arquitectura basada bloques. Cada bloque se compone de una serie de scripts, que han sido diseñados utilizando la aplicación informática Matlab, de la compañía The MathWorks. Tanto la descripción de estos scripts como de las funciones que se ha necesitado crear a las que llaman los mismos, se pueden encontrar dentro del capítulo 6, dentro de los apartados correspondientes. Aunque lógicamente la explicación detallada de cada bloque se puede encontrar dentro de cada capítulo, se ha querido explicar resumidamente las funciones que se realizan, en cada bloque del diagrama de la página siguiente. Será luego, en cada capítulo, donde se encontrará el diagrama de bloques de cada apartado. A continuación, se describen a grandes rasgos las funciones de cada bloque:

1. Adquisición de las imágenes con las que se va a trabajar. Serán imágenes digitales cuyo origen sería una cámara digital (aunque también valdrían las generadas con un escáner). Las utilizamos una vez almacenadas en un Disco Duro.

2. En este paso se hace una segmentación de la imagen que la prepara para que

puedan ser reconocidas sus características musicales. Se descompone en tres pasos:

1. Realce 2. Binarización 3. Eliminación de la imagen no musical

Page 40: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

42 I.T.T. – SONIDO E IMAGEN

3. Se aplican operadores morfológicos a la imagen para que puedan ser reconocidos los pentagramas como bloques, momento en el que es fácil obtener la ubicación del pentagrama.

4. Para encontrar la ubicación de todas las líneas que conforma cada pentagrama se

ha separado el proceso en dos pasos distintos:

1. Detección de la distancia entre líneas 2. Detección del movimiento descrito por una de las líneas de cada

pentagrama

5. Generación automática de símbolos y creación de plantillas adaptativas para su posterior reconocimiento.

6. Se utilizan las plantillas anteriores para reconocer la música.

7. Creación del documento musical, archivo de salida de nuestro reconocedor. Para

ello, y tomando como base los resultados del reconocimiento, se realizan dos pasos:

1. Corrección de los resultados según la teoría musical. 2. Creación del documento musical informatizado.

Page 41: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

43

I.T.T. – SONIDO E IMAGEN

3.2.2 Diagrama de la arquitectura A continuación se muestra en el siguiente diagrama de bloques, la arquitectura del reconocedor que se ha explicado en el punto anterior:

Adquisición de la imagen (Cap. 3.3)

Bloque 1

Cámara digital

Segmentación de la imagen (Cap. 3.4) Bloque 2

Disco duro

Detección de pentagramas (Cap. 3.5) Bloque 3

Detección de líneas de pentagrama

(Cap. 3.6) Bloque 4

Segmentación de figuras y símbolos (Cap. 3.7)

Bloque 5

Reconocimiento de símbolos (Cap. 3.8)

Bloque 6

Creación del documento musical (Cap. 3.9)

Bloque 7

fig. 3-1: Diagrama de bloques del reconocedor completo

Page 42: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

44 I.T.T. – SONIDO E IMAGEN

3.3 Adquisición de las imágenes Las imágenes. Son la materia prima para realizar este Proyecto. Su naturaleza, o mejor dicho, su origen, define la primera particularidad del Proyecto, ya que las imágenes no han sido escaneadas sino creadas con una cámara digital de fotos de alta resolución. Esto complica el problema. Para desarrollar los algoritmos que se describirán mas adelante, se ha utilizado un conjunto de fotografías realizadas en alta resolución, de ediciones originales de partituras de Tomás Luis de Victoria. Estas partituras, celosamente protegidas en catedrales y monasterios, datan del siglo XVI. Su edad presenta una serie de dificultades: las hojas están algo deterioradas, están escritas a mano, y además, la grafía que se utiliza en ellas no es la actual. Esta colección de fotografías esta disponible al público gracias a Internet [14]. La elección concreta de las imágenes de la web referenciada antes (que ha hecho de base de datos de imágenes para este proyecto), se basa en diferentes factores:

• La dificultad para obtener partituras de este tipo, siendo necesaria la visita a un monasterio para su obtención.

• La gran cantidad de partituras disponibles (más de cien) con las que poder hacer

pruebas y analizar resultados

• La similitud de las características de las partituras: A pesar de la escritura manual y de los distintos encuadres a la hora de tomar las fotografías, las partituras poseen características similares, tales como: luz parecida, intensidades de negros similares, dibujos casi idénticos de tamaño y forma… lo que facilita el proceso de reconocimiento. En la práctica, no encontramos demasiadas diferencias entre ellas.

Aunque se han encontrado más partituras de este tipo de notación1, llamada notación mensural blanca, casi siempre ha sido como ejemplos aislados de escritura musical antigua, no como partituras “útiles”. Esto hace que las imágenes que se han utilizado, son de las pocas partituras existentes en Internet de este tipo de grafía cuyo objetivo es el que tiene toda partitura escrita realmente, el de ser interpretada.

1 Por ejemplo, pueden verse otras imágenes en: Transcribing and Reading White Mensural Notation [en línea]. <http://ieee.uwaterloo.ca/praetzel/mp3-cd/info/raybro/index1.html>

Page 43: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

45

I.T.T. – SONIDO E IMAGEN

Analizándose las ventajas e inconvenientes de las imágenes utilizadas comparadas con las pocas imágenes que se han encontrado, destacan:

• Ventajas:

o Las fotografías, aunque no tienen una calidad profesional, tienen una nitidez suficiente como para poder leerlas y también utilizarlas con nuestros algoritmos.

o Resolución más que suficiente para tratar la imagen: 2 megapíxeles de

información dedicados a cada partitura

• Inconvenientes:

o Imágenes fotografiadas en vez de escaneadas: Aunque para el autor de la digitalización de la partitura sea más cómodo fotografiar la partitura que escanearla, esto introduce tres principales problemas en la imagen digital resultante:

1. La no-uniformidad de iluminación de la partitura, producida por el flash

de la cámara (recordemos que un escáner ilumina cada parte de la hoja escaneada por igual)

2. Distorsión donde aparece la superficie no plana de cada hoja digitalizada (un escáner precisa de una hoja plana en su superficie para digitalizarla).

3. La aparición de los bordes del libro que contiene la música, de un tono más oscuro (un escáner lleva un tapa que evita este problema ).

o Particularización de la resolución del problema: Al tener las imágenes con

características similares, corremos el peligro de que los algoritmos desarrollados, aunque funcionen bien para estas partituras, no sean capaces de generalizar bien para otras partituras con distintas características. Por esta razón, se ha querido hacer un procesado de la imagen lo más generalista posible, que sea robusto frente a otras partituras, siempre y cuando no presenten diferencias radicales.

Ahora siendo más técnicos, se puede decir que las imágenes están en color RGB (densidad de 24bits/píxel), con una resolución de 1224 x 1632 píxeles. Es decir, que cada fotografía sin comprimir contiene 47.941.632 bits que la definen. Es la información con la que se trabajará para empezar a analizarla. Cabe destacar, que se ha definido “un conjunto de imágenes de prueba”, compuesto por 10 fotografías y “un conjunto de imágenes de test” para comprobar resultados. Será el primer conjunto el que se utilizará para desarrollar nuestros algoritmos.

Page 44: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

46 I.T.T. – SONIDO E IMAGEN

A continuación se muestra cuatro de las imágenes con la que vamos a trabajar, en la figura siguiente:

fig. 3-2: Ejemplo de imágenes de la base de datos utilizada

3.4 Segmentación de la imagen 3.4.1 Introducción Con este apartado empieza el reconocimiento de las fotografías. Cuando se habla de segmentar una imagen, esto consiste en extraer de la misma la información que interesa. En este capítulo, se busca en la fotografía los pentagramas y notas musicales desechándose la información irrelevante: ruidos, arañazos, pero también ahora, textos o dibujos que no no son útiles. A continuación, se muestra el diagrama de bloques de la segmentación de la imagen:

Imagen original

Imagen limpia de

ruido impulsivo

Preprocesado de la imagen

(Cap. 3.4.2)

Binarización

(Cap. 3.4.3)

Imagen limpia y binarizada sólo con

información musical

Imagen limpia y

binarizada

Eliminación de la imagen no

musical (Cap. 3.4.4)

fig. 3-3: Diagrama de bloques de la segmentación de la imagen

Page 45: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

47

I.T.T. – SONIDO E IMAGEN

3.4.2 Realce – Preprocesado de la imagen

Conversión a escala de grises Es el primer paso en el preprocesamiento de la imagen. Originalmente las imágenes están en color RGB, lo que significa que cada píxel necesita de 24 bits (8 para cada componente de color) para dibujarse. La conversión se hace fundamental por dos factores:

• Las imágenes tienen una resolución bastante grande, por lo que se necesita reducir lo que ocupan en memoria, pero no por ello eliminándose información útil para el análisis.

• El color no es factor útil de cara a los futuros análisis y estas imágenes aunque

estuvieran en blanco y negro puro, contendrían toda la información necesaria. Esto unido a que cada píxel solamente necesita 8 bits en escala de grises, hace que la conversión se haga casi imprescindible.

Para esta conversión, se utiliza la función definida por el CIE[3] para la transformación de las tres componentes de color en dos crominancias y una luminancia (Y), la componente que nos interesa. Entonces, y de acuerdo a lo anterior, la ecuación que define a la luminosidad es la siguiente:

azul del componente La yxBverde del componente La yxGrojo del componente La yxRimagenladeluminanciaLayxY

donde

yxByxGyxRyxY

:),(:),(:),(:),(:

),(11,0),(59,0),(3,0),( ++=

ec. 3-1: Definición de luminosidad del CIE

Donde se puede observar cada una de las componentes de color (R, G y B), multiplicadas por tres coeficientes distintos para obtener la imagen en escala de grises. Estos coeficientes atienden, en tanto por 1, a la sensibilidad a los colores rojo, verde y azul de nuestra retina.

Page 46: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

48 I.T.T. – SONIDO E IMAGEN

A continuación, se muestra a modo de ejemplo en la fig. 3-4, como una imagen a color se puede descomponer en las tres componentes anteriormente citadas, pudiendo ser representada cada una de ellas en escala de grises, sin pérdida de información ninguna.

a) imagen en color RGB b) componente roja

c) componente verde d) componente azul

fig. 3-4: Ejemplo de imagen a color y su descomposición en capas RGB

Con la conversión de la imagen a color, se reduce por tres la cantidad de datos a procesar. Se ha pasado de 24 bits/píxel a 8 bits/píxel, o lo que es lo mismo, a 256 niveles de gris, suficiente para contener la información que se necesita. En este caso se señala que visualmente, no existe mucha diferencia entre las dos imágenes. Esto es debido a que la imagen original, mostraba la música y el texto en negro, y el fondo de un tono marrón claro, casi blanco, que según la zona va variando en intensidad. Es por los bordes (más expuestos al aire, humedad, etc) donde este color marrón se hace mas intenso y es también, afortunadamente, en los bordes donde menos información útil se encuentra, como se puede observar en la fig. 3-5.

Page 47: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

49

I.T.T. – SONIDO E IMAGEN

a) en color RGB b) en escala de grises

fig. 3-5: Detalle del borde superior izquierdo de la imagen de la partitura

Análisis de dimensiones Se hace indispensable saber la dimensión de cada fotografía con la que trabajamos para los posteriores tratamientos. Las dimensiones de las imágenes de prueba, son en todos los casos las mismas. Cada imagen tiene un tamaño de 1.224 píxeles de ancho y 1.632 píxeles de alto, lo que es lo mismo, 1.997.568 píxeles en total. Al ser un número tan elevado, es por ello que se hace casi imprescindible la reducción de bits por píxel en la medida de lo posible. De ahí la conversión a escala de grises, y como se verá posteriormente, la binarización.

Eliminación de ruido de la imagen Todos los procesos de captura de imagen llevan inherente la introducción de ruido. Eliminarlo puede ser importante ya que el sistema que vamos a diseñar se basa en el procesamiento de los valores de intensidades, valores que son los afectados por el ruido. Como se verá en la fig. 3-6, la imagen es bastante nítida y no se encuentra ningún tipo ruido impulsivo. Para estas imágenes, se podría llamar ruido, a las interferencias que produce la tinta de la página reversa de la cual sacamos la fotografía. Por la nitidez de la imagen por lo tanto, no se utilizará en el momento actual del procesado de la imagen, ningún filtrado de ruido.

Page 48: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

50 I.T.T. – SONIDO E IMAGEN

3.4.3 Binarización Como ya se dijo, binarización es la conversión de una imagen, píxel a píxel, de escala de grises al blanco o negro puro. Se puede observar que, se ha conseguido reducir a la mínima expresión la representación de un solo píxel: un único bit. La siguiente pregunta en hacernos es ¿Cómo se elige el valor de ese bit? La decisión de cuantificar un píxel como blanco o negro se hace en base a un valor umbral o threshold, cuyo cálculo representa la dificultad del proceso de binarización. Matemáticamente, una imagen binarizada calcula así:

ónbinarizacide )(thresholdumbralValor:V

grisesdeescalaenimagenLa:IbinarizadaimagenLa:I

donde

VyxIsiVyxIsi

yxI

umbral

grises

binarizada

umbralgrises

umbralgrisesbinarizada

:

),(0),(1

),(!"#

$%&

>=

ec. 3-2: Binarización de la imagen

Es el momento de actuar sobre la imagen para calcular dicho valor. Hay diversos métodos para calcular inteligentemente un umbral que se aplicará a cada píxel. Se elegirá un método u otro en función de las características de la imagen a tratar, para ello, se observa la imagen en escala de grises, fig. 3-6 A la vista del conjunto de las imágenes de prueba, se puede apreciar, en general, que tienen las siguientes características:

• Fondo:

o No-uniformidad en la iluminación del recorrido visual por la imagen. En el centro mayor existe una mayor claridad que en los extremos de la hoja, posiblemente por el uso del flash al tomar la fotografía. Pero además, en la mayoría de los casos aparecen unos bordes negros que corresponden al suelo (como margen lógico de seguridad del fotógrafo para que aparezca la página completa)

o Dista de ser un color blanco puro, como debería teóricamente. Tras

analizarse diferentes partes, las más bondadosas (por el centro) daban

Page 49: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

51

I.T.T. – SONIDO E IMAGEN

como resultado un nivel de gris al 30% de intensidad. Siendo en general el fondo de un nivel de gris al 45%.

• No fondo:

o Se observan varios pentagramas, con sus correspondientes cinco líneas cada uno, además de figuras musicales, textos y algún dibujo decorativo

o La intensidad del negro es bastante uniforme en toda la imagen, lo que

facilitará el proceso del reconocimiento. o Las líneas, lejos de ser continuas, están dibujadas como una serie de

segmentos de una longitud similar entre ellos, separados por pequeños espacios. Esto puede ser motivo de problemas en un futuro y se debe tener en cuenta.

o Los textos que en las imágenes aparecen no interesan. Todo texto será

considerado como ruido e se intentará eliminar, para que no sea un obstáculo en el procesado de la música como tal.

o La imagen inicial también será eliminada por la misma razón que el punto

anterior. Así como los bordes negros exteriores, que no corresponden al libro.

En general se puede apreciar que no hay ruido prácticamente, salvo la transparencia de las notas, dibujos y textos de la siguiente página, debido a la mala calidad del papel de la época.

Page 50: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

52 I.T.T. – SONIDO E IMAGEN

fig. 3-6: Imagen completa original de una de las fotografías en escala de grises

Page 51: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

53

I.T.T. – SONIDO E IMAGEN

En este punto, y de acuerdo a las características analizadas, se pasa a desarrollar los algoritmos que deben conseguir una correcta binarización de la imagen. A continuación se describen algunos métodos que se han utilizado para binarizar las imágenes. Después del último punto se comenta cual ha sido la elección final para binarizar en función de los resultados.

Umbral único por Kmeans El cálculo del umbral único viene determinado por el uso de la imagen completa. Se utiliza el histograma2 de la imagen completa para encontrar el mínimo local, que debe ser algún punto entre el valor más repetido del no-fondo y lo mismo para el valor del fondo.

Se muestra ahora el histograma de la imagen objeto del análisis, que era la fig. 3-6.

0 50 100 150 200 250 3000

0.5

1

1.5

2

2.5

3x 104

Niveles de gris

Frec

uenc

ia d

e ap

aric

ión

fig. 3-7: Histograma de la imagen completa Como se observa en la figura, sería ideal encontrar de forma automática el mínimo local que se encuentra entre los dos máximos, el de la clase fondo y el de la clase no-fondo. Para ello se utilizara la función kmeans[9] con la que obtendremos la localización de ambos máximos, para así, encontrar el valor mínimo del histograma entre los mismos. Con ello, se ha encontrado el valor de umbralización.

2 Histograma: Representación de la frecuencia de los niveles de gris de la imagen

Page 52: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

54 I.T.T. – SONIDO E IMAGEN

Método de OTSU El método de OTSU[1] es un algoritmo capaz de distinguir entre fondo y objeto, no necesitando información previa para su funcionamiento. Para el cálculo del umbral utiliza el histograma de gris, que lo divide en dos partes, calculando su media y varianza para cada una iterativamente. Como en el método anterior, también da como resultado, un único valor de umbral que se utilizará para binarizar la imagen. Tras ejecutar los algoritmos anteriores, se pudo determinar que binarizar la imagen en escala de grises con un único valor umbral daba muchos errores, perdiendo parte de la información musical. La alternativa que se ha elegido finalmente consiste en preparar la imagen de escala de grises para que después, utilizando un umbral único, los resultados sean óptimos. A continuación se explica por pasos la preparación y posterior binarización realizada:

1. Se realiza una estimación del fondo de la imagen, el cual no tiene iluminación uniforme. Para ello se aplica un procesado morfológico de abertura para estimar la iluminación del fondo

2. Se resta el fondo estimado en el paso anterior, a la imagen original. Con ello se

obtiene un fondo uniforme

3. En este punto, se aplica a la imagen una binarización de umbral único. Se ha optado por la opción de hacer la binarización por el método de OTSU y también la binarización por “cálculo del umbral único con Kmeans” y después hacer la suma lógica.

a) Imagen en escala de

grises b) Imagen binarizada sin

preparación c) Imagen binarizada con

preparación

fig. 3-8: Ejemplo de las diferentes posibilidades de binarización con un umbral único.

Page 53: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

55

I.T.T. – SONIDO E IMAGEN

3.4.4 Eliminación de la imagen no-musical La binarización, por un lado ha reducido la información para poder actuar sobre la imagen, procesándola así con la mayor potencia posible, y por otro, deja al descubierto el conjunto de datos útiles a tratar, el blanco. A continuación se muestra en la figura 3-9 el resultado de la binarización. Se ha invertido el blanco y negro para adaptarlo de cara a la impresión, pero se debe recordar que internamente la información musical esta en a “1” y el fondo, a “0”.

fig. 3-9: Detalle de la imagen tras el proceso de binarización A la vista del conjunto de las imágenes de prueba binarizadas, encontramos algunos problemas que debemos resolver antes de pasar a buscar pentagramas.

Dibujo cuadrado

Todas las fotografías presentan un dibujo, de forma cuadrada y grande al principio de cada partitura. Este dibujo, servía además de para decorar, para contener la letra inicial de cada título de cada canción. Se puede observar en la parte izquierda de la fig. 3-9.

Page 54: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

56 I.T.T. – SONIDO E IMAGEN

Teniéndose en cuenta que para encontrar los pentagramas, se utiliza normalmente una proyección horizontal (como se verá en adelante) y que este dibujo mide siempre dos pentagramas de alto aproximadamente (colocándose siempre a la izquierda de los dos primeros), es altamente perjudicial para dicha proyección y por lo tanto se debe eliminar. Teniéndose en cuenta todo lo anterior, se ha desarrollado el siguiente algoritmo (véase fig. 3-10):

1. Se rellena huecos en la imagen, con un procesado de reconstrucción morfológica de rellenado[4]. Después, se limpia la imagen de todo elemento conectado al borde de la imagen.

2. Se identifica formas cuadradas en la imagen, gracias a la relación existente entre el perímetro y área para todo cuadrado, su lado.

3. Se borra de la imagen todo elemento cuadrado y grande encontrado.

Paso 1: Relleno de

huecos

Paso 2: Búsqueda de

cuadrados

a) Imagen original binarizada

b) Imagen rellenada

Paso 3:

Eliminación de cuadrados

d) Resultado c) Imagen analizada

fig. 3-10: Diagrama de pasos para la eliminación del cuadro superior

Page 55: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

57

I.T.T. – SONIDO E IMAGEN

Bordes exteriores En la mayoría de las fotografías originales, aparecen unas franjas negras en los extremos. Esto se debe a que, para no hacer fotografías de las hojas incompletas, se ha ajustado mucho el enfoque de la foto en perjuicio de que a veces, aparezca el fondo de la sala. Como se vio en la fig. 3-6, estas franjas aparecían con una intensidad muy baja, cercana al negro. Por ello, el proceso de binarización identifica (evidentemente y no siendo un error) estas zonas como información útil, ya que su intensidad es muy inferior a la “alta” intensidad del papel. Teniéndose en cuenta, por un lado, que estos bordes están “conectados” al borde de la imagen y por otro, que la región de interés nunca estará conectada a la misma, se ha utilizado una función que consiste en eliminar toda aquella región que toque en algún punto al borde de la fotografía. Con ello se elimina:

• Franjas negras, que suelen ser el suelo de la sala, o la superficie de la mesa. • La parte de los pentagramas que corresponden a la otra página.

Después de los dos pasos anteriores, se han eliminado áreas que no se necesitaban y que previsiblemente perjudicaban para reconocer la música. Tras varias pruebas, en el siguiente paso (la proyección horizontal), se veía seriamente afectada con la existencia del dibujo, pero sobre todo de los bordes (mas denso que el dibujo) y de ahí la importancia de su eliminación. A continuación se muestra gráficamente el resultado de estos dos pasos:

Eliminación de las regiones

no-musicales

a) Imagen original b) Imagen sin bordes ni

cuadrado

fig. 3-11: Diagrama del procesado de la imagen para la detección de pentagramas

Page 56: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

58 I.T.T. – SONIDO E IMAGEN

3.5 Detectar los pentagramas 3.5.1 Introducción La binarización, como se dijo anteriormente, consiguió reducir al máximo la información redundante de las fotografías y después, la preparación de la imagen que se ha descrito anteriormente, nos sitúa en este punto. A continuación, se muestra el diagrama de bloques pertenecientes a este capítulo:

Imagen binarizada sólo con

información musical

Imagen preparada

para la detección

Preparación para la

detección (Cap. 3.5.2)

Aplicación de operadores

morfológicos (Cap. 3.5.3)

Obtenemos la localización de

los pentagramas

Conversión de

los pentagramas

a bloques

Eliminación de la imagen no

musical (Cap. 3.5.4)

fig. 3-12: Diagrama de bloques de la detección de pentagramas

3.5.2 Preparación para la detección Antes de pasar los diversos operadores morfológicos a la imagen binarizada, se han realizado dos operaciones.

Cálculo del grosor de línea En general, las líneas que forman todo pentagrama que contiene una partitura, tienen el mismo grosor. Utilizándose esta característica musical, se ha querido calcular el grosor que tiene una línea de forma automática, y generalizar que todas las líneas que forman los pentagramas tienen también dicho grosor. Con el consiguiente ahorro computacional. Para el cálculo del grosor de línea, se ha proyectado horizontalmente la imagen binarizada que disponemos.

Page 57: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

59

I.T.T. – SONIDO E IMAGEN

A continuación se muestra la proyección horizontal de una de las imágenes del conjunto de prueba.

0 200 400 600 800 1000 1200 1400 1600 18000

200

400

600

800

1000

Altura de la imagen

Fren

cuen

cia

de a

para

ción

fig. 3-13: Proyección horizontal de una partitura binarizada Utilizándose esta proyección, se va a utilizar el siguiente algoritmo que se ha desarrollador para obtener el grosor de línea de forma automática:

1. Se halla el valor máximo de la proyección horizontal, que será la línea más recta de la imagen, ya que no todas las líneas de la imagen son perfectamente rectilíneas.

2. Se define un vector, utilizándose para ello el valor de la fila obtenida en el paso 1.

El vector es la línea horizontal que corta la imagen a dicha altura.

3. Se busca el centro de la serie de unos más larga de entre las series que tendrá el vector. Con ello se tendrá la seguridad de que ese punto del eje X (columnas), pertenece una línea también.

Llegándose a este punto se ha localizado la “columna de línea” y la “fila de línea” 4. Ahora se analiza un vector vertical, que va a ser la línea vertical que corta a la

imagen pasando por la “columna de línea” 5. Se selecciona la región del vector a altura de fila y de línea. Tras eso, se cuenta el

número de píxeles conectados tiene esa región. Ese va a ser el grosor de línea.

Con la idea de hacerlo más robusto frente a posibles errores, se ha repetido este algoritmo 10 veces, y se ha dado por bueno el valor de la mediana de los obtenidos.

Page 58: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

60 I.T.T. – SONIDO E IMAGEN

Se limpia la imagen de ruido impulsivo En un principio, y como ya se dijo en uno de los apartados del el punto 3.4.2, la imagen no presentaba ruido impulsivo, ruido normalmente muy molesto a la hora de hacer un reconocimiento de la imagen. Ha sido más tarde, en el proceso de binarización, cuando se ha creado cierto ruido impulsivo, al reconocerse algunos píxeles que deberían ser fondo como información musical. La existencia de ruido impulsivo en una imagen, de cara a realizar un procesado morfológico, es un problema especialmente crítico. Esto es debido a que, este procesado se basa en la utilización de un “Elemento Estructurante”, en adelante “EE”, para realizar sus operaciones. Por ejemplo, cabe señalar, que un único píxel aislado en una imagen a la que se está realizando una operación de cierre (dilatación y erosión), cuando esta cerca de otra región, se convierte en un objeto de igual forma al EE uniendo regiones que no deberían estar juntas. Por esta razón y llegados a este punto, se ha eliminado de la imagen toda región3 que tenga un área inferior a un número determinado de píxeles. Este número se calcula en referencia al tamaño de la imagen. La proporción sería la siguiente: Un área de 4 píxeles si el tamaño de la imagen es 1Megapíxel. En este caso, las fotografías de la base de datos son de 2 Megapíxeles, por lo que se eliminarán áreas inferiores a 8 píx., que aunque parece ser un área pequeña (0.0004%) mejora la imagen de cara al procesado morfológico posterior. 3 Región: Conjunto de píxeles de la imagen conectados entre sí. Se considera conectividad 8 para todas las regiones, es decir, que cualquiera de los 8 píxeles que rodean a uno céntrico, serán considerados que pertenecen a la misma región.

Page 59: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

61

I.T.T. – SONIDO E IMAGEN

3.5.3 Aplicación de op. morfológicos para el rellenado de espacios entre líneas del pentagrama

El procesado morfológico se basa en la forma y estructura de la imagen para actuar sobre ella. En este apartado se van a realizar diferentes procesados morfológicos para la detección más clara de los pentagramas. Se utilizará siempre las operaciones de dilatación y erosión, y combinaciones entre ellas, como son el cierre (dilatación + erosión) y la abertura (erosión + dilatación), operaciones no inversas. Debido al número de procesos que componen este subproceso, a continuación se muestra el diagrama de bloques de los operadores morfológicos utilizados, para facilitar el seguimiento de los mismos. Después del diagrama, se explican en más detalle los pasos.

Imagen preparada

para la detección

Pentagramas con líneas

unidas

Imagen formada solamente por las líneas del pentagrama

Unión de las líneas

(Paso 1)

Eliminación de regiones,

excepto líneas (Paso 2)

Unión de líneas

entre sí + rellenado

(Paso 3)

Imagen de bloques

compactos

Imagen contenedora de bloques

Pentagramas

unidos como bloques

Unión de bloques (Paso 5)

Eliminamos regiones sin

interés (Paso 4)

fig. 3-14: Diagrama de bloques del procesado morfológico

A continuación se detalla los procesados en el diagrama de la fig. 3-14 descritos:

1. Unión de las líneas, para ello se hace un cierre utilizándose un EE en forma de línea. Como se vio con más detalle en la fig.3-9, originalmente las líneas de los pentagramas no son líneas continuas, sino guiones largos. El objetivo de este punto es el de unir los sucesivos guiones como una única línea conectada.

2. Obtención de las líneas de cada pentagrama, aunque sólo sea a intervalos

irregulares. Esta operación se realiza con una erosión con un EE lo bastante ancho como para eliminar notas.

Page 60: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

62 I.T.T. – SONIDO E IMAGEN

Nótese que anteriormente se calculó el grosor de una línea de pentagrama, información suficiente para eliminar las plicas4 de las notas si en este punto el ancho del EE es superior a dicho grosor.

3. Unión de las líneas de cada pentagrama entre sí, para ello es suficiente hacer un

cierre, utilizándose por EE una barra vertical.

Si las líneas que conforman el pentagrama estuvieran conectadas, tras este último cierre se obtendría un bloque compacto representando cada pentagrama. En la práctica, y aún habiéndose hecho el cierre del procesado 1, en muchas ocasiones las cinco líneas de cada pentagrama no están enteramente unidas, dejando huecos en el interior de dicho bloque.

Tras el paso anterior, se rellena el interior de todas aquellas regiones cerradas, con el objetivo de tener el pentagrama representado como un bloque lo más compacto posible.

4. Eliminación de las regiones que no son pentagramas, que llegados a este punto solo pueden ser una cosa: las letras que acompañan a la música debajo de cada pentagrama. Para ello, una abertura es suficiente.

5. Unimos bloques de un mismo pentagrama. A veces, después del procesado

descrito en el punto 4, se obtenían bloques separados que pertenecían al mismo pentagrama. Para solucionar esto se hace una operación de cerrado con un EE horizontal.

Ahora y tras estos cinco pasos, se ha convertido cada pentagrama en un bloque. La proyección horizontal de la imagen resultante, determinará claramente la ubicación de cada pentagrama, en lo que posición vertical se refiere.

Procesado morfológico

a) Imagen binarizada b) Pentagramas

representados por bloques fig. 3-15: Resultados del procesado morfológico para la detección de

pentagramas

4 Plica: Barra vertical que surge de la cabeza de las notas

Page 61: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

63

I.T.T. – SONIDO E IMAGEN

3.5.4 Detectando la ubicación Llegados a este punto, y a la vista de la fig. 3-15 que se puede encontrar más arriba, parece claro qué es lo más apropiado para realizar sobre ella. La proyección horizontal, consiste en explotar una de las características mas señaladas de cualquier partitura. Los pentagramas se disponen todos horizontalmente. Por lo que si se hace una proyección horizontal de sus puntos se obtienen picos para cada pentagrama y posteriormente, en cada un de ellos, 5 picos que corresponden a cada línea del propio pentagrama. Esta proyección atiende a la siguiente fórmula:

vectorizar a Imagen yxIproyección la de Vector P

:donde

yxIxP

h

Nx

M

yh

:),(:

),()(1,...,1,0

1

0 −=

=∑=

ec. 3-3: Proyección horizontal de una imagen A continuación, se muestra la proyección horizontal de la imagen de los pentagramas en bloque.

0 200 400 600 800 1000 1200 1400 1600 18000

200

400

600

800

1000

Altura de la imagen

Frec

uenc

ia d

e ap

aric

ión

fig. 3-16: Proyección horizontal de los pentagramas en bloque

Page 62: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

64 I.T.T. – SONIDO E IMAGEN

A la vista de la proyección, si se efectúa un “corte” de los valores superiores a 20, obtenemos un vector de ceros y unos. Tendremos cero cuando no existe pentagrama y uno cuando sí. Con la utilización de una función que se ha implementado, se pueden registrar los cambios binarios de un vector de ceros y unos. Su funcionamiento definiría los intervalos de los unos. Así, el inicio de un intervalo se efectuaría cuando se detecta un cambio de cero a uno, y el fin del mismo cuando se detecta un cambio de uno a cero. Con ello se introduce el vector en la función y da la ubicación exacta de los pentagramas. Pero no con ello se termina, ya que para los futuros análisis de cada de pentagrama es muy recomendable el “ensanchar” los pentagramas por arriba y por abajo (según vemos la partitura); o por la izquierda y derecha, según vemos la proyección horizontal, la fig. 3-16. Para ello se calcula la distancia media entre pentagramas y se calcula su 20%. Esta va a ser la distancia que se aumente el intervalo que será considerado “lugar de pentagrama”, tanto por un extremo como por el otro.

Page 63: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

65

I.T.T. – SONIDO E IMAGEN

3.6 Detección de las líneas de cada pentagrama 3.6.1 Introducción Hasta ahora, se ha conseguido ubicar a los pentagramas presentes en la partitura como un bloque, es decir, cada pentagrama esta definido por un inicio y un fin sin tener en cuenta que contiene dentro de sí mismo. En este capítulo se va a tratar de encontrar la ubicación de cada línea de pentagrama que contiene la partitura. La utilidad de esto es que en un futuro, se pueda relacionar la ubicación de las notas que se reconozcan, con la línea más cercana. Con ello quedaría definida la nota musical a la que pertenece. La ubicación exacta de cada línea viene determinada por dos factores:

1. La distancia entre las líneas de un mismo pentagrama 2. La forma no rectilínea de las líneas que componen el pentagrama

A continuación, se muestran el diagrama de bloques del funcionamiento de los scripts de este capítulo:

Ubicación de los pentagramas

Conjunto de datos para analizar cada

pentagrama

Análisis de características de los pentagramas

(Cap. 3.6.2)

Detec. de distancia

entre líneas (Cap. 3.6.3)

Detec. del movimiento descrito

por las líneas (Cap. 3.6.4)

Obtenemos la localización de las

líneas

fig. 3-17: Diagrama de bloques de la detección de líneas

Page 64: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

66 I.T.T. – SONIDO E IMAGEN

3.6.2 Características a tener en cuenta Tras buscar en diversos medios sobre reconocimiento y búsqueda de líneas, y particularmente, sobre reconocimiento de líneas en partituras, se ha encontrado que todos los reconocedores existentes parten de una premisa, las líneas deben ser rectilíneas, dando por sentado además que las líneas son continuas.

Líneas curvas La gran mayoría de las imágenes que se disponen para hacer este Proyecto, tienen sus líneas curvas ya que las fotografías están hechas al libro directamente, con la consiguiente curvatura de las hojas en sus bordes. Este es precisamente uno de los “puntos fuertes” de este Proyecto. Se podría decir que actualmente no existen reconocedores que sean capaces de leer música si sus líneas no son rectas. Para ver del grado de importancia del que hablamos, a continuación se muestra un pentagrama de ejemplo

fig. 3-18: Pentagrama con sus líneas no rectas Como se puede apreciar en la fig. 3-18 en los extremos, el pentagrama sufre una curvatura muy pronunciada. En las primeras pruebas, en un principio se representó a cada línea de pentagrama con un único valor (el valor medio de su movimiento vertical a lo largo de pentagrama) y se advirtió que en la mayoría de los casos, las notas de los extremos se reconocían mal, dándole siempre un valor 5 o dos, superior al que realmente pertenecían. Por ello finalmente se ha tenido que desarrollar un algoritmo de seguimiento de línea para poder saber el movimiento que describe cada línea dentro del pentagrama.

5 Valor: En este caso nos referimos a valor vertical de una nota, esto es su nota musical.

Page 65: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

67

I.T.T. – SONIDO E IMAGEN

Líneas segmentadas Otro factor a tener en cuenta para reconocer estas líneas, es que no son líneas propiamente dichas, sino segmentos en serie que parecen una línea, tal y como aparece en la fig. 3-18. Esto ha hecho pensar en distintas alternativas para solucionar el problema. En general sería preferible tener la línea tener la línea conectada para poder operar sobre ella más fácilmente, pero el algoritmo de seguimiento de línea que hemos nombrado antes es también capaz de funcionar bien aunque la línea esté separada en guiones. Por el momento se tienen disponibles dos versiones de la partitura en lo que a conectividad de línea se refiere:

1. La imagen binaria sin tratar morfológicamente, donde las líneas están separadas y las figuras musicales, puras e intactas

2. La imagen binaria resultante del procesado morfológico de cierre, de la imagen

anterior citada, la número 1. Sus líneas están perfectamente conectadas, pero algunas de sus notas, emborronadas y por lo tanto, de imposible reconocimiento.

Ahora podría estar el lector preguntándose sobre la razón de no utilizar la Transformada de Hough, tan utilizada en el reconocimiento de líneas. Se ha pensando también esta posibilidad ya que la transformada de Hough es muy útil ya que da como resultado la ubicación exacta de las líneas (que serían representadas como un punto en el espacio de Hough) y también su orientación. Hay que tener en cuenta que si la fotografía tomada del libro esta hecha con una mala orientación, todas las líneas van a verse afectadas por ese desvío. Pero tras varias pruebas se vio que la Transformada de Hough no se puede aplicar en estas imágenes, por la razón que describimos y vimos anteriormente: La líneas no son rectas, aunque mantienen la distancia entre sí.

3.6.3 Detección de la distancia entre líneas En este apartado, se tratará de calcular la distancia entre líneas para cada pentagrama. Se utilizará para ello los intervalos que se determinaron como “lugar de pentagrama” gracias a la proyección horizontal de los pentagramas en bloques del capítulo 3.5.4. Como entonces, va a ser la proyección horizontal de la parte imagen que corresponde a las partes donde tenemos pentagrama, la que determinará la ubicación de cada línea. Iterativamente, se analizará tantos trozos de imagen como pentagramas contenga. Los pasos a seguir para cada trozo de imagen, o lo que es lo mismo, para cada pentagrama son los siguientes:

Page 66: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

68 I.T.T. – SONIDO E IMAGEN

1. Se utilizama Kmeans, para encontrar los cinco máximos correspondientes a la proyección en cuestión

0 50 100 1500

50

100

150

200

250

300

350

Alto del pentagrama

Frec

uenc

ia d

e ap

aric

ión

0 50 100 150

0

100

200

300

400

Alto del pentagrama

Frec

uenc

ia d

e ap

aric

ión

a) sin ruido b) con ruido

fig. 3-19: Proyecciones horizontales de dos pentagramas de una partitura

2. Se calcula la distancia mediana entre líneas con el objetivo de determinar el Espacio Inter-Línea, ahora en adelante, EIL. Tal es su importancia, que se explicará mucho más detalladamente más adelante para que se puede utilizar.

Hay destacar que debido a la imagen de las que se dispone, el algoritmo Kmeans ofrece un resultado erróneo si la proyección no es limpia. En la fig 3-19 a) los centroides (en rojo) si que están bien ubicados ya que no existe ruido, en cambio en la imagen b) algunos centroides no están situados en el máximo, de ahí la importancia de que una vez obtenida la mediana de las distancias, se hará un control de los puntos por si algún resultado no fuera correcto. El dato de la mediana es suficiente para comprobar la buena ubicación de los puntos. Una vez comprobados y corregidos 6si es necesario, se establece los 5 puntos en base a las 4 distancias.

3. Búsqueda del lugar de los cuatro espacios que se encuentran entre las líneas. Simplemente se halla el punto medio entre cada par de líneas.

4. Se genera la ubicación artificial de un espacio y una línea adicional para el

pentagrama. Tanto por arriba como por debajo.

5. Obtenido cada vector que define las 13 notas (5 líneas, 4 espacios y 4 notas adiciones) para cada pentagrama, se genera una matriz que contiene estas posiciones de cada línea de cada pentagrama sobre la imagen.

Será después cuando al encontrar la forma de línea de cada uno de los pentagramas esta matriz cobre sentido y se pueda aplicar. Se explicará más adelante. 6 La corrección se hace teniendo en cuenta que la distancia entre líneas es prácticamente constante y que el valor de la mediana es siempre bueno.

Page 67: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

69

I.T.T. – SONIDO E IMAGEN

3.6.4 Detección del movimiento descrito por las líneas Con este capítulo se va a tratar de completar la ubicación absoluta de las líneas de la imagen. Tras saber la distancia entre las líneas de un mismo pentagrama, ahora toca saber que forma tiene una línea. Analizándose las imágenes, se observa que muchas de ellas tienen a sus líneas curvadas en sus bordes, pero también se encuentra otro dato importante: por muy curvadas que estén, todas las líneas de un mismo pentagrama describen el mismo movimiento. Por esta razón se ha determinado que siguiendo el movimiento de una sola línea por cada pentagrama ya se tiene toda la información que necesaria. Más tarde solo se tendrá que replicar este movimiento de línea de cada pentagrama según la matriz de distancias entre líneas que se obtuvieron anteriormente, así quedaría definida la ubicación de todas las alturas de líneas y espacios. Ha sido uno de los puntos más difíciles de realizar del Proyecto ya que necesita de muchas pruebas para conseguir un correcto funcionamiento, porque las imágenes que tenemos presentan muchas complicaciones. A continuación, se pasa a describir el algoritmo de seguimiento de líneas que se realizara una vez para cada pentagrama.

Arrancar el algoritmo Para arrancar el algoritmo hay que situarse en algún punto concreto de una de las 5 líneas del pentagrama en el que se está trabajando. Para hallar este punto, se siguen los siguientes pasos:

1. Se elige una de las 5 líneas. La elección se hace con el valor máximo que se encuentre en la proyección horizontal para ese pentagrama, es decir, se elige a la línea más rectilínea que las demás, aunque la diferencia sea casi imperceptible. De hecho, como se ha comentado antes, las líneas de un mismo pentagrama tienen la misma forma prácticamente.

En este punto se ha localizado la “fila de arranque”

2. Se busca la columna de arranque.

a) Se define un vector, utilizándose el valor de la fila de arranque. El vector es la línea horizontal que corta la imagen a dicha altura.

b) Se busca el centro de la serie de unos más larga de entre las series que

tenga el vector. Con ello se tiene la seguridad de que ese punto del eje X (columnas) pertenece a una línea también.

En este punto se ha localizado la “columna de arranque”, que junto a la “fila de arranque anterior”, definen el punto de arranque.

Page 68: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

70 I.T.T. – SONIDO E IMAGEN

Una vez obtenido el punto de arranque, se crea una ventana centrada en dicho punto, cuya altura viene definida por el EIL que se ha calculado para cada pentagrama concreto.

Tratamiento del análisis de cada ventana El análisis de la ventana se hará iterativamente hacia la izquierda y después hacia la derecha del punto de arranque. Por cada iteración se analizan los resultados la ventana en la posición que se considera “central” y en la posición “vecina”. El algoritmo tiene estas especificaciones:

• Para la ventana:

o La ventana nunca se desplaza hacia arriba o hacia abajo dos veces consecutivas. Limitando así los movimientos bruscos

o La ventana debe estar centrada lo más posible en la línea que se esta

estudiando

o Cada vez que durante 4 iteraciones seguidas, el análisis diga que se esta sobre una línea, la ventana se recolocará, centrada en el centro de la línea.

• Para el seguimiento de la linea:

o Nunca se desplaza hacia arriba o hacia abajo dos veces consecutivas. Con ello se limita las bajadas y subidas bruscas que con toda seguridad serán erróneas. Desplazarse en dirección vertical después de dos movimientos en dirección horizontal ya supone un desnivel de un 26º, más que suficiente.

o Cuando se esta en “zona de error” se considera que la línea continúa por el

último sitio que hubo error ninguno. Y se seguirá con ello hasta que el análisis informe de que ya se ha llegado a otra zona donde no hay errores.

Además de esto, también tiene una detección de final de línea, y si la ventana durante 20 veces seguidas da como resultado que esta vacía, se interrumpe el algoritmo: Se ha llegado al final de la línea.

Page 69: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

71

I.T.T. – SONIDO E IMAGEN

Análisis de la ventana El análisis de la ventana se realiza cada vez que el script de tratamiento de análisis de ventana hace la llamada. Hay dos análisis de ventana por cada paso que da el algoritmo de movimiento. El análisis de ventana lleva los siguientes pasos:

1. Calcula el centro de todas las regiones que encuentra dentro de la ventana 2. Selecciona “como región buena”, es decir, región que es la línea de pentagrama, a

aquella región cuyo centro esta más cerca del centro de la ventana.

3. Una vez elegida esta región, comprueba que esta región no este tocando ningún extremo de la ventana.

4. Devuelve un resultado. Los tipos de resultados que pueden darse son 3:

a) No ha habido error. Se devuelve el valor del centro de la región que era

mas céntrica de las analizadas b) Ha habido error. No ha sido detectada ninguna región y por lo tanto la

ventana esta en negro. La salida es “-1” que será tratada por el otro algoritmo

c) Ha habido error, la región que he seleccionado como buena toca a algún

extremo, puede significar dos cosas:

i. La ventana esta pasando de lleno por encima de una nota o una plica

ii. La ventana esta pasando por parte de una nota y de no haber avisado de la situación, el centroide estaría muy desviado respecto al anterior, provocando una situación en la que la línea se desviaría innecesariamente.

A continuación, se muestra gráficamente los resultados de algoritmo de seguimiento de líneas.

Page 70: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

72 I.T.T. – SONIDO E IMAGEN

a) Resultado del algoritmo

b) Imagen sobre la que se ha hecho la búsqueda

fig. 3-20: Ejemplo del resultado del algoritmo de seguimiento de líneas

Tras ver el funcionamiento parece lógico pensar que este algoritmo, constituido por unas 600 líneas, sea uno de los “puntos fuertes” de este Proyecto. Tras los dos pasos anteriores:

1. Calcular la distancia entre líneas 2. Detectar el movimiento descrito por las líneas

Ahora se debe relacionar ambos pasos para generar la ubicación exacta de todas las líneas de todos los pentagramas de la imagen.

Page 71: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

73

I.T.T. – SONIDO E IMAGEN

A continuación se explica a grandes rasgos el algoritmo que se ha realizado para obtener, por cada pentagrama, la ubicación exacta de las trece pistas virtuales que diferencian a las trece posibles alturas de las notas.

1. Se recupera la ubicación, de ambos ejes, de cada uno de los puntos que constituye una de las líneas del pentagrama que va ser analizado.

2. Se busca la ubicación exacta de un punto cualquiera que debe pertenecer a la 3ª

línea del pentagrama 3. Para reducir el impacto de un posible error en el cálculo en la distancia entre

líneas, va a ser la línea central (la línea 3ª) la que se utilizará de referencia. Para ello se utiliza la ubicación del punto hallado en el punto 2.

4. Se obtiene una matriz de 2 dimensiones que contiene la posición de los dos ejes

de cada punto, en trece capas distintas, de acuerdo a las trece posibles alturas que se van a distinguir posteriormente en las notas.

Page 72: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

74 I.T.T. – SONIDO E IMAGEN

3.6.5 Borrado de líneas El borrado de líneas es una de las piezas clave en la mayoría de los OMR existentes. Se realiza porque deja al descubierto toda la información musical útil, eliminando las líneas que no hacen más que introducir ruido en la imagen, haciendo el posterior reconocimiento de las figuras musicales más sencillo. Las líneas en este punto ya no son necesarias, porque ya se extrajo de ellas toda la información que útil, su ubicación. La mayoría de los OMR trabajan con partituras cuyas líneas tiene un grosor constante y una ubicación bien definida. Así que teniendo en cuenta lo anterior, en un principio se pensó en hacer la eliminación de las líneas. Para ello, era necesario un perfecto seguimiento de las líneas, tarea que realiza el algoritmo de seguimiento de líneas (anteriormente explicado). Este algoritmo, es de los procesos más costosos computacionalmente de todos los necesarios para reconocer las partituras, y se tiene que tener en cuenta que dicho algoritmo tendría que ser aplicado cinco veces para cada pentagrama (para poder identificar, no la ubicación de cada línea que ya tenemos, si no la región que es considerada línea, diferente para cada una, que ya que puede estar afectada por distintos símbolos). Parece lógico pensar entonces, que multiplicar por cinco el tiempo del proceso más lento de ejecutar (de todos los procesos en total) es algo que no interesa, sobre todo existen soluciones alternativas. En resumen, no se ha implementado la función de hacer una determinación precisa de la líneas de pentagrama, y en su lugar, se ha realizado un borrado más simple de líneas basado en el grosor de línea de pentagrama, procesado que es suficiente para obtener la partitura sin líneas (con cierto ruido no demasiado molesto) para cuando pueda ser necesaria en posteriores procesados: La operación para la eliminación “simple” de las líneas de los pentagramas es la siguiente:

1. Se aplica un procesado morfológico de cerrado a la imagen, utilizándose como EE, un segmento vertical, cuya longitud va a ser siempre el grosor de la línea que se obtuvo anteriormente (véase el punto 3.5.2) mas dos píxeles.

El resultado es una imagen en la que ha desaparecido toda región que no tenía n+2 píxeles conectados verticalmente, donde “n” es el grosor de línea calculado, y “2” el margen se seguridad que se ha establecido, independientemente de la resolución de la imagen. Esto a veces puede provocar problemas, principalmente el de la eliminación de área que contienen información útil, aunque a la vista de la fig. 3-21, no es muy determinante a la hora del reconocimiento.

Page 73: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

75

I.T.T. – SONIDO E IMAGEN

A continuación se muestra un ejemplo de este borrado simplista de líneas:

a) Imagen original

b) Resultado

fig. 3-21: Ejemplo de borrado de líneas

Page 74: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

76 I.T.T. – SONIDO E IMAGEN

3.7 Segmentación de figuras y símbolos (2º nivel de segmentación)

3.7.1 Introducción Para poder reconocer las notas y demás símbolos musicales presentes en la partitura, se debe primero saber las características de aquello que se quiere buscar. Utilizándose como base estas características, en unos casos se generan y en otros se utilizan una serie de patrones, que comparados con la imagen, hacen que se pueda obtener la ubicación de las formas buscadas.

3.7.2 Generación automática de figuras y símbolos Para la búsqueda de los diferentes patrones, en vez de utilizar un plantilla de tamaño fijo, se ha ideado un sistema de creación automática de figuras para poder adaptarse a los diferentes tamaños de las notas, ya que es muy probable que el tamaño pueda cambiar de unas partituras a otras. Esta creación automática se basará en distintas peculiaridades para cada figura, pero todas ellas tienen un factor común, el EIL. En cambio para los símbolos más complicados, se ha tenido que recurrir al uso de plantillas, cuyo tamaño se adaptará según convenga. A continuación, se pasa a describir la obtención de los “símbolos patrón” que se han podido generar de forma automática. Estos símbolos, son los mismos que serán utilizados para analizar mas tarde la imagen. La generación automática de símbolos se hace con el objetivo de evitar el uso de plantillas preguardadas. Teniéndose en cuenta el tamaño del pentagrama y conociéndose la forma que tenían estas figuras en notación mensural blanca, es fácil generar automáticamente los patrones que después se utilizarán para buscar notas por los pentagramas que se analizarán. Para generar automáticamente los patrones, se describen a continuación primero los pasos comunes y después los específicos de cada símbolo:

2. Se usa como referencia en todo momento el EIL (Espacio Inter-Línea). Su valor determinará las dimensiones tanto del símbolo a “dibujar” como del contenedor.

3. Se genera un contenedor en negro, es decir, una matriz bidimensional a cero,

cuyas dimensiones deben ser lo suficientemente grandes como para que el símbolo a reproducir pueda ser contenido en su interior sin problemas. En todos los casos, los contenedores serán cuadrados o rectangulares.

Page 75: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

77

I.T.T. – SONIDO E IMAGEN

Después de los dos pasos anteriores, para reproducir cada símbolos se siguen distintos pasos que se muestran a continuación:

Rombos Representan la mayoría de los símbolos a buscar en la imagen. Para su creación, se parte de la siguiente información: el EIL, la diagonal mayor y el ángulo de la punta del rombo. Se van a distinguir dos tipos de rombos, el blanco (el denso) y el negro. A continuación se muestra cada caso.

• Generación del rombo blanco

1. Con el contenedor correspondiente, esto es, 2 píxeles mayor que la diagonal Mayor y menor para el alto y ancho correspondiente, se pinta su punto central.

2. Se aplica una dilatación del punto central con una línea cuya longitud, respete la

longitud de la diagonal menor del rombo, con los cálculos correspondientes.

3. Sobre el segmento creado, se aplica otra dilatación con el mismo segmento pero esta vez simétrico al anterior (simétrico respecto al eje vertical).

4. Una vez obtenido el rombo, se procede a rellenar los píxeles en blanco, con un

operador de cierre vertical A continuación se muestra gráficamente los cuatro pasos anteriores (nótese que el blanco y negro aparecen invertidos para una mejor impresión):

a) Paso 1 b) Paso 2 c) Paso 3 d) Paso 4

fig. 3-22: Generación automática de un rombo blanco

Page 76: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

78 I.T.T. – SONIDO E IMAGEN

• Generación del rombo negro El rombo negro se diferencia del blanco en que el primero posee una franja central hueca. Por esta razón, para crear el rombo negro tendremos como base al rombo creado en el anterior apartado y simplemente le restaremos la franja apropiada. El grosor de la franja se fija a un tercio del lado del rombo. Se describen a continuación los pasos:

1. Con el contenedor correspondiente, se pinta su punto central. 2. Se aplica una dilatación del punto central con una línea cuya longitud, respete la

longitud de la diagonal menor del rombo, con los cálculos correspondientes. Una vez calculado su longitud se le restarán dos píxeles para mejorar el efecto visual.

3. Sobre el segmento creado, se aplica otra dilatación con un segmento de longitud

un tercio del anterior y además simétrico al segmento utilizado en el paso 2 (simétrico respecto al eje vertical).

4. Una vez obtenido la franja, se procede a rellenar los píxeles en blanco, con un

operador de cierre vertical

5. Se hace una resta del rombo blanco obtenido anteriormente y se obtiene el rombo negro.

A continuación se muestran gráficamente los pasos anteriormente descritos (nótese que el blanco y negro aparecen invertidos para una mejor impresión):

a) Paso 1 b) Paso 2 c) Paso 3 d) Paso 4 e) Paso 5

fig. 3-23: Generación automática de un rombo negro

Cuadrados Los cuadrados son junto a los rombos las dos únicas figuras que representan las notas en la notación mensural blanca y también a ser generadas de forma automática.

Page 77: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

79

I.T.T. – SONIDO E IMAGEN

Como en el caso anterior, también existen los blancos y los negros. Pero además hay que tener en cuenta otro detalle: a diferencia de los rombos, en el caso de los cuadrados se tienen dos tamaños distintos dependiendo de la ubicación del cuadrado. Cuando un cuadrado se sitúa sobre una línea tendrá un tamaño mayor que cuando se sitúe sobre un espacio, que irá encajado en el mismo, con la consiguiente reducción de tamaño. A continuación se detallan los pasos para la obtención de los dos tipos de cuadrados en su dos versiones distintas de tamaño.

• Generación del cuadrado blanco

1. Con el contenedor correspondiente, se pinta su punto central. 2. Se aplica una dilatación del punto central con una línea de longitud fija, que

coincide con un EIL.

3. Sobre el segmento creado, se aplica otra dilatación con un segmento también de longitud fija e igual a 1.25*EIL (para el caso del cuadrado grande), pero esta vez girado 90º

A continuación se muestra gráficamente los tres pasos anteriores para las dos versiones de cada cuadrado, el grande y el pequeño (nótese que el blanco y negro aparecen invertidos para una mejor impresión):

Cuadrado grande Cuadrado pequeño

a) Paso 1

b) Paso 2

c) Paso 3

fig. 3-24: Generación automática de cuadrados

Page 78: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

80 I.T.T. – SONIDO E IMAGEN

• Generación del cuadrado negro

1. Con el contenedor correspondiente, se pinta su punto central. 2. Se aplica una dilatación del punto central con una línea de longitud fija, que

coincide con un EIL menos dos píxeles.

3. Sobre el segmento creado, se aplica otra dilatación con un segmento de longitud un tercio del calculado para el alto de un cuadrado y además girado 90º.

4. Se hace una resta del cuadrado blanco obtenido anteriormente y se obtiene el

cuadrado negro.

Cuadrado grande Cuadrado pequeño

a) Paso 2

b) Paso 3

c) Paso 4

fig. 3-25: Generación automática de cuadrados negros

Page 79: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

81

I.T.T. – SONIDO E IMAGEN

Puntillos Los puntillos se representan como un círculo que se sitúa a la derecha de las notas. Verticalmente, puede situarse a la altura que modifica en el caso que este la nota situada en un espacio o en el espacio inmediatamente superior en el caso de que la nota se encuentre en una línea. Por su simplicidad se ha pensado también en su generación automática. Los pasos a dar son los siguientes:

1. Con el contenedor correspondiente, prácticamente cuadrado e inferior a los contenedores de rombos y cuadrado, se pinta un punto algo descentralizado hacia la izquierda, ya que en los puntillos, el espacio con la siguiente nota a la derecha es muy superior al espacio que existe con la nota a la que modifica, la izquierda.

2. Se aplica una dilatación del punto anterior con un círculo, cuyo radio es un cuarto

del EIL.

a) Paso 1 b) Paso 2

fig. 3-26: Generación automática de puntillos

Silencios Los silencios en este tipo de notación, se representan por un segmento de un grosor fijo (un cuarto de EIL) que puede tener tres longitudes distintas:

1. La mitad de un EIL 2. Un EIL 3. El doble de un EIL

El proceso de generación atiende al mecanismo de los símbolos generados de forma automática anteriormente descritos.

Page 80: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

82 I.T.T. – SONIDO E IMAGEN

3.7.3 Uso de figuras y símbolos con plantilla Como ya se dijo al inicio del capítulo anterior, se ha querido evitar el uso de plantillas preguardadas en la medida de lo posible, sustituyéndose por figuras de generación automática. Aún teniéndose en cuenta lo anterior, existen formas que tenían que ser reconocidas en los pentagramas que han sido imposibles de generar, como puede ser las claves, los compases, los sostenidos o los bemoles. A continuación se muestran a modo de ejemplo las plantillas que se han utilizado para reconocer formas en las partituras que se tendrán que reconocer

Claves Se distingue entre tres claves distintas, que irán siempre situadas a la izquierda del pentagrama:

a) Clave de Do

b) Clave de Fa

c) Clave de Sol

fig. 3-27: Claves patrón

Sostenidos y bemoles

Page 81: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

83

I.T.T. – SONIDO E IMAGEN

Estas dos alteraciones también presentaban una gran complejidad como para poder ser generadas automáticamente. Se pueden encontrar a la izquierda de la nota que altera, ya sea en un espacio o en una línea (a diferencia del puntillo que solo se ubicaba en los espacios). También es posible encontrar estos símbolos conformando la “armadura” definiendo la tonalidad de la obra. En este último caso, las alteraciones que tendrán que ser de un tipo u otro, se colocarán entre la clave y el compás.

a) Sostenido

b) Bemol

fig. 3-28: Sostenido y bemol patrones

Compás En la notación mensural blanca solo se distinguen dos tipos de compases:

1. Binario 2. Ternario

La diferencia entre ambos es mínima. Tanto así que se ha utilizado solamente una plantilla para identificar cualquiera de los dos compases en el pentagrama. La plantilla elegida es la del compás binario, que por lo tanto indicará simplemente la existencia de un pentagrama. Será mas tarde, en posterior es procesados cuando se diferenciará entre los dos tipos de compases. A continuación, se muestra la plantilla utilizada, un compás binario:

a) Compas binario

fig. 3-29: Compás patrón A la vista de la figura anterior es fácil imaginar al compás ternario: El semicírculo está completo.

Page 82: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

84 I.T.T. – SONIDO E IMAGEN

3.8 Reconocimiento de cada símbolo 3.8.1 Introducción Cuando un músico va leyendo una partitura, debe interpretar en tiempo real numerosa información y ejecutarla. Se puede separar fácilmente la información en dos clases:

1. El ritmo: La música debe ser interpretada en base a una unidad de tiempo que suele venir definido al principio de la partitura. En este tipo de partituras que estamos analizando en el Proyecto (música para ser cantada) es muy posible que algún director dirigiera a la coral, estableciendo él la base de tiempos.

2. La melodía: Aunque es difícil de definir según la teoría musical, simplificando se

puede decir que la melodía es a la música como la oración es a la comunicación. Es decir, contiene una sucesión coherente de sonidos que con un significado propio dentro de la identidad musical

Para el músico, por un lado tiene la dificultad de seguir un ritmo, obligándole a tener que leer con suficiente velocidad, para hacer sonar la melodía correcta. En este proyecto, la lectura la hace un ordenador. Toda la información musical será leída y almacenada de una sola vez, lista para ser tratada después.

3.8.2 Por su ubicación En música, la altura donde situemos la cabeza de una nota indica la nota musical a la que pertenece. Pueden ser 7 distintas: Do(C), Re(D), Mi(E), Fa(F), Sol(G), La(A) y Si(B) (entre paréntesis son las mismas notas pero en notación anglosajona). Pasa saber a que nota pertenece la figura musical que se está leyendo, lo único que se tiene que mirar su cabeza, la cual estará siempre situada encima de una línea, o entre el espacio entre dos líneas. En el caso de otros símbolos menos frecuentes, como puntillos, sostenidos, bemoles, claves, etc. también es fundamental en la ubicación en la que se encuentren. Entonces, si por un lado, se sabe la ubicación de las notas y símbolos que se van a reconocer (como veremos en el cap. 3.8.4) y por otro, se conoce la ubicación de las cinco líneas y cuatro espacios que componen en el pentagrama, ya se tiene toda la información necesaria para saber que nota es la figura analizada, o a que altura afecta una alteración determinada.

Page 83: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

85

I.T.T. – SONIDO E IMAGEN

3.8.3 Por su morfología Para reconocer todos los elementos que pueden encontrarse en los pentagramas, se han pasado las distintas máscaras por las regiones de interés. Estas regiones de interés son aquellas áreas de la imagen completa, donde se sabe que están situados los pentagramas. Esto se hace con el fin de no realizar operaciones sobre áreas sin sentido, con el consiguiente ahorro computacional. Además, teniendo así aislado cada pentagrama por separado se tratará, uno por uno, como un problema independiente. Para evaluar el parecido entre la máscara y la zona del pentagrama por donde se pasa la primera, había dos posibles opciones que se han evaluado:

1. Correlación cruzada normalizada en 2 dimensiones: Es la opción correcta, ya que valora las dos clases de la máscara: fondo en negro y zona de interés en blanco para calcular el valor de correlación.

2. Convolución en 2 dimensiones: Aunque en un principio parecía ser también útil, la

convolución tiene un problema importante: Solo valora la región de interés para dar el resultado de convolución. Por ejemplo, si hace la convolución en dos dimensiones utilizándose como plantilla una corona circular, el resultado de convolución será el mismo tanto con el círculo completo como con la misma corona, ya que las áreas coincidentes son las mismas, siendo figuras distintas. El problema aparecía, claro está, para diferenciar blancas y negras.

Así pues, tras hacer la correlación de las distintas máscaras con la imagen del pentagrama que se este analizando, se obtienen ciertos picos, que indican el grado de parecido de la plantilla por la zona que corresponda de la imagen. A continuación se puede ver resultado de la correlación cruzada en dos dimensiones, gráficamente, en la fig. 3-30

a) imagen original b) resultados de la correlación

fig. 3-30: Resultados de la correlación cruzada normalizada

Page 84: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

86 I.T.T. – SONIDO E IMAGEN

A continuación, se muestra la fórmula matemática necesaria para hacer la correlación entre plantilla e imagen.

[ ][ ][ ] [ ]

plantilla la bajo imagen la de región la de media la Esf

plantilla la de media La :t

imagen La :y)f(x,donde

tvyuxtfyxf

tvyuxtfyxfvu

vu

yx yxvu

yx vu

:

:

),(),(

),(),(),(

,

5.02

, ,

2

,

, ,

!"#

$%& −−−−

−−−−=

∑ ∑

∑γ

ec. 3-4 Correlación cruzada normalizada Cuando se tiene la matriz que contiene estos resultados, se establece un umbral. Este umbral suele rondar el 50% y lo se ha establecido tras algunas pruebas. Cabe descastar que esta establecido para que sea algo generoso, es decir, que no se quiere tener ningún error tipo I (no considerar a una nota que sí lo es) y preferimos que todos nuestros errores sean tipo II (aceptar la hipótesis de que un valor alto de correlación sea una nota, aunque luego realmente no lo sea). Es decir, aceptamos tener falsos positivos para reducir al máximo la probabilidad de tener falsos negativos. Esto no es nada preocupante ya que después, al detectar un posible símbolo, se analizará, utilizando como base la teoría musical para eliminar los que han sido reconocidos como tal, pero que no tienen sentido. Generalmente por su ubicación. Por ejemplo, si se detecta un puntillo, éste debe estar situado a la derecha y en la misma altura o algo mas arriba a la nota que modifica. Si está por debajo, será eliminado.

Page 85: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

87

I.T.T. – SONIDO E IMAGEN

3.8.4 Explicación del reconocimiento de símbolos Para el reconocimiento de símbolos, se ha querido trocear la partitura en pentagramas independientes para tratar a cada pentagrama como un problema independiente, lo que facilita el reconocimiento. Se detallan a continuación los pasos para reconocer los símbolos, con sus restricciones basadas en la teoría musical:

Notas romboides Son el símbolo mayoritario a buscar en cada pentagrama. Los pasos para lograr su reconocimiento son:

1. Correlación de la plantilla del rombo blanco y del rombo negro con el pentagrama. 2. Se crea una imagen binaria que es la suma lógica de la dos matrices de

correlación anteriores que superan un umbral. Dicho umbral se sitúa alrededor de un 50% (lo que produce bastantes falsos positivos) pero no pasa por alto ningún rombo que debiera ser leído.

3. Una vez hallada la ubicación del “posible rombo”, se recorta un cuadrado de

dimensiones suficientes como para contener un rombo cuyo centro es la ubicación del posible rombo, con el objetivo de analizar con detalle el rombo hallado para saber si es blanco o negro.

4. Se convoluciona dicho recorte con una franja blanca central (la misma que se

utilizó para la generación del rombo negro). Dicha franja es la única área que diferencia a ambos rombos.

5. Si el valor de convolución anterior es similar en el centro que en los extremos la

nota es blanca (uniforme), en cambio, si en el centro el valor es inferior: no contiene franja blanca por lo que se considera rombo negro.

Notas cuadradas Después del rombo, son el siguiente símbolo mayoritario a reconocer en los pentagramas. Su forma se puede apreciar las plantillas de generación automática del capítulo anterior. A continuación se detallan los pasos del reconocimiento para notas cuadradas:

1. Se hace la correlación del cuadrado blanco pequeño y del cuadrado blanco grande. Esta correlación es capaz también de detectar, por la forma de la plantilla a los cuadrados negros, pero esta diferenciación se hará mas tarde.

Page 86: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

88 I.T.T. – SONIDO E IMAGEN

2. Se crea una imagen binaria que es la suma lógica de las dos matrices de correlación anteriores que superan un umbral. Dicho umbral se sitúa alrededor de un 50% (lo que produce bastantes falsos positivos) pero no pasa por alto ningún cuadrado que debiera ser leído.

3. Una vez identificada la ubicación de posible cuadrado, se compara para ese punto,

dos valores de correlación:

i. Rombo blanco ii. Rombo negro

Tras los dos reconocimientos anteriores, aparece la idea de un comprobador de notas que detecte que si el pentagrama no contiene ninguna nota, la ejecución del proceso de lectura se detenga.

Reconocimiento de altura y posiciones Una vez almacenada la ubicación de los posibles rombos y cuadrados, se debe hacer un análisis para saber a que nota pertenecen (por su posición respecto a las líneas) y si están situados en sitios que significarían que no son notas.

• Detección de errores por posición Por posición se han detectado errores que han tenido que ser tratados. Cada error representa una nota que posteriormente ha tenido que ser eliminada. A continuación enumeramos los errores encontrados y su resolución:

1. Error de superposición de notas: En este tipo de partituras, para música vocal, no existe la simultaneidad de más de una nota por línea melódica. A efectos prácticos, encima o debajo de una nota, no puede haber otra. Cuando esto ocurría, se ha tenido que hacer una selección de una única nota. Para ello, se comparaba el valor de correlación de cada una de ellas y se elegía la de mayor valor. 2. Error por márgenes: A veces, manchas o ruido provocan la confusión de que puedan ser reconocidos como notas útiles. Se ha pensado para ello la eliminación de toda “nota” que se encuentre a la izquierda del principio del pentagrama y a la derecha del final del pentagrama.

Page 87: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

89

I.T.T. – SONIDO E IMAGEN

• Detección de alturas

Utilizando la ubicación exacta de cada nota, utilizamos su lugar en el eje X (eje horizontal). Ese valor devuelve 13 valores distintos al introducirlo a la matriz de la ubicación de las líneas (Recordemos que cada punto del eje X no tiene que corresponder siempre a la misma ubicación de líneas, ya que éstas no describían un movimiento rectilíneo y cambiaban significativamente a lo largo del pentagrama). Una vez hallados los 13 puntos correspondientes de altura a ese punto del eje horizontal, se compara la altura de la nota y los 13 puntos anteriores. Aquel punto que se encuentre a una menor distancia significará que a esa nota pertenece la nota que está siendo objeto de estudio. A continuación se muestra un ejemplo del movimiento de las 13 pistas virtuales:

a) Zona rectilínea b) Zona curvada

fig. 3-31: Ejemplo de movimiento de las 13 pistas virtuales

Clave Aunque la teoría musical distingue entre siete claves distintas por su dibujo y posición, para la detección de las claves en este caso, se ha dividido el proceso en diferentes pasos que se detallan a continuación:

1. Cada pentagrama debe contener siempre una clave y además, en este tipo de partituras la clave no puede cambiar de repente de un mismo pentagrama. Por lo tanto: se hace la correlación de las tres plantillas con la zona izquierda del pentagrama donde se encuentra la clave.

2. Se busca el valor máximo de las correlaciones anteriores y este será el tipo de

clave que contiene el pentagrama: Do, Fa o Sol.

3. Para los casos de la clave de Do y Fa, se calcula la ubicación exacta de la clave con el fin de identificar su altura.

i. En el caso de Do puede tener cuatro distintas: 1, 2, 3 ó 4 línea. ii. En el caso de Fa puede tener dos distintas: 3 ó 4 línea.

Page 88: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

90 I.T.T. – SONIDO E IMAGEN

Compás El compás se sitúa en la mayoría de los casos al principio del pentagrama, siempre después de la clave y de la armadura (si hubiere). Pero también a veces puede situarse durante el pentagrama, entre dos notas cualquiera, con el fin de alterar el ritmo durante la ejecución de una melodía. Teniendo en cuenta estas características, pasamos a describir los pasos realizados para su reconocimiento:

1. Se hace la correlación de única plantilla (la del compás binario) con todo el pentagrama.

2. Se crea una matriz bidimensional binaria, cuyo umbral ronda el 80% de valor de

correlación máximo encontrado en la matriz de correlación del punto 1.

3. Como el compás siempre tiene que estar centrado en altura en el pentagrama, se elimina todos aquellos cuyo centro no este situado en centro del mismo. Para ello se consulta a la matriz que contiene la ubicación de las líneas para un punto del eje horizontal dado.

4. Teniendo en cuenta que un compás, se parece bastante a cualquier nota con plica,

se ha procedido a eliminar los “posibles compases” que se situaban cerca (a menos de 15 píxeles) en la horizontal con cualquier nota, eliminándose así los “compases” que realmente son notas.

5. Una vez tenemos la ubicación de los compases, se hace un recorte de su centro

para analizar de que tipo es. Después se prepara la imagen para que los resultados de la proyección posterior sean más precisos. Según su proyección vertical se decidirá si el compás es binario o ternario.

Cabe señalar que cuando se detecta un compás se almacena en memoria para los siguientes pentagramas, ya que hasta que no aparezca de nuevo otro compás, el último afecta a todas las sucesivas notas, aunque sean del pentagrama siguiente A continuación (en la siguiente página) se muestra de modo gráfico alguno de los pasos para hallar el tipo de compás.

Page 89: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

91

I.T.T. – SONIDO E IMAGEN

a) Parte del pentagrama b) Recorte de la región de

interés c) Eliminación de zonas

horizontales para mejorar la proyección

0 5 10 15 20 25 30 350

10

20

30

40Proyeccion VERTICAL de la imagen

Ancho de la imagen

Frec

uenc

ia d

e ap

aric

ión

d) Resultado de la proyección. Se puede observar que se trata de un compás binario

fig. 3-32: Diagrama de pasos de la identificación del compás

Armadura La armadura es el conjunto de alteraciones (sostenidos bemoles) que dan nombre a una tonalidad. La armadura se sitúa en estas partituras en el primer pentagrama, entre la clave y el compás. Teniéndose en cuenta estas características, a continuación se detalla el algoritmo que se ha implementado para la búsqueda de la armadura en las partituras:

1. Se recorta el área donde se sitúa la armadura. Esto es: a. Horizontalmente: Desde medio EIL (1.5*EIL si la clave es Fa) a la derecha

del centro de la clave hasta 0.75EIL a la izquierda del compás b. Verticalmente: Desde la 2ª pista virtual (el espacio superior a la 5ª línea)

hasta la 12ª pista virtual (el espacio inferior a la 1ª línea)

2. Si el ancho del área recortada es inferior a un EIL significa que no hay armadura. 3. Si el área puede contener a una armadura se busca el mayor valor de correlación

de la plantilla del sostenido y el bemol con esta área recortada. Así se decide si la armadura contendrá sostenidos o bemoles.

Page 90: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

92 I.T.T. – SONIDO E IMAGEN

4. Se busca la cantidad de sostenidos ó bemoles que contiene la región, eliminando los “superpuestos” ya que en este tipo de notación se escribía la alteración dos veces, en distintas octavas, para la misma nota.

La armadura, aunque está presente en solamente en el primer pentagrama afecta a todos los pentagramas de la partitura. Por ello se ha tenido que crear una variable que contenga el valor de la misma y que se aplica al resto de los pentagramas que siguen.

Sostenidos Los sostenidos son alteraciones que afectan a la nota que acompañan, subiéndola un semitono. La nota deberá esta situada a su derecha y a la misma altura. Para encontrar su ubicación, se realizan los siguientes pasos:

1. Se hace la correlación con la máscara correspondiente con el pentagrama. 2. Se crea una imagen binaria con la matriz de correlación anterior que supera un

umbral, que sitúa alrededor de un 50%. (lo que produce bastantes falsos positivos) pero no pasa por alto ningún sostenido que debiera ser leído.

3. Una vez obtenida la ubicación de cada posible sostenido, se procede a la

eliminación de los que no pueden serlo en base a la teoría musical.

4. Se elige la nota más cercana y a la derecha del sostenido. La distancia debe estar contenida en el intervalo: mayor de 0.75EIL e inferior 1.75EIL.

5. Una vez pasada la condición anterior, la distancia en altura a la nota, en valor

absoluto debe ser inferior a un cuarto de EIL. Tras pasar las condiciones anteriores, se considerará que el símbolo encontrado sí era realmente un sostenido.

Page 91: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

93

I.T.T. – SONIDO E IMAGEN

Bemoles Los bemoles son alteraciones que afectan a la nota que acompañan, bajándola un semitono. La nota deberá esta situada a su derecha y a la misma altura. Para encontrar su ubicación, se realizan los siguientes pasos:

1. Se hace la correlación con la máscara correspondiente con el pentagrama. 2. Se crea una imagen binaria con la matriz de correlación anterior que supera un

umbral, que sitúa alrededor de un 50%. (lo que produce bastantes falsos positivos) pero no pasa por alto ningún bemol que debiera ser leído.

3. Una vez obtenida la ubicación de cada posible bemol, se procede a la eliminación

de los que no pueden serlo en base a la teoría musical.

4. Se elige la nota más cercana y a la derecha del sostenido. La distancia debe estar contenida en el intervalo: mayor de 0.75EIL e inferior 1.75EIL.

5. Una vez pasada la condición anterior, la distancia en altura a la nota, en valor

absoluto debe ser inferior a un cuarto de EIL Tras pasar las condiciones anteriores, se considerará que el símbolo encontrado sí era realmente un bemol.

Plicas Las plicas, son las barras verticales que acompañan a las notas en ocasiones. Su aparición afecta a la duración de las notas. Para identificar a las notas que tienen plica se siguen los siguientes pasos:

1. Teniendo como referencia a cada una de las notas que se han encontrado anteriormente. Se define un área:

a. Horizontalmente: Debe tener una longitud de 1.5*EIL centrado en la nota b. Verticalmente: Desde la 2ª pista virtual (el espacio superior a la 5ª línea)

hasta la 12ª pista virtual (el espacio inferior a la 1ª línea)

2. Se realiza la proyección vertical de la región anteriormente definida. 3. Si el valor máximo de la proyección es similar al de el valor medio " No tiene plica,

en caso contrario, si el valor supera con el doble " Tiene plica.

Page 92: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

94 I.T.T. – SONIDO E IMAGEN

Corchea La corchea representa una unidad de tiempo en música. Es un caso especial dentro de las plicas ya que gráficamente se representa como una plica, pero cuyo extremo esta ensanchado. Para poder reconocer este símbolo se ha realizado el siguiente algoritmo:

1. Seleccionamos únicamente aquellas notas dignas de estudio. Esto es, los rombos blancos.

2. Determinamos la orientación de la plica de cada nota de las anteriores

seleccionadas, es decir, si se encuentra hacia arriba o hacia debajo de la nota. Ello depende de donde este colocada la nota.

3. Se determina una región que será analizada después. Esta región se genera:

a. Horizontalmente: Su tamaño es un EIL de longitud, pero descentralizado a la izquierda en el caso de la plica sea hacia abajo, o a la derecha en el caso de que la plica sea hacia arriba.

b. Verticalmente: Teniéndose en cuenta la orientación calculada en el paso 2, se determina por una parte el punto mas cercano a la nota (que estará a 0.75 EIL de la misma) y el punto mas lejano, que será la pista virtual 1 ó 13 según la orientación de la nota.

4. A la región obtenida, se le hace una operación de rellenado de huecos, para

aumentar la densidad del área y diferenciar una plica simple a una plica de corchea.

5. Se hace un eliminado de ruido con un proceso de abertura. El elemento

estructurante será un segmento vertical de una longitud igual al grosor de una plica.

6. Utilizando la imagen del resultado anterior. Se haya el valor máximo de su

proyección horizontal y se compara con el grosor de una plica. Si la diferencia supone el doble o más, estamos ante una corchea, en caso contrario, la plica es simple.

A continuación (en la siguiente página) se muestra gráficamente la plica de corchea y una plica normal:

Page 93: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

95

I.T.T. – SONIDO E IMAGEN

0 10 20 30 40 50 60 70 80

0

5

10

15Proyeccion HORIZONTAL de la imagen

Altura de la imagen

Frec

uenc

ia d

e ap

aric

ión

a) Recorte de

plica de corchea b) Proyección horizontal de a)

0 10 20 30 40 50 60 70

0

2

4

6

8Proyeccion HORIZONTAL de la imagen

Altura de la imagen

Frec

uenc

ia d

e ap

aric

ión

c) Recorte de plica normal

d) Proyección horizontal de c)

fig. 3-33: Ejemplos y proyecciones de plicas (corchea y normal)

Ligaduras Las ligaduras en notación mensural blanca no se pueden interpretar como las ligaduras de la notación moderna y se leerían como si estuvieran separadas. En este caso, son simplemente herencia de los neumas gregorianos y se dibujan pegadas. La importancia de tener que reconocerlas, se basa en que a veces, si una de las notas esta afectada por algo (un plica por ejemplo) el conjunto esta afectado de igual manera. Por ello había que identificar estas notas “unidas”. Para poder encontrar que notas están “ligadas” se ha ideado el siguiente algoritmo:

1. Se calcula un vector de distancias que contiene la distancia en horizontal de la nota n a la (n+1)

2. Se estudian las posiciones del vector de distancias donde los valores son

inferiores a 1.25 EIL.

Page 94: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

96 I.T.T. – SONIDO E IMAGEN

3. Se “etiquetan” estas posiciones por grupos, según sean consecutivas o no, ya que

puede haber ligaduras de dos notas o de tres a lo largo del pentagrama.

4. Si estas notas además son cuadradas, se identifican entonces como pertenecientes a una ligadura con la/s otra/s de su grupo.

fig. 3-34: Ejemplo de ligadura

Silencios Los silencios en notación mensural blanca tenían una representación bastante diferente a la notación moderna. Están representados en las partituras como un segmento vertical de un grosor algo superior al que tienen las líneas de pentagrama. La longitud del segmento puede presentarse en tres tamaños:

1. Ocupando medio espacio de pentagrama: ½ de EIL. 2. Ocupando un espacio de pentagrama: 1 EIL. 3. Ocupando dos espacios de pentagrama: 2EIL.

Según la longitud de la barra vertical, luego será traducido en una duración u otra. Para detectar en el pentagrama estos silencios se han seguido los siguientes pasos:

1. Se hace la correlación con la máscara que corresponda con el pentagrama. En este caso particularmente, la máscara elegida ha sido la del silencio cuyo segmento es el más pequeño ya que da un valor alto de correlación tanto para los silencios pequeños como grandes.

2. Se crea una imagen binaria con la matriz de correlación anterior que supera un

umbral, que sitúa alrededor de un 50%. (lo que produce bastantes falsos positivos) pero no pasa por alto ningún silencio que debiera ser leído.

3. Se aplica una operación de cerrado a la imagen anterior con el fin de rellenar

posibles huecos, ya que las regiones deben ser uniformes para que después, el análisis de regiones de los resultados mejores posibles.

Page 95: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

97

I.T.T. – SONIDO E IMAGEN

4. Calculamos la ubicación de cada uno de los “muchos posibles” silencios.

5. Utilizando la ubicación de cada uno se procede a la eliminación de “silencios” con el siguiente algoritmo

a. Se eliminan todos los reconocidos a la izquierda de la clave inicial. b. Se eliminan todos los reconocidos a la derecha del custode o guión, que se

encuentra al final de cada pentagrama. c. Se eliminan todos los que hayan sido confundidos con notas que tienen

plica. Calculando la distancia de cada “silencio” con cada nota. d. Se eliminan todos los que este por encima de la 2ª pista virtual y por debajo

de la 12ª pista virtual. e. Se eliminan todos los que hayan sido confundidos con puntillos, calculando

la distancia en horizontal a cada puntillo f. Se eliminan todos los que hayan sido confundidos con sostenidos,

calculando la distancia en horizontal a cada sostenido g. Se eliminan todos los que hayan sido confundidos con bemoles, calculando

la distancia en horizontal a cada bemol.

6. En este punto tenemos identificados los verdaderos silencios. Ahora diferenciamos los dos casos que se pueden encontrar para el silencio cuya longitud es ½ EIL.

a. Su centro esta mas cercano a la línea superior " blanca b. Su centro esta mas cercano a la línea inferior " negra

Page 96: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

98 I.T.T. – SONIDO E IMAGEN

3.8.5 Representación de las notas

Figuras La representación de las notas analizadas son almacenadas en una matriz de n x 11, donde n representa el número de notas localizadas y 11 los distintos campos que forman cada registro de una nota: A continuación se muestra la tabla: Nº de campo

Nombre del campo Descripción del campo

1 Posición en el eje Y Su valor nunca podrá ser superior al nº de píxeles de alto de la imagen

2 Posición en el eje X Su valor nunca podrá ser superior al nº de píxeles de ancho de la imagen

3 Figura Se distingue entre cuatro clases posibles: 1. Rombo blanco 2. Rombo negro 3. Cuadrada blanca 4. Cuadrada negra

4 Altura Se distingue entre 13 alturas distintas:

• Las cinco líneas • Los cuatro espacios • Una línea y un espacio adicional tanto por

la parte superior como inferior del pentagrama

5 Puntillo Puede tomar sólo dos valores:

0. No tiene puntillo 1. Sí tiene puntillo

6 Plica En el caso de la plica, hay tres posibles valores:

0. No tiene plica 1. Sí tiene plica 2. Tiene plica de corchea

7 Sostenido Puede tomar sólo dos valores:

0. No tiene sostenido 1. Sí tiene sostenido

8 Bemol Ídem para el bemol

Page 97: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

99

I.T.T. – SONIDO E IMAGEN

9 Compás En este tipo de partituras sólo hay dos tipos de compases, que serán representados en el campo como:

0. Compás binario 1. Compás ternario

10 Clave Hay siete claves distintas, cuya representación en el campo es la siguiente:

1. Clave de Do en 1ª línea 2. Clave de Do en 2ª línea 3. Clave de Do en 3ª línea 4. Clave de Do en 4ª línea 5. Clave de Fa en 3ª línea 6. Clave de Fa en 4ª línea 7. Clave de Sol (en 2ª línea)

11 Ligadura Puede tomar sólo dos valores: 0. La nota pertenece a una ligadura 1. No tiene ligadura

12 Armadura Presenta quince valores distintos:

• 0: Ni sostenidos ni bemoles presentes • +n: Siendo “n” el número de sostenidos • -n: Siendo “n” el número de bemoles

El valor de “n” como máximo podrá ser de 7.

13 Duración Este campo es dependiente directamente de cuatro campos anteriores, que determinan la duración de la nota para trascribirla a notación moderna o poder escucharla. Son: Compás, puntillo, plica y figura.

tabla 3-1: Definición de los campos del registro de cada nota

Silencios Al igual que en el caso de las notas, se ha creado una matriz que almacena los atributos necesarios que definen los silencios. Las particularidades que los definen hacen necesario una distinta clasificación. Si bien es cierto que las tablas son similares, los silencios presentan ciertas peculiaridades a tener cuenta. A continuación se muestra la tabla:

Nº de campo Nombre del campo Descripción del campo

1 Posición en el eje Y Su valor nunca podrá ser superior al nº de píxeles de alto de la imagen

Page 98: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

100 I.T.T. – SONIDO E IMAGEN

2 Posición en el eje X Su valor nunca podrá ser superior al nº de píxeles de ancho de la imagen

3 Longitud Se distingue entre tres tipos, representados por: 1. ½ de EIL (espacio de interlineado) 2. 1 vez el EIL (espacio de interlineado) 3. 2 veces el EIL (espacio de interlineado)

4 Puntillo Puede tomar sólo dos valores: 0. No tiene puntillo 1. Sí tiene puntillo

5 Cercanía a línea En el caso de que la longitud sea de ½ de EIL, el silencio puede ser:

0. Cercano a la línea inferior " negra 1. Cercano a la línea superior " blanca

6 Compás En este tipo de partituras sólo hay dos tipos de compases, que serán representados en el campo como:

0. Compás binario 1. Compas ternario

7 Duración Este campo es dependiente directamente de tres campos anteriores, que determinan la duración de la nota para trascribirla a notación moderna o poder escucharla. Son: Compás, puntillo y “Cercanías a línea”.

tabla 3-2: Definición de los campos del registro de cada silencio

Page 99: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

101

I.T.T. – SONIDO E IMAGEN

3.9 Creación el documento musical

3.9.1 Introducción Gracias a los pasos anteriores, se ha extraído de una simple imagen en blanco y negro la información suficiente como para poder generar un documento musical informatizado. Existen diferentes formatos con los que se puede guardar un documento musical y en este capítulo se describe la generación del documento y algún ejemplo de ello.

3.9.2 Generación del documento Para la generación del documento en este reconocedor concreto se debe partir de las dos matrices que contienen toda la información. Estas matrices son las descritas en el capítulo anterior (véase el punto 3.8.5).

Elección del formato Existen varios formatos en los que se puede guardar la partitura, que son los siguientes:

• MusicXML [15]: Es un documento XML que tiene una estructura definida para que pueda guardar información musical. La mayoría de los editores importantes, y claro, de pago, son capaces de interpretar este formato.

• Lilypond [16]: Es una aplicación que define un lenguaje muy sencillo (texto sin

formato) con el que se escribe la música. Simplemente escribiendo el documento, la aplicación lo interpreta creando una partitura con notación moderna y de alta calidad en un archivo pdf y un midi (archivo audible) de forma automáticamente. Además es distribución libre y gratuito. Por lo que se puede instalar sin problemas. Existen versiones para Windows, Linux y Mac.

Comparando los dos formatos, se ha elegido finalmente de formato de Lilypond. Para general las partituras de notación moderna en PDF y el archivo midi se ha tenido que hacer lo siguiente:

1. Un script que traduce las matrices que contienen la información musical extraída de las partituras.

2. Se genera un documento de texto que hay que guardar con el formato “.ly”

3. Abrir ese documento de formato “.ly” y el interprete de Lilypond hace el resto, la

creación del pdf con la partitura y el archivo midi.

Page 100: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

102 I.T.T. – SONIDO E IMAGEN

Ejemplo A continuación se muestra el ejemplo de salida del programa lilypond para una partitura de las de la base de datos

a) Notación mensural blanca de la imagen original

b) Notación morderna creada por lilypond tras el reconocimento de la partitura

fig. 3-35: Ejemplo del resultado final

Además el programa es capaz de transponer la música según la clave como se puede ver en la fig 3.35.

Page 101: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 3: DESCRIPCIÓN DEL PROYECTO

103

I.T.T. – SONIDO E IMAGEN

3.10 Ajuste de parámetros Se ha querido en todo momento y para todos los pasos en el reconocimiento de partituras, que los procesos se hicieran de forma automática, es decir, sin introducir ninguna variable de forma manual. Hay que tener en cuenta que no se disponía de muestras etiquetadas, por lo que no existía entonces la posibilidad de implementar algún método máquina para realizar un buen ajuste del reconocedor. Cuando se habla de ajuste, se habla de los umbrales que se han utilizado para la binarización de todas las correlaciones cruzadas normalizadas que se ha hecho con las plantillas. Como se dijo anteriormente, el ajuste se ha basado en que por el tipo de reconocedor que es (un reconocedor musical), se ha querido siempre minimizar los errores tipo II (falsos negativos), aunque con ello aumentaran los falsos positivos7. Así pues, se establecieron umbrales con los que se obtenían bastantes falsos positivos, pero reduciéndose, casi a cero, los falsos positivos. Tras estudiar los primeros resultados del reconocimiento, se advirtió que ajustando de forma manual estos umbrales, que en general rondan finalmente el 50% la mayoría, los resultados variaban. El ajuste se ha hecho entonces de acuerdo a distintas pruebas, hasta que los resultados han sido óptimos como se podrá consultar en el capítulo siguiente. Por lo tanto, y teniendo en cuenta la homogeneidad de las partituras de la base de datos con la que se ha trabajado, se puede afirmar que el ajuste manual que se ha realizado da un buen resultado. Sin embargo, si se quisiera utilizar el reconocedor desarrollado en este Proyecto para otras imágenes, aunque también sean de notación mensural blanca, es previsible que hiciera falta un ajuste manual de los umbrales de la binarización de los resultados de la correlación cruzada normalizada.

7 Los falsos positivos son fácilmente eliminables gracias a la teoría de la música.

Page 102: Procesado de imagen para el análisis de partituras antiguas
Page 103: Procesado de imagen para el análisis de partituras antiguas

4. RESULTADOS Y EVALUACIÓN

Page 104: Procesado de imagen para el análisis de partituras antiguas
Page 105: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 4: RESULTADOS Y EVALUACIÓN

107

I.T.T. – SONIDO E IMAGEN

4.1 Resultados En este capítulo se muestran los resultados del reconocedor para las imágenes que se consideraron como “conjunto de imágenes de prueba” y para las “imágenes de test”.

4.1.1 Conjunto de imágenes de prueba El conjunto de imágenes de prueba esta compuesto por 10 fotografías. Se han seleccionado de diferentes apartados de la página que web que se ha utilizado como base de datos, que contiene un gran número de partituras fotografiadas. Se ha intentado seleccionar, y teniéndose en cuenta la realización de las pruebas, las partituras que presentaban “condiciones extremas”, es decir, las partituras que contenían más peculiaridades (ejem. peor iluminación, cambios de compás, etc.). Esto se ha hecho con la idea de que si el reconocedor funciona bien para partituras complicadas, mejor funcionará para las más sencillas. Aunque todas las partituras tienen dibujados 9 pentagramas, no todas las hojas tienen rellenados los 9 pentagramas con notas, pero sí la gran mayoría. Por lo tanto se han utilizado menos de 90 pentagramas, alrededor de unos 85 para hacer las pruebas del reconocedor. Han sido necesarias muchas pruebas para un adecuado ajuste de los parámetros, con el objetivo de reducir al máximo número de errores. Después de sucesivos ajustes (véase el punto 3.10), a continuación se presentan las tasas de errores que presenta el reconocedor para sus diferentes tipos de símbolos. Para ellos se puede ver en la tabla, el análisis exhaustivo de una imagen de las del conjunto de prueba, haciéndose una descripción detallada por pentagrama:

IMAGEN 01.JPG Total Errores error (%) Total Errores error (%) Pentagrama 1 Pentagrama Altura de notas 17 0,00% Altura de notas 17 0 0,00%

Cuadradas negras 0 Cuadradas negras 0

Cuadradas blancas 0 Cuadradas blancas 2 0 0,00%

Rombos negros 3 0 0,00% Rombos negros 3 0 0,00% Rombos blancos 14 0 0,00% Rombos blancos 12 0 0,00% Sostenidos 0 Sostenidos 0 Bemoles 0 Bemoles 0 Puntillos 2 0 0,00% Puntillos 2 0 0,00% Compases 1 0 0,00% Compases 0 Clave 1 0 0,00% Clave 1 0 0,00% Silencios 1 0 0,00% Silencios 3 0 0,00% Plica 13 0 0,00% Plica 12 0 0,00% Plica de corchea 2 0 0,00% Plica de corchea

Page 106: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

108 I.T.T. – SONIDO E IMAGEN

Total Errores error (%) Total Errores error (%) Pentagrama 3 Pentagrama 4 0 0,00% Altura de notas 23 0 0,00% Altura de notas 23 0 0,00%

Cuadradas negras 0 Cuadradas negras 0

Cuadradas blancas 3 0 0,00% Cuadradas blancas 1 0 0,00%

Rombos negros 0 0 Rombos negros 3 0 0,00% Rombos blancos 20 0,00% Rombos blancos 19 0 0,00% Sostenidos 1 0 0,00% Sostenidos 1 0 0,00% Bemoles 0 Bemoles 0 Puntillos 3 0 0,00% Puntillos 4 0 0,00% Compases 0 Compases 0 Claves 1 0 0,00% Claves 1 0 0,00% Silencios 2 0 0,00% Silencios 3 0 0,00% Plica 13 0 0,00% Plica 18 0 0,00% Plica de corchea 0 Plica de corchea 0 Total Errores error (%) Total Errores error (%) Pentagrama 5 0 0,00% Pentagrama 6 0 0,00% Altura de notas 24 0 0,00% Altura de notas 23 0,00%

Cuadradas negras 0 Cuadradas negras 0

Cuadradas blancas 3 0 0,00% Cuadradas blancas 2 0,00%

Rombos negros 3 0 0,00% Rombos negros 2 0 0,00% Rombos blancos 18 0 0,00% Rombos blancos 19 0 0,00% Sostenidos 2 0 0,00% Sostenidos 0 Bemoles 0 Bemoles 0 Puntillos 3 0 0,00% Puntillos 0 Compases 0 Compases 0 Claves 1 0 0,00% Claves 1 0 0,00% Silencios 2 0 0,00% Silencios 2 0 0,00% Plica 11 0 0,00% Plica 17 0 0,00% Plica de corchea 0 Plica de corchea 0 Total Errores error (%) Total Errores error (%) Pentagrama 7 Pentagrama 8 0,00% Altura de notas 22 0 0,00% Altura de notas 24 0 0,00%

Cuadradas negras 0 Cuadradas negras 0

Cuadradas blancas 0 Cuadradas blancas 1 0 0,00%

Rombos negros 8 0 0,00% Rombos negros 4 0 0,00% Rombos blancos 14 0 0,00% Rombos blancos 19 0 0,00% Sostenidos 2 0 0,00% Sostenidos 1 0 0,00% Bemoles 0 Bemoles 0 Puntillos 2 0 0,00% Puntillos 4 0 0,00% Compases 0 Compases 0 Claves 1 0 0,00% Claves 1 0 0,00% Silencios 2 0 Silencios 1 0 0,00% Plica 19 0 0,00% Plica 22 0 0,00% Plica de corchea 0 Plica de corchea

Page 107: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 4: RESULTADOS Y EVALUACIÓN

109

I.T.T. – SONIDO E IMAGEN

Total Errores error (%) Total Errores error (%) Pentagrama 9 Pentagrama TODOS Altura de notas 12 0 0,00% Altura de notas 185 0 0,00%

Cuadradas negras 0 Cuadradas negras 0 0 #¡DIV/0!

Cuadradas blancas 1 0 0,00% Cuadradas blancas 13 0 0,00%

Rombos negros 8 0 0,00% Rombos negros 34 0 0,00% Rombos blancos 3 0 0,00% Rombos blancos 138 0 0,00% Sostenidos 0 Sostenidos 7 0 0,00% Bemoles 0 Bemoles 0 0 #¡DIV/0! Puntillos 0 Puntillos 20 0 0,00% Compases 0 Compases 1 0 0,00% Claves 1 0 0,00% Claves 9 0 0,00% Silencios 0 Silencios 16 0 0,00% Plica 11 0 0,00% Plica 136 0 0,00% Plica de corchea 0 Plica de corchea 2 0 0,00%

Page 108: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

110 I.T.T. – SONIDO E IMAGEN

4.1.2 Conjunto de imágenes de test El conjunto de imágenes de test, es una colección de imágenes que han sido extraídas de la misma base de datos que las imágenes del conjunto de prueba. Por lo tanto, es previsible que los resultados para este conjunto de imágenes sean parecidos a los resultados de las imágenes del conjunto de prueba. Se ha probado con 15 imágenes para comprobar la funcionalidad del reconocedor. Estas han sido seleccionadas completamente al azar, es decir, se han escogido sin ningún criterio previo. A continuación se muestra detalladamente el análisis de una de estas imágenes:

1572-altus-05.jpg Motetes de 1572- O magnum mysterium Total Errores error (%) Total Errores error (%) Pentagrama 1 Pentagrama Altura de notas 16 0 0,00% Altura de notas 18 0 0,00%

Cuadradas negras 0 Cuadradas negras 0

Cuadradas blancas 1 0 0,00% Cuadradas blancas 1 0 0,00%

Rombos negros 1 0 0,00% Rombos negros 4 0 0,00% Rombos blancos 14 0 0,00% Rombos blancos 13 0 0,00% Sostenidos 0 Sostenidos 2 0 0,00% Bemoles 1 0 0,00% Bemoles 0 Puntillos 2 0 0,00% Puntillos 2 0 0,00% Compases 1 0 0,00% Compases 0 Clave 2 0 0,00% Clave 1 0 0,00% Silencios 3 0 0,00% Silencios 0 Plica 11 0 0,00% Plica 14 0 0,00% Plica de corchea 0 Plica de corchea 0 Total Errores error (%) Total Errores error (%) Pentagrama 3 Pentagrama 4 Altura de notas 25 0 0,00% Altura de notas 27 0 0,00%

Cuadradas negras 0 Cuadradas negras 0

Cuadradas blancas 1 0 0,00% Cuadradas blancas 0

Rombos negros 4 0 0,00% Rombos negros 7 0 0,00% Rombos blancos 20 0 0,00% Rombos blancos 20 0 0,00% Sostenidos 1 0 0,00% Sostenidos 2 0 0,00% Bemoles 1 0 0,00% Bemoles 0 Puntillos 4 0 0,00% Puntillos 4 0 0,00% Compases 0 Compases 0 Claves 1 0 0,00% Claves 1 0 0,00% Silencios 2 0 0,00% Silencios 0 Plica 21 0 0,00% Plica 21 0 0,00% Plica de corchea 0 Plica de corchea 2 0 0,00%

Page 109: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 4: RESULTADOS Y EVALUACIÓN

111

I.T.T. – SONIDO E IMAGEN

Total Errores error (%) Total Errores error (%) Pentagrama 5 Pentagrama 6 0,00% Altura de notas 25 0 0,00% Altura de notas 26 0 0,00%

Cuadradas negras 0 0 #¡DIV/0! Cuadradas negras 0 0

Cuadradas blancas 0 0 #¡DIV/0! Cuadradas blancas 1 0 0,00%

Rombos negros 12 0 0,00% Rombos negros 10 0 0,00% Rombos blancos 13 0 0,00% Rombos blancos 15 0 0,00% Sostenidos 1 0 0,00% Sostenidos 1 0 0,00% Bemoles 0 0 #¡DIV/0! Bemoles 2 0 0,00% Puntillos 1 0 0,00% Puntillos 4 0 0,00% Compases 0 0 #¡DIV/0! Compases 0 0 Claves 1 0 0,00% Claves 1 0 0,00% Silencios 3 0 0,00% Silencios 2 0 0,00% Plica 20 0 0,00% Plica 8 0 0,00% Plica de corchea 2 0 0,00% Plica de corchea 0 0 Total Errores error (%) Total Errores error (%) Pentagrama 7 Pentagrama 8 Altura de notas 26 0 0,00% Altura de notas 26 0 0,00%

Cuadradas negras 0 Cuadradas negras 1 0 0,00%

Cuadradas blancas 2 0 0,00% Cuadradas blancas 8 0 0,00%

Rombos negros 6 0 0,00% Rombos negros 0 Rombos blancos 18 0 0,00% Rombos blancos 17 0 0,00% Sostenidos 2 0 0,00% Sostenidos 1 0 0,00% Bemoles 0 Bemoles 0 Puntillos 2 0 0,00% Puntillos 2 0 0,00% Compases 1 0 0,00% Compases 0 Claves 1 0 0,00% Claves 1 0 0,00% Silencios 0 Silencios 0 Plica 18 0 0,00% Plica 6 0 0,00% Plica de corchea 0 Plica de corchea 0 Total Errores error (%) Total Errores error (%) Pentagrama 9 Pentagrama TODOS Altura de notas 26 0 0,00% Altura de notas 215 0 0,00%

Cuadradas negras 0 Cuadradas negras 1 0 0,00%

Cuadradas blancas 2 0 0,00% Cuadradas blancas 16 0 0,00%

Rombos negros 9 0 0,00% Rombos negros 53 0 0,00% Rombos blancos 15 0 0,00% Rombos blancos 145 0 0,00% Sostenidos 1 0 0,00% Sostenidos 11 0 0,00% Bemoles 3 0 0,00% Bemoles 7 0 0,00% Puntillos 3 0 0,00% Puntillos 24 0 0,00% Compases 1 0 0,00% Compases 3 0 0,00% Claves 1 0 0,00% Claves 10 0 0,00% Silencios 2 0 0,00% Silencios 12 0 0,00% Plica 20 0 0,00% Plica 139 0 0,00% Plica de corchea 0 Plica de corchea 4 0 0,00%

Page 110: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

112 I.T.T. – SONIDO E IMAGEN

4.2 Evaluación de resultados A la vista de los resultados, se podría decir que funciona realmente bien. Las pruebas que se han hecho con las imágenes del conjunto de entrenamiento, daban en la mayoría de los casos 0.00% de error. Los errores que muy pocas ocasiones han aparecido son fundamentalmente:

• Pasar por alto algún sostenido • Pasar por alto algún bemol • Pasar por alto algún puntillo

Después, los resultados que se han obtenido con el conjunto de imágenes de test han sido similares. Entre 0.00% y 1.50% Esto es debido a que las imágenes de ambos conjuntos, “de pruebas” y “de test”, han sido extraído de la misma base de datos. Siempre hay que tener en cuenta que el reconocedor se ha implementado usando las imágenes de la base de datos de la web[14]. Por lo tanto, no se puede garantizar que tuviera la misma efectividad para otras partituras. Pensándose que sería posible la utilización del reconocedor para otras partituras de la misma notación, se definieron algunos parámetros manuales que mejorarían los resultados para otro tipo de partituras. Aún así, siempre se ha querido generalizar lo máximo posible y la mayoría de los pasos del reconocedor son útiles para hacer el reconocimiento de cualquier partitura en general y de notación mensural blanca en particular. En resumen, los resultados del reconocimiento de partituras son buenos en general, pudiéndose afirmar que se ha implementado (con el permiso de una tasa muy baja de error) un reconocedor automático1.

1 Una tasa de error superior, hubiera definido al reconocedor como un sistema semiautomático.

Page 111: Procesado de imagen para el análisis de partituras antiguas
Page 112: Procesado de imagen para el análisis de partituras antiguas
Page 113: Procesado de imagen para el análisis de partituras antiguas

5. CONCLUSIONES, LÍNEAS ABIERTAS

Page 114: Procesado de imagen para el análisis de partituras antiguas
Page 115: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 5: CONCLUSIONES, LINEAS ABIERTAS

117

I.T.T. – SONIDO E IMAGEN

5.1 Conclusiones En este capítulo se describen las conclusiones finales de los resultados del prototipo del reconocedor desarrollado. Se podría decir que en general, el reconocedor desarrollado en este Proyecto Final de Carrera “Procesado de Imagen para el análisis de partituras antiguas” ha conseguido cumplir los objetivos que se plantearon al principio del Proyecto. Algunos de los puntos son:

• La correcta binarización de la imagen

• Una alta tasa de identificación de símbolos: El 100%

• Seguimiento de líneas: Que era uno de los problemas mas difíciles de resolver como se ha podido comprobar en su apartado correspondiente. Se necesito alrededor de 500 líneas de código para su realización

Los resultados del reconocimiento de partituras, han sido mucho mejores de lo que se pudo imaginar en un principio. Sin embargo, este proyecto podría ser mejorable y ampliable. La mejora principal (se describirán varias en el siguiente subapartado), estaría en una buena generalización para otras partituras. Habiéndose realizado el reconocedor con las partituras de una única, aunque completa base de datos, no se puede asegurar que sin un ajuste manual del reconocedor los resultados vayan a ser los mismos. A continuación se muestra otra imagen encontrada de notación blanca que no pertenece a la base de datos: la fig.5.1.

fig. 5-1: Ejemplo de otra imagen de la misma notación

Se puede observar que esta imagen podría dar problemas, según alguno de los muchos pasos del reconocedor. Pero hay que destacar que la mayoría de ellos son útiles para el procesado de cualquier partitura. En resumen, el reconocedor desarrollado en este proyecto cumple el objetivo de reconocer el contenido musical de las imágenes con las que trabaja.

Page 116: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

118 I.T.T. – SONIDO E IMAGEN

5.2 Líneas abiertas para el futuro Es este capítulo, el lugar donde se proponen ideas para que utilizando como base el reconocedor que se ha creado en este proyecto, se pueda mejorar. Hay que señalar que el trabajo que se ha hecho funciona con los scripts que contiene en sí mismo, pero a pesar de ello, se detallan a continuación algunas ideas que han surgido en torno al uso y posibilidades que ofrece un reconocedor como este:

• Se podría desarrollar una interfaz gráfica completa para poder gestionar los datos del reconocimiento. Esta interfaz podría tener funcionalidades como las presentes en algunas aplicaciones profesionales. Las funcionalidades podrían ser: edición de notas (para corregir algún posible error), impresión en papel con características configurables (por voces, por partes, etc.), reproducción personalizada (variando la tonalidad, la velocidad, etc.)

• Adaptar el reconocimiento (las plantillas simplemente) para ser capaz de leer

también partituras de notación moderna

• Con ciertas modificaciones (adaptaciones de plantillas principalmente), podría leer partituras manuscritas sencillas.

En resumen, se ha pretendido que este Proyecto Final de Carrera, no fuera un trabajo cerrado que no pudiera ser continuado. Podría ser interesante su continuación, sirviendo de base para poder hacer algún trabajo o incluso algún Proyecto que fuera una ampliación del mismo, con las ideas anteriormente descritas.

Page 117: Procesado de imagen para el análisis de partituras antiguas
Page 118: Procesado de imagen para el análisis de partituras antiguas
Page 119: Procesado de imagen para el análisis de partituras antiguas

6. ANEXOS

Page 120: Procesado de imagen para el análisis de partituras antiguas
Page 121: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 6: ANEXOS

123

I.T.T. – SONIDO E IMAGEN

6.1 Descripción del software desarrollado en Matlab® 7.0

6.1.1 Introducción Este reconocedor ha sido implementado gracias al software Matlab, de la compañía The MathWorks1 . Este software permite crear scripts y funciones con el conocimiento del lenguaje apropiado. A continuación se describe el software que se ha tenido que desarrollar, para que las funciones, algoritmos, etc. necesarios para reconocer las partituras se pudieran ejecutar de forma automática.

6.1.2 Lista de funciones implementadas Matlab contiene internamente multitud de funciones listas para poder ser usadas, en cada una de sus toolboxes o “cajas de herramientas”. En este proyecto, al tener que trabajar con imágenes se han utilizado dos toolboxes principalmente:

1. Image Acquisition Toolbox, la “caja de herramientas de adquisición de imágenes” 2. Image Processing Toolbox, la “caja de herramientas de procesamiento de

imágenes” Además de estas funciones “predefinidas” por el programa, el programador puede crear sus propias funciones, utilizando o no otras funciones más sencillas como base. Siempre se tiene que tener en cuenta que una función tiene funciona como un sistema que tiene una entrada, un procesado de los datos que contiene esa entrada y una salida. Cabe destacar que una función no puede hacer uso de alguna variable que no haya sido introducida previamente por su entrada. Teniendo en cuenta lo anterior, se han creado una serie de funciones que no se han podido encontrar en ninguna toolbox que contiene Matlab. A continuación se procede a hacer una breve descripción de las funciones que generadas:

1 Vísitese http://www.mathworks.com/ para mas información sobre la aplicación.

Page 122: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

124 I.T.T. – SONIDO E IMAGEN

Imagen2vector Función encargada de convertir una matriz binaria bidimensional (imagen en blanco y negro) en un vector, que es la proyección de cada fila o columna de la imagen. Como argumentos de entrada se pasa la matriz y la orientación de la proyección. La orientación puede ser:

• Horizontal, valor “1”. • Vertical, valor “2”.

Como argumentos de salida se obtiene el vector, proyección de la imagen

Proyección Esta función es capaz de calcular, a partir de un vector y un número de clases a buscar, la ubicación de los valores máximos, representados por un centroide para cada valor máximo. Como argumentos de entrada se pasa el vector de valores y el número de clases que se va a querer diferenciar Como argumentos de salida se obtiene la ubicación de los centroides, tantos como máximos se querían buscar en la distribución de valores del vector.

dameCentroideCentrico Es una función que se utiliza en el algoritmo de seguimiento de líneas. Su tarea es la de analizar el vector binario (ventana de análisis) donde en teoría esta contenido parte de la línea, analizando las características de las regiones de “unos” (región útil de la image) que contiene. Como argumento de entrada se pasa el vector binario. Como argumento de salida se obtiene el valor del centroide (punto central) de la región más céntrica de todas las posibles regiones presentes en el vector. Además, en caso de error, también se dará una salida distinta en función del tipo de error:

• No existe ninguna región en el vector (ventana vacía): salida = -1. • La región que ha sido seleccionada como la más céntrica esta “tocando” a algún

extremo del vector=-2.

Page 123: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 6: ANEXOS

125

I.T.T. – SONIDO E IMAGEN

minimoPositivo Es una función que se creado para buscar en un vector, el valor mínimo, pero positivo de los valores que contiene. Como argumento de entrada se pasa el vector de valores enteros. Como argumento de salida se obtiene el valor y la posición de valor mínimo postivo del vector. Además, en caso de error, también se dará una salida distinta en función del tipo de error:

• El vector esta vacío: salida = -1. • El vector sólo contiene valores negativos: salida = -1.

cambiosBinarios Es una función cuya tarea es la identificar al variaciones de unos y ceros en un vector binario. Esto lo realiza de la siguiente forma:

• Cuando empieza una serie de unos: Registra el inicio de un nuevo intervalo. • Cuando empieza una serie de ceros: Registra el fin del intervalo que se estaba

registrando. Como argumento de entrada se pasa el vector binario. Como argumento de salida se obtiene una matriz nx2. Donde n es el número de intervalos (o series de unos) y el “2” atiende al principio y el fin del intervalo.

etiquetaGrupos Es una función que es capaz de etiquetar valores de un vector por posiciones cercanas. Es decir, su función es la de etiquetar con el mismo numero los valores consecutivos del vector, para tratarlos como un grupo. En caso de valores no correlativos, la etiqueta que se asignaría a cada valor sería siempre distinta, es decir, no existiría ninguna agrupación de 2 o más valores. Como argumento de entrada se pasa el vector de valores. En este proyecto suele ser de distancias (para agrupar notas de posiciones cercanas) Como argumento de salida se obtiene una matriz nx2. Donde n es el número de valores estudiados y el “2” atiende a las dos columnas siguientes:

1. El valor que se estudia 2. Su etiqueta.

Page 124: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

126 I.T.T. – SONIDO E IMAGEN

damePosicionArranque Es una función que es capaz, dado un vector de unos y ceros, buscar la posición central de las serie de unos consecutivos más larga. Como argumento de entrada se pasa el vector binario. En este proyecto serán otros de imagen donde se pretende encontrar la ubicación de una línea de pentagrama Como argumento de salida se obtiene el valor del centro de la ristra de unos más larga.

Page 125: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 6: ANEXOS

127

I.T.T. – SONIDO E IMAGEN

6.1.3 Lista de scripts Un script se diferencia de una función en Matlab porque no utiliza argumentos de entrada y salida. Simplemente se ejecuta de forma secuencia las líneas de código que contiene. Este código es editable con el simple notepad de Windows, ya que es texto plano, sin formato ninguno. Este código se ejecuta desde la ventana de comandos de la aplicación Matlab, mostrando en pantalla los resultados, textos, imágenes o gráficos que se llaman desde el mismo script, además las variables que genera cada script, luego son utilizables para los demás script. De alguna forma sirve para tener un orden en la ejecución de los comandos. A continuación, se pasa a describir los diferentes scripts que se han tenido que crear para el reconocimiento de partituras:

ejec Es el script que contiene todos los demás script para que se ejecuten secuencialmente. Se ha hecho para que el programa funcione con solo una llamada.

leer Carga la imagen jpg a una matriz de tres capas en Matlab. Además la convierte a escala de grises.

umbinBackground Se hace la primera de las dos binarizaciones, basada en estimación de fondo + umbralización de OTSU

umbin_grises Se hace la segunda binarización, utilizando umbral único encontrado por valle entre los dos máximos encontrados con Kmeans Después las dos binarización se unen en suma lógica.

Page 126: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

128 I.T.T. – SONIDO E IMAGEN

rellenaylimpia Se prepara a la imagen para buscar el cuadrado grande

buscaCuadrados Se busca formas cuadradas etiquetándose las regiones.

quitameCuadrados Se elimina el/los cuadrados que molestan.

quitameBordes Se elimina toda región conectada al borde, que por su ubicación, siempre será información inútil.

calculoGrosorLinea Algoritmo que calcula el grosor de la línea más pura (rectilínea) de la imagen

morfologia Se aplican varios procesados morfológicos para la preparación de la imagen para el posterior desglose de pentagramas.

desglosePentagramas Se hallan los intervalos en el eje vertical que determinan la ubicación de cada un de los pentagramas.

recogeUbicacionLineasKmeans Se calcula la distancia entre las líneas de cada uno de los pentagramas que contiene la imagen. Se utiliza Kmeans para encontrar los máximos en las proyecciones horizontales calculadas de las regiones definidas en el punto anterior. Calcula también el EIL (espacio interlínea)

Page 127: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 6: ANEXOS

129

I.T.T. – SONIDO E IMAGEN

dameFormaDeLineas Contiene el algoritmo que es capaz de detectar la ubicación, punto por punto de una de las 5 líneas de cada uno de los pentagramas. Se ayuda de la función dameCentroideCentrico (que analiza la ventana que se va moviendo por la imagen) y después gestiona los resultado que le da dicha función.

imagenDeLinea Genera, utilizando la distancia entre líneas y la ubicación de línea de pentagrama una matriz de axbxc. Donde a y b y son la ubicación en el eje X e Y respectivamente de la pista virtual numero c (que será siempre 13, 7 líneas y 6 espacios de pentagrama)

figurasEIL Crea todas las plantillas necesarias para hacer las correlaciones. En el caso de las plantillas preguardadas adapta el tamaño y en el caso de los rombos, cuadrados y puntillo genera las platillas de forma automática, basado en el EIL.

reconoceNotas Con todos los datos anteriores, el script que crea las matrices que contienen la información musical. Para ello primero recorta la parte de la imagen que contiene el pentagrama que luego se va analizar. Lleva todos los scripts donde se hacen correlaciones. Además, dentro del también encontramos al script que calcula la altura de las notas, reconoce los silencios e interpreta los resultados para generar el texto que habrá que guardar en formato de Lilypond.

Page 128: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

130 I.T.T. – SONIDO E IMAGEN

6.2 Guía para la lectura de partituras en notación mensural blanca

6.2.1 Introducción Como se ha ya destacado numerosas veces a lo largo de este proyecto, una de las peculiaridades de este reconocedor de partituras es que sea capaz de leer partituras antiguas. Es en este capítulo donde se ha querido explicar a que se refiere este documento exactamente cuando se hablaba de “partituras antiguas”. A continuación se pasará a explicar algo de la historia de este tipo de notación y posteriormente de los símbolos que utilizaba, los mismos que el reconocedor desarrollado ha tenido que interpretar

6.2.2 Historia La notación mensural se comenzó a usar durante el XIII y sufrió ciertas evoluciones. Su importancia radica en que es la primera notación donde se indica por primera vez, el valor exacto de las notas y silencios mediante símbolos. Esto supuso un gran salto respecto a su predecesora, la notación modal (usada en canto gregoriano, de ritmo libre), que se quedaba escasa para poder representar las necesidades musicales que iban surgiendo. Los primeros trabajos más importantes acerca de la notación mensural corresponden a Franco de Colonia, Petrus de Cruce y Philippe de Vitry. Fue el primero, Franco, el que escribió las primeras relaciones entre las duraciones entre distintas notas entre sí. Petrus más tarde hizo sucesivos refinamientos de la notación, pero no fue hasta más tarde, en la época del Ars Nova en Francia, cuando se hicieron los refinamientos decisivos, con Philippe de Vitry como su teórico más importante. La principal preocupación de los músicos de esta época, fue la perfecta medida del ritmo en sus obras, y gracias a ello, consiguieron obras de gran complicación armónica, melódica y tonal jamás vistas hasta entonces. La representación más clara de este tipo de obras la tenemos en la polifonía vocal. Ésta tiene la necesidad específica de que la duración de las notas, sea la misma para todas las líneas melódicas, es decir, una métrica bien definida, con la que podían hacer coincidir las notas con las demás voces. Por ello podemos afirmar que la notación mensural (medida), permitió el canto simultáneo por primera vez con precisión, con la calidad musical que conlleva. La grafía de esta notación, que hereda símbolos, patrones e ideas de la grafía anterior, fue evolucionando, cuya “versión” más moderna fue la notación blanca. Aún así presenta bastantes diferencias con la grafía de la notación moderna. Entre las diferencias que encontramos, cabe destacar a las ligaduras (herencia de los neumas gregorianos) o los custodes, inexistentes hoy. A continuación, en el siguiente capítulo pasamos a describir los distintos símbolos que presenta la notación mensural blanca.

Page 129: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 6: ANEXOS

131

I.T.T. – SONIDO E IMAGEN

6.2.3 Tipos de símbolos Como en la grafía moderna, existía en la notación blanca un gran número de símbolos distintos. Éstos, cubrían las posibles combinaciones imaginables para los músicos de la época. Son pocos los símbolos introducidos después en la notación moderna. A continuación, se hace una descripción de los símbolos que se han tenido que reconocer para analizar las partituras en este Proyecto.

Claves Al igual que en la notación moderna, existían ya las siete claves. Son fácilmente reconocibles por el lector acostumbrado a leer música moderna. La clave de Do es prácticamente igual y las que visíblemente han cambiado más son las claves de Sol y Fa. Para este proyecto, las partituras que se han utilizado corresponden a música coral donde cuatro líneas melódicas conforman la canción. Cada línea melódica es cantada por diferentes voces, utilizándose una clave distinta para cada una de ellas. Existen varias combinaciones, la más habitual es:

• Cantus: Clave de do en primera • Altus: Clave de do en tercera • Tenor: Clave de do en cuarta • Bassus (Bajo): Clave de fa en cuarta

También se utilizaba una combinación de claves cuyo objetivo era bajar la canción una cuarta. Son las llamadas claves altas o chiavettes:

• Cantus: Clave de sol en segunda • Altus: Clave de do en segunda • Tenor: Clave de do en tercera • Bassus (Bajo): clave de fa en tercera, o do en cuarta

Figuras Aunque el nombre difiere mucho a su correspondencia actual, las grafías son similares y su función, idéntica.

• Brevis: Cuadrada • Semibrevis: Redonda • Mínima: Blanca • Semimínima: Negra • Fusa: Corchea

Page 130: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

132 I.T.T. – SONIDO E IMAGEN

Silencios Al igual que en la grafía moderna, cada figura corresponde a un único silencio. La grafía es un pequeño segmento vertical, cuyo valor de duración se determina por dos factores:

1. La longitud del segmento, entre las que distinguimos tres longitudes:

1. Dos veces el espacio de interlineado (EIL) 2. Un espacio de interlineado (EIL) 3. Medio espacio de interlineado (EIL)

2. Posición relativa a la línea más cercana. Esto sólo se aplica cuando el segmento

vertical que representa al silencio, tiene de longitud medio espacio de interlineado. Según esto, nos encontramos ante dos posibilidades: 1. El centro del segmento esta más cerca de la línea superior: Su duración

corresponde a una blanca 2. El centro del segmento esta más cerca de la línea superior: Su duración

corresponde a una negra

Compás Para sorpresa del músico acostumbrado a leer música actual, en este tipo de notación, no existían las líneas divisorias. Aun así, las canciones tienen un orden de tiempos. Normalmente los compases binarios se representaban por una semicircunferencia centrada en altura en el pentagrama (con un diámetro igual a la distancia de interlineado) y atravesada por un segmento vertical, cuya longitud ocupaba el pentagrama desde la primera líneas hasta la última. En el caso de los compases ternarios, el semicírculo se sustituía por un círculo completo.

Ligaduras Las ligaduras que aparecen en estas partituras, están representadas por unos símbolos que parecen “notas pegadas”. Son la herencia de los neumas gregorianos. En general es raro ver una ligadura de más de dos notas.

Puntillos Colocados a la derecha de la nota, alargan la duración de la misma en su mitad. Se colocan siempre en un espacio a la altura de la cabeza de la nota que afectan, si la nota esta situada sobre una línea, se elige siempre el espacio superior siguiente.

Page 131: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 6: ANEXOS

133

I.T.T. – SONIDO E IMAGEN

Sostenidos y bemoles Sostenidos y bemoles actúan de la misma forma que hoy en día, subiendo o bajando un semitono la nota a la que afectan. Se colocan a la izquierda y a la misma altura de la cabeza de la nota que alteran.

Custodes o guiones Son unos símbolos, inexistentes en la actualidad, que van colocados al final de cada pentagrama, después de la última nota. Su función consiste en indicar que altura va a tener la primera nota del siguiente pentagrama. Así, el cantante, es capaz de saber con antelación el intervalo de ambas notas y prepararse para ello.

Texto Al igual que las canciones de nuestros días, las letras que acompañan a la música se colocaban debajo de los pentagramas. Al no ser objetivo de este proyecto analizar las letras, no las hemos tenido en cuenta. Sólo para su correcta eliminación y no entorpecimiento del análisis musical.

Page 132: Procesado de imagen para el análisis de partituras antiguas
Page 133: Procesado de imagen para el análisis de partituras antiguas

7. BIBLIOGRAFÍA

Page 134: Procesado de imagen para el análisis de partituras antiguas
Page 135: Procesado de imagen para el análisis de partituras antiguas

CAPÍTULO 7: BIBLIOGRAFÍA

137

I.T.T. – SONIDO E IMAGEN

7.1 Sobre Tratamiento Digital de la Información [1] OTSU, Nobuyuki. A threshold selection method from gray-level histogram, IEEE Transactions on System Man Cybernetics, Vol. SMC-9, No. 1, 1979, pp. 62-66 [2] FAUGERAS, Olivier. Three-dimensional computer vision : a geometric viewpoint. Pág. 663 p. ISBN: 0262061589 [3] INTERNATIONAL COMMISSION ON ILLUMINATION [en línea]. <http://www.cie.co.at/cie/> [4] SOILLE, P., Morphological Image Analysis: Principles and Applications. Springer-Verlag, 1999, pp. 173-174. [5] VIEIRA, P.; PINTO, J.C.Recognition of musical symbols in ancient manuscripts Image Processing, 2001. Proceedings. 2001 International Conference on Volume 3, Issue , 2001 Page(s):38 - 41 vol.3 Digital Object Identifier 10.1109/ICIP.2001.958045 [6] PUGIN, Laurent. Optical Music Recognition of Early Typographic Prints using Hidden Markov Models. Music Technology Area, Schulich School of Music McGill University, Montreal, Canada. [7] TARDÓN, Lorenzo J.; BARBANCHO, Isabel; BARBANCHO, Ana M. Procesado de Imagen para el Análisis de Partituras Antiguas. Dep. Ingeniería de Comunicaciones, E.TS. Ingeniería de de Telecomunicación, Universidad de Málaga. [8] MARTOS, José Angel. El ordenador que descifra partituras. Barcelona. Periódico “El País”. [en línea] <http://www.elpais.com/articulo/futuro/ordenador/descifra/partituras/elpepusoc/20070718elpepifut_2/Tes> [9] T. LUKE, Brian. K-Means Clustering [en línea] <http://fconyx.ncifcrf.gov/~lukeb/kmeans.html>

Page 136: Procesado de imagen para el análisis de partituras antiguas

PROCESADO DE IMAGEN PARA EL ANÁLISIS DE PARTITURAS ANTIGUAS

138 I.T.T. – SONIDO E IMAGEN

7.2 Sobre notación mensural blanca [10] RUBIO, Samuel. La polifonía clásica. Ed. Biblioteca “la ciudad de Dios”. El Escorial, 1956, 216 p. [11] QUEROL GAVALDÁ, Miguel. Transcripción e interpretación de la Polifonía Española de los siglos XV y XVI. Ed. Servicio de publicaciones del Ministerio de Educación y Ciencia. Madrid, 1975, 169 p. ISBN: 84-369-0441-9 [12] APPEL, Willi. The notation of polyphonic music, 900-1600. Ed. The Mediaeval Academy of America. Cambridge, Massachusetts 1953, p.464 [13] JAY GROUT, Donald; V. PALISCA, Claude. Historia de la musica occidental. volumen madrid, alianza editorial 2003. amarillo. [14] ÁLVAREZ GONZÁLEZ, Nancho. Tomas Luis de Victoria [en línea]. <http://www.tomasluisdevictoria.org/> [15] GOOD, Michael.MusicXML Definition Version 2.0 [en línea] <http://www.recordare.com/xml.html> [16] NIENHUYS, Han-Wen; NIEUWENHUIZEN, Jan. LilyPond... notación musical para todos [en línea] <http://lilypond.org/web/>