Acerca del el proyecto

El punto de partida es, naturalmente, uno de los 500 ejemplares del libro. Desgraciadamente, en aquella época, hace más de 30 años, no era tan frecuente contar con versiones digitales de los documentos, a diferencia de hoy donde la mayoría de publicaciones se pueden leer desde el ordenador. Es por eso por lo que el primer paso para digitalizar nuestro libro es el de escanear correctamente cada una de sus hojas. De esta manera obtendremos una imagen para cada página.

A partir de este punto podríamos pensar que nos queda poco trabajo por hacer. Para poner al lector en contexto, cuando tenemos un archivo pdf, podemos realizar búsquedas de texto sin problemas, eso como mínimo. También podemos estructurar este tipo de documentos por capítulos o secciones y acceder rápidamente a la información. De igual forma, cuando tenemos un archivo mp3, podemos reproducir el audio y escuchar su música. También podemos acceder a un segundo concreto de la melodía, etc. En nuestro caso disponemos de imágenes y, aunque nostros sepamos leer la música y el texto que contienen, para el ordenador una imagen simplemente representa un conjunto de píxeles, que no deja de ser una enorme matriz de números, por lo que saber en qué partes de la imagen está el texto (o la música) y saber qué frases en concreto están escritas, no es un problema para nada trivial.

Ahora bien, entonces ¿Qué podemos hacer? ¿Existe alguna forma de extraer la información contenida en imágenes? De hecho, si existe, y es una rama de conocimiento bastante amplia. Se llama "Visión por Computador" (del inglés, "Computer Vision"), aunque también recibe otros nombres, como por ejemplo: "procesamiento de imágenes digitales". Dentro de la visión por computador encontramos diferentes técnicas y, algunas de ellas, sobre todo a día de hoy, son muy conocidas. Por ejemplo, en la visión por computador podemos utilizar técnicas de inteligencia artificial. Nosotros una herramienta muy potente conocida como "Aprendizaje Profundo" (del inglés, "Deep Learning"), el cual, aplicado a la visión por computador, ofrece muy buenos resultados.

Vamos a necesitar localizar los párrafos y pentagramas del libro, para después, aplicar Aprendizaje Profundo y ser capaces de extraer el texto y la música que contienen. Hay muchas posilidades, pero nosotros hemos utilizado las técnicas más conocidas. Para reconocer el texto de los párrafos hemos usado OCR y, para la música de los pentagramas, hemos utilizado OMR.

OCR

El OCR, del inglés Optical Character Recognition y traducido al español como Reconocimiento Óptico de Caracteres, es una tecnología bastante consolidada la cual tiene como finalidad reconocer el texto contenido en ficheros con formato de imagen. En este proyecto hemos utilizado la librería de python pytesseract.

OMR

El OMR, del inglés Optical Music Recognition y traducido al español como Reconocimiento Óptico de Música, es una tecnología la cual tiene como finalidad reconocer la música contenida en ficheros con formato de imagen. Esta parte del proyecto ha sido la que más tiempo nos ha llevado. A diferencia del OCR, el OMR está menos avanzado y hay muchos problemas abiertos en los que se sigue investigando. Es por eso por lo que no fuimos capaces de encontrar ningún programa que nos realizara la función de transformar en música esas imágenes de pentagramas. En consecuencia, tuvimos que realizar nuestros propios modelos de Aprendizaje Profundo para extracción de música.

Código del proyecto

El enlace para acceder tanto al código del proyecto, como a la bibliografía que se ha utilizado para la realización del mismo, es el siguiente:

https://github.com/joheras/MusicaCatedralStoDomingoIER

En dicho enlace se pueden encontrar todas las técnicas de procesamiento de imagen que se han utilizado para extraer la información del libro. La memoría donde se explica todo más detalladamente se puede descargar desde el siguiente enlace. También, puedes encontrarla en el portal de investigación de la Universidad de La Rioja.