Bibliografía Sobre Lenguajes De Desarrollo De Programación...

183
FECHA 20-06-2011 NÚMERO RAE PROGRAMA Ingeniería de Sonido Universidad de San Buenaventura AUTOR GONZÁLEZ Díaz, Sebastián TÍTULO Diseño De Un Sistema Que Genera Animación A Partir De Secuencias Musicales MIDI PALABRAS CLAVES animación, música, secuencia, midi, análisis, imagen, visual, académica, clásica, apreciación, programación, python, pure data, gem DESCRIPCIÓN El presente Trabajo de Grado logra generar un sencillo lenguaje gráfico que traduce la música en imágenes sincrónicas; parte de las expresiones musicales académicas traducidas al protocolo de comunicación MIDI, para ser transformada la información haciendo uso del software libre, en órdenes de entorno gráfico, para estructurar dicha animación bajo los parámetros de la teoría musical, generando así una experiencia visual de la música controlada mediante una interfaz. El lenguaje visual creado puede dirigirse entre otras cosas a la enseñanza de la apreciación musical en todas las edades. FUENTES BIBLIOGRÁFICAS Bibliografía Sobre Lenguajes De Desarrollo De Programación, Midi Y Software ELEANOR SELFRIDGE-FIELD BEYOND MIDI, The Handbook Of Musical Codes GEM “ENTORNO GRÁFICO PARA MULTIMEDIA” (PAGINA OFFICIAL) http://www.iua.upf.edu/~csora/gmv/index.php GONZALEZ DUQUE RAUL Python para todos JOHANNES KREIDLER Loadbang: Programming Electronic Music in Pure Data PURE DATA (PAGINA OFFICIAL) http://puredata.info/

Transcript of Bibliografía Sobre Lenguajes De Desarrollo De Programación...

  • FECHA 20-06-2011

    NÚMERO RAE

    PROGRAMA Ingeniería de Sonido Universidad de San Buenaventura

    AUTOR GONZÁLEZ Díaz, Sebastián

    TÍTULO Diseño De Un Sistema Que Genera Animación A Partir De Secuencias Musicales MIDI

    PALABRAS CLAVES animación, música, secuencia, midi, análisis, imagen, visual, académica, clásica, apreciación, programación, python, pure data, gem

    DESCRIPCIÓN El presente Trabajo de Grado logra generar un sencillo lenguaje gráfico que traduce la música en imágenes sincrónicas; parte de las expresiones musicales académicas traducidas al protocolo de comunicación MIDI, para ser transformada la información haciendo uso del software libre, en órdenes de entorno gráfico, para estructurar dicha animación bajo los parámetros de la teoría musical, generando así una experiencia visual de la música controlada mediante una interfaz. El lenguaje visual creado puede dirigirse entre otras cosas a la enseñanza de la apreciación musical en todas las edades.

    FUENTES BIBLIOGRÁFICAS

    Bibliografía Sobre Lenguajes De Desarrollo De Programación, Midi Y Software ELEANOR SELFRIDGE-FIELD BEYOND

    MIDI, The Handbook Of Musical Codes GEM “ENTORNO GRÁFICO PARA MULTIMEDIA”

    (PAGINA OFFICIAL) http://www.iua.upf.edu/~csora/gmv/index.php

    GONZALEZ DUQUE RAUL

    Python para todos JOHANNES KREIDLER

    Loadbang: Programming Electronic Music in Pure Data PURE DATA (PAGINA OFFICIAL)

    http://puredata.info/

  • Python PROGRAMMING LANGUAGE (PAGINA OFFICIAL) http://www.Python.org

    Bibliografía Sobre Imagen D. A. DONDIS

    La Sintaxis de la Imagen DE MORENTIN JUAN MAGARIÑOS

    Lo que explica la semántica visual JOSÉ Mª GONZÁLEZ-SERNA SÁNCHEZ

    Sintaxis de la Imagen [en línea] Semántica de la Imagen [en línea] < http://www.auladeletras.net/mat_med.html#>

    MAGARIÑOS DE MORENTIN, J

    La(s) semiótica(s) de la imagen visual.,Cuadernos 17, Revista de la Facultad de Humanidades y Ciencias Sociales de la Universidad Nacional de Jujuy; noviembre,

    PEP ALSINA, FREDERIC SESÉ

    El área de educación musical Historia de la música con propuestas didácticas y 49 audiciones

    KANDINSKY

    Punto y línea sobre el plano De lo Espiritual en el Arte

    Bibliografía Sobre Visualization Musical Y Teoría Musical ALVIRA RODRÍGUEZ JOSÉ

    Teoría Musical; Aprendizaje [en línea]. http://teoria.com/aprendizaje/lectura/15-armaduras.htm

    ANIMUSIC

    Pagina Oficial [en línea] http://www.animusic.com/ BACH, J. S.

  • Inventions & Sinfonies BWV 772-801 “Clavierbüchlein vor Wilhelm Friedemann Bach” Clave bien temperado BWV 846-869 y BWV 870-893

    DRA. ANA MARÍA SEDEÑO VALDELLÓS

    Artículo publicado en Julio del 2007 en la revista nº 0004 de Sinfonía Virtual, España

    DR. H. RIEMANN

    Analysis of J. S. Bach’s Wohltemperirtes Clavier HELEN L. KAUFMANN

    The Home Book of Music Appreciation KLAUS EIDAM

    La verdadera vida de Johann Sebastian Bach LLOYD ULTAN

    Music theory: problems and practices in the Middle Ages and Renaissance

    MUSIC ANIMATION MACHINE

    Página Oficial [en línea] http://www.musanim.com/mam/mamhist.htm

    ROSEN, CHARLES:

    Bach y Händel, La Música para Teclado STEPHEN ANTHONY MALINOWSKI

    Computer-Assisted Performance music animation machine http://www.musanim.com (pagina official)

    THOMAS WHITNEY SURETTE

    The Appreciation of Music WILLI APEL

    Harvard dictionary of music

  • NÚMERO RAE

    PROGRAMA Ingeniería de Sonido Universidad de San Buenaventura

    CONTENIDOS Descompilado de archivos MIDI en python Filtrado de tipos de mensajes MIDI Construcción de herramienta de análisis y métodos musicales para una secuencia MIDI haciendo uso de matrices concatenadas Análisis de alteraciones y búsqueda de la tonalidad Uso de la tonalidad para la búsqueda de notas triadas y pertenecientes a los grados de la escala en la secuencia Lista de ordenes con el protocolo Qlist para Pure Data Mover archivos entre directorios de Windows El secuenciador Qlist El protocolo MIDI en Pure Data Animación en Gem Programación haciendo uso de la función curve3d para la creación del escenario Programación de color y de luces con la función spot light Programación de las esferas animadas Programación de la interfaz gráfica en Tkinter

  • METODOLOGÍA Enfoque De La Investigación El enfoque para este proyecto es empírico-analítico porque su fin está hallado en el hacer como creación donde la principal pregunta para su realización es el “cómo”, y puede llegar a ser diseñado, cuyo producto (el sistema) proviene de una estructura en particular a la metodología de investigación orientando el trabajo a la contrastación permanente de las aseveraciones teorías como aseveraciones teóricas musicales, la semiología y la semántica de la imagen trasformadas a través de métodos tecnológicos hallados en los lenguajes de programación dando como fin un sistema que transforma los procesos musicales, en procesos visuales. El núcleo problémico de este proyecto está desarrollado dentro del núcleo de “Análisis y Procesamiento de Señales”, ya que el sistema consiste en tomar una señal lineal (información MIDI en código binario) y transformarla en una señal bidimensional (imagen) que varía en el tiempo. En detalle, se está diseñando una herramienta mediante la programación que, vinculando varios software, logra crear un método de análisis para el protocolo MIDI, que a su vez genera información necesaria para que un software de animación actúe respecto de dicho análisis. Todo es controlado por una interfaz gráfica que enlaza la herramienta de análisis con el software que genera la animación y un secuenciador MIDI. La línea de investigación de la facultad en este proyecto que, como ya se mencionó, se desarrolla dentro del campo de “Análisis y Procesamiento de Señales (APS)”, busca, a través de los métodos y la conceptualización del campo de la ingeniería de sonido, instrumentar el desarrollo de nuevas tecnologías encaminadas al apoyo de la composición y la enseñanza de la apreciación musical, creando un sistema novedoso de automatización de la animación, mediante la construcción, análisis y enlace de programas, a partir de la información musical encontrada en el protocolo MIDI. La línea de investigación de la universidad dentro de las líneas de investigación de la Universidad de San

  • Buenaventura y de acuerdo con el Consejo de Investigación Bonaventuriano (CIB), éste proyecto se inscribe en la línea “Tecnologías actuales y sociedad”, ya que busca desarrollar una interfaz interactiva, a través de la actualización constante de los conocimientos tecnológicos y por medio de software libre, relacionando de una forma directa la estructura y la teoría musical con un lenguaje visual sincrónico, generando animaciones, para el apoyo y desarrollo de la composición y de la apreciación musical, facilitando la enseñanza del contrapunto musical y contribuyendo al desarrollo de la educación musical en la sociedad.

    Hipótesis Utilizando software libre, diseñar un sistema que permita relacionar la teoría musical y la expresión gráfica con el fin de crear un método dirigido hacia la enseñanza de la apreciación musical.

    Variables

    Variables Independientes

    - Elementos la teoría musical hallados en las Invenciones y Sinfonías, y el Clave Bien Temperado.

    - Secuencias con el protocolo de comunicación MIDI - Programación y edición del color - Programación y edición de la luz - Programación y edición del plano - Programación y edición de las esferas

    Variables Dependientes

    - Descompilado de archivos MIDI - Filtrado de tipos de mensajes MIDI - Análisis y métodos haciendo uso de matrices

    concatenadas - Análisis de alteraciones, tonalidad, grados de notas

    y triadas en la secuencia - Lista de eventos generada en protocolo Qlist - Secuenciador Qlist para la animación y para el

  • sintetizador o muestreador - Acción de la animación para el conjunto de

    elementos desarrollados en GEM - Interfaz Gráfica

    Proceso Para el desarrollo del sistema se ha creado una estructura metodológica que desglosa cada una de las etapas de la siguiente manera: • Generar un protocolo de información que haga uso de la secuencia MIDI para que Pure Data sea capaz de enviar información MIDI hacia un instrumento virtual, en tiempo real. • Generar un programa para que el software de animación GEM entienda la información recibida y la ejecute en tiempo real. • Crear un lenguaje visual sencillo para representar varios elementos de la estructura musical. • Crear la comunicación necesaria para que Pure Data entienda las órdenes generadas por el programa de análisis y genere la animación. • Hacer una interfaz gráfica que permita manipular y enlazar los programas que deben ser usados. Para éste proyecto se ha escogido el contrapunto, que es una rama de la teoría musical que estudia la composición de música polifónica, mediante el enlace de dos o más melodías. Sin embargo, como este campo es bastante amplio en toda la música académica y sería muy ambicioso cubrir todo el contrapunto, se han escogido las “Invenciones y Sinfonías” BWV 772-801, de Johann Sebastian Bach, que son 30 breves piezas para piano, que sirven tradicionalmente al aprendizaje del contrapunto y que tuvieron el fin de enseñar al hijo del compositor; Friedman, la polifonía . Las Invenciones son 15 piezas a dos voces y las Sinfonías son 15 piezas a tres voces. Bach, al componerlas, usó las escalas más sencillas,

  • haciendo un pequeño clave bien temperado didáctico para sus hijos . Luego se tomaron los dos libros de “El Clave Bien Temperado” BWV 846-869 y BWV 870-893, que son un conjunto grande de partituras usadas para el estudio de la interpretación polifónica, como también un referente cumbre para el estudio de la forma musical del periodo barroco en cuanto al preludio y la fuga . Cada libro posee 24 grupos constituidos por un preludio y una fuga en todas las tonalidades mayores y menores de la gama cromática completando toda la escala cromática de mayor a menor. Es, por tanto, una colección enorme que comprende 48 preludios y 48 fugas cuyo contenido es a la vez musical, teórico y didáctico. Este trabajo está inicialmente dirigido hacia niños que ya tengan conocimientos musicales y nociones de armonía y contrapunto , así como también a jóvenes que tengan la capacidad o estén cerca de interpretar las obras de “El Clave Bien Temperado”. Entonces, la interfaz mostrará a los usuarios, por medio de dos canales de comunicación: auditivo y visual, la forma cómo la música ha sido escrita y estudiada, con lo cual las obras podrán ser entendidas mucho más didácticamente, introduciéndolos en el significado y las estructuras en las cuales se escribieron.

    CONCLUSIONES El concepto de sinestesia para aquellas personas que no la poseen (non-sinestésicos), les puede hacer pensar en cuáles serían las posibilidades, si en ellas existiera esta singularidad (como problema o virtud) generando otros panoramas de percepción y por ende reacciones psicofísicas, ampliando su capacidad de concepción de la realidad. Hacer visual la música es la meta que nace con este proyecto en donde a la final y de cualquier manera va a existir un arte que va a germinar en otro arte. En este proyecto logra crear una base para futuros desarrollos tecnológicos relacionando con la música, la programación y la animación. Dicha base amplía el conocimiento de los sistemas exponiendo claramente diferentes rutas para analizar, procesar y transformar la información, mediante el desarrollo de los recursos de software libre. Ofrece un variado panorama de posibilidades a quienes busquen en el tema ampliar el

  • conocimiento y crecimiento de la tecnología, especialmente para el software que es de todos y para todos (Open Source). Para que el programa fuera capaz de hallar los resultados esperados, es decir, que procesara la estructura musical, se tuvo que partir de información binaria hallada en el protocolo de comunicación y haciendo uso de pequeños programas, diseñar métodos de análisis que vayan descifrando la información numérica hasta lograr informaciones básicas sobre la estructura musical, teniendo en cuenta que dicho protocolo no se ha diseñado en si para la escritura musical sino más bien fue creado para la comunicación musical; “los archivos MIDI están diseñados para reproducir música, y no para la notación musical o impresión; en otras palabras, los archivos no incluyen información sobre la notación como ligaduras, articulaciones y/o maquetación. Tampoco puede discernir la escritura enarmónica (como la diferencia entre Fa# y Solb) ”. Es decir, el proyecto logró desarrollar un programa capaz de interpretar la información musical de un protocolo de comunicación estándar y espera llegar a descifrar procesos más complejos de la teoría musical, como las funciones armónicas y las formas musicales. Es un objetivo logrado haber creado las herramientas para que el desarrollador interesado pueda, haciendo uso de la programación, reconocer los procesos musicales, mediante un solo sistema que analiza innumerables posibilidades de escritura en archivos MIDI. Una de estas herramientas consiste en tomar la secuencia y diferenciar las notas alteradas de la misma, continuar con la aclaración de la información enarmónica y descubrir si las notas alteradas son sostenidos o bemoles hasta, finalmente, dar con la tonalidad mayor o menor en la que fue compuesta la pieza. Otra herramienta lograda que parte de la anterior, es la que genera la visualización de un flujo de eventos de manera matricial sin perder de vista las propiedades armónicas musicales de la secuencia; y que está bastante cerca de poder discernir las líneas melódicas de una pieza polifónica; además, ya es un recurso que facilita el análisis de las funciones armónicas. Como instrumento de enseñanza, el programa puede

  • expresar de manera visual conceptos como ritmo, altura, intensidad, consonancia y disonancia; notas únicas o simultáneas; tonalidades mayores y menores; grados de la escala y triadas pertenecientes a los grados del a escala. Logra intuir la polifonía musical aproximándose a la separación de líneas musicales y también ayuda a discernir diferencias musicales como tipos de piezas, compositores, periodos musicales con simplemente visualizar la animación. De esta manera cumple el objetivo de convertirse en una herramienta para la enseñanza de la apreciación musical. Faltaría solamente evidenciarlo y demostrarlo mediante disciplinas inherentes a la comprobación y el desarrollo de pruebas educativas, psicofísicas y otras disciplinas relacionadas. Para llegar a los resultados visuales, el proyecto, tuvo que experimentar variadas relaciones gráficas, unidas a los conceptos musicales, convocando así al nacimiento intrínseco de un nuevo ”lenguaje” de comunicación musical. Este sistema está más cerca de alcanzar un tipo de experiencia sinestésica, provocando también una base para la creación más acertada del fenómeno sincrónico visual-musical. Otro logro es instrumentar la relación del protocolo MIDI con el secuenciador Qlist de Pure Data, convirtiéndolo en un medio de transformación del lenguaje binario de un archivo MIDI a un archivo con el protocolo Qlist. La ventaja es que cualquier programador en Python puede valerse de este desarrollo y aprovechar el sistema para extraer información del protocolo MIDI para emplearlo en su propio beneficio. Otro beneficio es haber logrado la entrada de una secuencia MIDI a Pure Data obteniendo variables fáciles de manejar. En el campo de la animación, la posibilidad de usar la curva 3d (el plano) fue implementada de manera sencilla, al desarrollar un sistema que permite la variación de valores en los tres ejes cartesianos, de manera que se pueden desplazar de una manera ordenada y cómoda. Mediante esta creación se pueden experimentar muchas formas y unir éstas variables controladas creando movimiento del plano en tiempo real. Otro desarrollo que facilitó el proceso de animación fue la creación de un

  • control simple para transformar rápidamente los valores RGB, logrando tener todas las gamas de color en un simple control, así mismo para esta aplicación se diseño otro control con el que se puede degradar u oxidar el color sin perder la tonalidad de color original. Una aplicación más consistió en hacer un centro de mando para manipular las propiedades de las luces y a la cual se le añadió la aplicación de color; es decir, que para posteriores desarrollos en GEM ya no sería necesario programar cada luz sino que al utilizar ésta estructura se tiene acceso a grandes posibilidades para la luz y su color. En conclusión los programas creados en Pure Data fueron desarrollos para hacer posible la rápida manipulación de las animaciones en tiempo real del entorno gráfico GEM, mediante estructuras diseñadas, facilitando el uso de las propiedades y de los objetos de animación. Los recursos y las posibilidades encontrados en el software libre son poderosas y suficientes para desarrollos posteriores del sistema. Además, la comunidad que rodea el código abierto es supremamente bondadosa en facilitar el aprendizaje de las herramientas Open Source.

  • DISEÑO DE UN SISTEMA QUE GENERA ANIMACIÓN

    A PARTIR DE SECUENCIAS MUSICALES MIDI

    SEBASTIÁN GONZÁLEZ DÍAZ

    20043167068

    UNIVERSIDAD DE SAN BUENAVENTURA

    FACULTAD DE INGENIERÍA

    PROGRAMA DE SONIDO

    BOGOTÁ

    2011

  • DISEÑO DE UN SISTEMA QUE GENERA ANIMACIÓN

    A PARTIR DE SECUENCIAS MUSICALES MIDI

    SEBASTIÁN GONZÁLEZ DÍAZ

    20043167068

    Proyecto de Grado

    UNIVERSIDAD DE SAN BUENAVENTURA

    FACULTAD DE INGENIERÍA

    PROGRAMA DE SONIDO

    BOGOTÁ

    2011

  • Nota de aceptación

    ______________________________

    ______________________________

    ______________________________

    ______________________________

    ______________________________

    ______________________________

    Jurado

    ______________________________

    Jurado

    Bogotá, 30 de mayo de 2011

  • AGRADECIMIENTO

    Primero que nada doy gracias a Él Todo, de quien nace y se crea la primera causa, por la cual todos provenimos y existe la unidad, es por él que puedo ser y tengo la fortuna de poder modificar la materia y la energía para crear. No podría faltar mi madre, María Fernanda Díaz, gracias a su ejemplo y su gran valentía he salido adelante, su fuerza y coraje que nos ha impulsado a mí y a toda la familia por ser cada día mejores. A mi padre, José Luis González, su sabiduría y consejos aunque a veces necios, me dieron la visión para el desarrollo de este proyecto, gracias por toda su ayuda; el cariño de mi abuelita, la paciencia de Santiago, el apoyo de Natalia y la compañía de Simón. Son muchas más las personas a las que debo y quiero agradecer, todas y cada una de ellas que me prestaron atención y contribuyeron a esta idea, entre ellos quiero destacar a: Ingeniero Carlos Andrés Cabas El Señor Hernán Espinoza Doctor Jaime Durán Maestro Jaime Morán Ingeniero Luis Andrés Murcia Físico Luis Jorge Herrera Ingeniero Manuel Dávila Ingeniero Miljail Posada Diseñador Oscar Mauricio Reyes La Señorita Roxana Puente Por último agradezco la maravillosa contribución de los desarrolladores en código abierto, creadores de programas que hicieron posible la construcción de éste sistema como MIDICSV, Python, Pure Data y GEM, Rose Garden; para ellos mi más profunda admiración por su trabajo.

  • RESUMEN

    El presente Trabajo de Grado logra generar un sencillo lenguaje gráfico que

    traduce la música en imágenes sincrónicas; parte de las expresiones musicales

    académicas traducidas al protocolo de comunicación MIDI, para ser transformada

    la información haciendo uso del software libre, en órdenes de entorno gráfico, para

    estructurar dicha animación bajo los parámetros de la teoría musical, generando

    así una experiencia visual de la música controlada mediante una interfaz. El

    lenguaje visual creado puede dirigirse entre otras cosas a la enseñanza de la

    apreciación musical en todas las edades.

  • TABLA DE CONTENIDO

    INTRODUCCIÓN ..............................................................................................................................7

    1. PLANTEAMIENTO DEL PROBLEMA ..............................................................................8

    1.1. ANTECEDENTES .............................................................................................................8

    1.2. DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA ........................................... 13

    1.3. JUSTIFICACIÓN ............................................................................................................ 14

    1.4. OBJETIVOS DE LA INVESTIGACIÓN ...................................................................... 17

    1.4.1. OBJETIVO GENERAL ........................................................................................................ 17

    1.4.2. OBJETIVOS ESPECÍFICOS .............................................................................................. 17

    1.5. ALCANCES Y LIMITACIONES DEL PROYECTO .................................................. 18

    1.5.1. ALCANCES .......................................................................................................................... 18

    1.5.2. LIMITACIONES .................................................................................................................... 19

    2. METODOLOGÍA ................................................................................................................ 20

    2.2. HIPÓTESIS ..................................................................................................................... 25

    3. NUCLEOS PROBLÉMICOS / LÍNEA DE INVESTIGACIÓN DE LA FACULTAD /

    LÍNEA DE INVESTIGACIÓN DE LA UNIVERSIDAD .............................................................. 25

    3.1. NÚCLEOS PROBLÉMICOS ........................................................................................ 25

    3.2. LÍNEA DE INVESTIGACIÓN DE LA FACULTAD ................................................... 25

    3.3. LÍNEA DE INVESTIGACIÓN DE LA UNIVERSIDAD .............................................. 26

    4. MARCO DE REFERENCIA .............................................................................................. 26

    4.1. MARCO TEÓRICO – CONCEPTUAL ........................................................................ 26

    4.1.1. PYTHON ................................................................................................................................ 26

    4.1.2. TKINTER ............................................................................................................................... 28

    4.1.3. MIDICSV ................................................................................................................................ 28

    4.1.4. COMUNICACIÓN OPEN SOUND CONTROL ................................................................ 29

    4.1.5. PURE DATA ......................................................................................................................... 30

    4.1.6. MIDI ........................................................................................................................................ 31

    4.1.7. TEORÍA MUSICAL .............................................................................................................. 32

    4.1.8. SIGNIFICADO DE LA APRECIACIÓN MUSICAL ......................................................... 32

    4.1.9. LA IMAGEN .......................................................................................................................... 34

    4.2. MARCO LEGAL O NORMATIVO ............................................................................... 34

  • 4.2.1. LICENCIA DE MIDICSV ..................................................................................................... 34

    4.2.2. LICENCIA DE Python Y TKINTER .................................................................................. 35

    4.2.3. LICENCIA DE PURE DATA Y GEM ................................................................................. 35

    5. DESARROLLO INGENIERIL ........................................................................................... 37

    5.1. ESTRUCTURA DEL PROGRAMA ............................................................................. 37

    5.2. DESCOMPILADO DE ARCHIVOS MIDI EN PYTHON ........................................... 39

    5.3. CONTEO DE EVENTOS ON Y OFF ........................................................................... 40

    5.4. FILTRADO, LISTAS, Y EVENTOS IMPORTANTES ............................................... 41

    5.5. HERRAMIENTA DE ANÁLISIS ................................................................................... 43

    5.6. MÉTODO DE ANÁLISIS MÚSICAL PARA UNA SECUENCIA MIDI ................... 51

    5.6.1. MATRIZ CONCATENADA “evnt=[ ]” DE NOTAS SIMULTANEAS POR DURACION ............................................................................................................................................. 53

    5.7. ANÁLISIS - SECUENCIA MIDI - TEORÍA MUSICAL ............................................. 56

    5.7.1. DICCIONARIOS REQUERIDOS PARA EL ANÁLISIS ................................................. 57

    5.7.2. ANÁLISIS DE ALTERACIONES Y BÚSQUEDA DE LA TONALIDAD ...................... 59

    5.7.3. DEFINIENDO LA TONALIDAD ......................................................................................... 66

    5.7.4. USO DE LA TONALIDAD .................................................................................................. 71

    5.7.5. TRIADAS Y FUNCIONES ARMÓNICAS DE LA SECUENCIA ................................... 75

    5.7.6. LISTA DE ORDENES PARA PURE DATA ..................................................................... 77

    5.8. MOVER ARCHIVOS GENERADOS AL DIRECTORIO GEM ................................ 88

    5.9. PROGRAMACIÓN EN PURE DATA .......................................................................... 88

    5.9.1. QLIST, PYPD, SECUENCIA DE EVENTOS ................................................................... 89

    5.9.2. PROTOCOLO MIDI EN PURE DATA .............................................................................. 92

    5.9.3. VENTANA DE ANIMACIÓN GEM .................................................................................... 93

    5.9.4. PROGAMACION DEL PLANO CURVE3D ...................................................................... 94

    5.9.5. PROGRAMACIÓN DE COLOR Y DE LUCES SPOT LIGHT ....................................... 96

    5.9.6. PROGAMACIÓN DE LAS ESFERAS ............................................................................ 109

    5.9.7. PROGRAMACIÓN DEL COLOR DE NOTAS PARA .................................................. 115

    5.9.8. MONITOR ............................................................................................................................ 118

    5.10. PROGRAMACIÓN DE LA INTERFAZ GRÁFICA EN TKINTER ..................... 119

    5.10.1. ESTRUCTURA DE LA INTERFAZ ................................................................................. 120

    5.10.2. INICIANDO EL PROGRAMA ........................................................................................... 121

    5.10.3. LA FUNCIÓN __INIT__ ((( MUSIC ))) ((( GARDEN ))) .............................................. 122

    5.10.4. LA FUNCIÓN INICIO ......................................................................................................... 123

    5.10.5. LA FUNCIÓN BUSCAR .................................................................................................... 125

  • 5.10.6. LA FUNCIÓN AUXSLCTON ............................................................................................ 130

    5.10.7. LA FUNCIÓN SLCTON .................................................................................................... 132

    5.10.8. LA FUNCIÓN AXMG ......................................................................................................... 133

    5.10.9. LA FUNCIÓN MG .............................................................................................................. 134

    5.10.10. LA FUNCIÓN AUXABRIRPD ...................................................................................... 135

    5.10.11. LA FUNCIÓN ABRIRPD .............................................................................................. 136

    5.10.12. LA FUNCIÓN AUXVENTANA ..................................................................................... 137

    5.10.13. LA FUNCIÓN VENTANA ............................................................................................. 138

    5.10.14. LAS FUNCIONES TEST 1 ,2, 3, 4 .............................................................................. 139

    5.10.15. LA FUNCIÓN AUXPLAYSTOP ................................................................................... 140

    5.10.16. LA FUNCIÓN PLAY ...................................................................................................... 141

    5.10.17. LA FUNCIÓN STOP ...................................................................................................... 141

    5.10.18. LA FUNCIÓN SALIR .................................................................................................... 142

    6. PRESENTACIÓN Y ANÁLISIS DE RESULTADOS .................................................. 142

    6.1. REQUISITOS PARA LA EJECUCION DE MUSIC GARDEN .............................. 142

    6.2. INICIO DE LA INTERFAZ GRÁFICA ....................................................................... 143

    6.3. ANIMACIÓN ................................................................................................................. 150

    6.3.1. ALTURA Y PALETA DE COLORES POR TONALIDAD ............................................ 150

    6.3.2. TONALIDADES MAYORES Y MENORES .................................................................... 151

    6.3.3. VELOCIDAD DE NOTA PIANO-FORTE ........................................................................ 152

    6.3.4. NOTAS SIMULTÁNEAS CONSONANCIAS Y DISONANCIAS ................................ 152

    6.3.5. GRADOS DE LA ESCALA Y TRIADAS ........................................................................ 153

    6.4. DETRÁS DE LA INTERFAZ Y LA ANIMACIÓN .................................................... 155

    7. CONCLUSIONES Y RECOMENDACIONES .............................................................. 158

    7.1. CONCLUSIONES ........................................................................................................ 158

    7.2. RECOMENDACIONES ............................................................................................... 161

    8. BIBLIOGRAFÍA ................................................................................................................. 163

    GLOSARIO .................................................................................................................................... 166

  • INTRODUCCIÓN

    En la década de los 60´s Stephen Anthony Malinowski, compositor americano e

    ingeniero de software, tuvo la idea de usar las nuevas tecnologías de la

    información para ver la música. Graficó mediante software las líneas melódicas de

    una sonata de Bach para violín, donde hizo que dichas líneas siguieran la música.

    Así, empezó a diseñar y a construir una máquina de animación musical, que

    finalmente se convirtió en un programa que representa las voces musicales

    mediante imágenes abstractas y logra un fuerte vínculo entre la música y la

    imagen. A partir de estos primeros logros poco a poco surge la idea de generar

    animaciones a partir de los principios de la música, cuya estructura, establecida

    mediante el análisis de programación de sistemas, es llevada hacia el control de

    la animación. Para facilitar dicho análisis se usa el protocolo MIDI.

    El Proyecto de Grado es una alternativa para el procesamiento de la información

    musical hallada en una secuencia MIDI, que establece, a través de la

    programación, métodos de análisis que posibilitan la exploración musical de

    dichos eventos. Crea un enlace entre música e imagen en movimiento en tiempo

    real que permite la exploración de nuevas secuencias.

    Uno de los aportes más significativos de este Proyecto es el uso de software libre,

    de uso y distribución gratuita, lo que hace que el producto sea accesible a todo el

    público y que no requiera de mayores recursos. Por lo tanto el Proyecto es firme

    en el propósito de que los desarrollos logrados compartan la filosofía de software

    libre y que su código fuente esté abierto para quienes deseen modificarlo de

    acuerdo con la Licencia Pública General de GNU Opening Service, llamada

    comúnmente GPL de GNU1.

    1 GNU Operating System [en línea]. < http://www.gnu.org/licenses/quick-guide-gplv3.html > [citado en

    06/04/11 de 2011]

  • 1. PLANTEAMIENTO DEL PROBLEMA

    1.1. ANTECEDENTES

    La visualización de la música puede rastrearse desde las primeras intenciones del

    hombre de plasmar con grafismos su estructura. La manera fundamental de

    visualizar la música es la propia escritura musical y una parte de la paleografía

    (ciencia que estudia las escrituras antiguas) que se centra en la escritura musical,

    se refiere a la “notación”, del latín notatione-notationis, que se refiere a la

    representación de la música por medio de signos convencionales. Draffkorn-Kilmer

    encontró una tablilla datada hacia el 1500 a.C. que habla del Himno a la Creación;

    en Grecia el fragmento más antiguo es un papiro que contiene un pasaje coral de

    una comedia de Orestes. s. I a.C. Siglos más tarde aparecen las notaciones

    neumáticas latinas como una manera más evolucionada de visualización de la

    música, que relativamente aparece entre el s. VIII y el s. IX, junto con el uso de

    puntos o marcas, donde cada uno de esos puntos representa una nota.

    Posteriormente hacia el s. X en la notación diastemática los neumas están

    cuidadosamente situados distanciándose según su altura en relación a una línea;

    después aparece la notación cuadrada y para el s. XI al s. XII se puede decir que

    aparece la notación polifónica primitiva y la idea de tono y semitono. Este sistema

    funciona con tetracordos pero que no parten del de abajo sino del central

    (re,mi,fa,sol)2.

    En el s. XI aproximadamente entre los años 992 al 1050, el monje benedictino

    Guido de Arezzo desarrollo de la notación absoluta de las alturas (en la que cada

    nota ocupa una posición en la pauta de acuerdo con la nota deseada), fue el

    idealizador del solfeo, sistema de enseñanza que permite al estudiante cantar los

    2 HISTORIA DE LA NOTACIÓN: Dra. Beatriz Montes [en línea].

    [citado en 07-04-

    2011]:

  • nombres de las notas, los nombres fueron sacados de las primeras sílabas

    iniciales de un Himno a San Juan Bautista, llamado Ut queant Laxis, escritas por el

    historiador lombardo Pablo el Diácono, en el Siglo VIII. Posteriormente, en el siglo

    XVII, Giovanni Battista Doni sustituyó la nota ut por do, que facilitaba el solfeo por

    terminar en vocal y creando así el sistema de notación con pautas de cinco líneas

    que se convirtió en el patrón para toda la música occidental manteniéndose así

    hasta el día de hoy3.

    Ut queant laxis Para que puedan

    Resonare fibris Con toda su voz

    Mira gestorum Cantar tus maravillosas

    Famuli tuorum Hazañas estos tus siervos,

    Solve polluti Deshaz el reato de

    Labii reatum Nuestros manchados labios

    Sancte Ioannes ¡Oh, bendito San Juan!4

    Otro de los grandes hechos que contribuyen a la visualización de la música es la

    ópera, “obra teatral cuyo texto se canta, total o parcialmente, con acompañamiento

    de orquesta”5 y que aparece entre las décadas de 1570 y 1580, desarrollado por

    artistas y profesores llamados la Camerata Florentina en torno al conde Giovanni

    Bardicon con el fin de dar vida nuevamente al arte dramático de la antigua

    Grecia6.

    La historia de los primeros pasos de sincronización de la imagen y el sonido,

    aparece en el cine sonoro. Los hermanos Lumiére, en 1897, contrataron un

    cuarteto de saxofones para que acompañase a sus sesiones de cinematógrafo en

    su local de París y hubo compositores de valía, como Saint-Saéns que 3 Ibíd. (HISTORIA DE LA NOTACIÓN: Dr. Beatriz Montes [en línea]).

    4 Lloyd Ultan: Music theory: problems and practices in the Middle Ages and Renaissance (pag 32)

    5Diccionario De La Lengua Española RAE [en línea].

    >http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=cultura > [citado en 07-04-2011] 6 Historia de la Ópera desde sus orígenes hasta los Musicales: Rojas Zeledón Ivette [en línea].

    [citado en 07-04-2011]

  • compusieron partituras para acompañar la proyección de una película. En 1877

    usando el fonógrafo y el cinematógrafo y gracias a los inventos de Thomas Alba

    Edison, se echan las bases de la sincronización imagen-audio. En el año 1893, el

    físico francés Démeny inventó lo que se llamó fotografía parlante y en 1922 Jo

    Engel, Hans Vogt y Joseph Massole presentan el primer film, Der branstifer

    incorporando las aportaciones del ingeniero norteamericano Lee de Forest, dando

    lugar al Movietone, entonces Lee de Forest presenta su invento llamado Phonofilm

    que grababa el audio encima de la película. Nuevamente Lee de Forest en 1926,

    por medio de la Warner Brothers, logra un producto mejorado llamado el

    Vitaphone de sincronización disco-imagen con la que graba una pieza interpretada

    por la New York Philarmonic Orchestra, una pieza de violín tocada por Mischa

    Elman, una audición de la cantante Anna Case y la película de Alan Crosland, Don

    Juan. Finalmente Iwan Serrurier en 1924 crea la Moviola como una gran

    innovación en la edición de películas en film7.

    La imagen construida a partir de la música puede hallar una referencia directa en

    la película “Fantasía” De Walt Disney en 1940. Su característica principal es que

    se trata de una animación con música académica y casi no hay diálogos. Fue

    grabada bajo la dirección de Leopold Stokowski y siete de las ocho piezas fueron

    interpretadas por la Orquesta de Filadelfia. El arte animado posee diferentes

    grados de abstracción o de la literalidad utilizada con el fin de ilustrar y acompañar

    el concierto de varias formas visuales8.

    También como antecedente existe el Videoarte que nació con la creación

    magnetoscopio –portapack- que Sony envía a EE.UU., a Nueva York

    concretamente, y que compra el músico Nam June Paik y que dio lugar a un

    extenso conjunto de acciones y tipos de obras artísticas entre las que se

    encuentran las videoinstalaciones, las videoperformances, los videoambientes y

    7Enrique Martínez-Salanova Sánchez: EL Cine Sonoro [en línea].

    [citado en 07-04-2011] 8 Tomlinson Holman: Surround Sound Up And Runnig (pag 4, 16)

  • las videoesculturas. Durante los primeros años del vídeo se produjo una frecuente

    y fructífera colaboración entre los artistas de la música y los artistas de la imagen.

    Paik procedía de la música electrónica y John Cage era, a través de Paik, el

    músico de vanguardia que más cerca estuvo de la creación videográfica. Por su

    parte, Gary Hill investigó las relaciones entre sonido e imagen hasta conseguir

    visualizar sus vibraciones y reproducir la estructura de la materia sonora en la

    gama de grises de la imagen en blanco y negro, como sucede en Elements

    (1978), Sums & Differences (1978) y Soundings (1979). Consigue, en esta última

    cinta, convertir el sonido en movimientos y sensaciones táctiles, a través de las

    imágenes del altavoz que modifica los materiales con los que entra en contacto”9.

    Un fuerte referente nace en 1989 donde Wayne Lytle funda la Animusic con el fin

    de animar la música de instrumentos. Este artista ha ganado premios y se ha

    presentado en diversos contextos electro-acústicos a nivel mundial. En 1991 Lytle

    recibió un premio de IBM para su primer trabajo en la animación de la música. En

    1995 Lytle trabajó con el artista David Crognale, creando una animación

    estereoscópica para VRex, la premiada versión llamada “Concierto en 3D”, y la

    versión normal llamada “Más allá de los Muros”, después publicó “Animusic:

    Special Edition” en DVD con sonido envolvente 5.1, después publicó “Animusic 2”

    y ya anunció la publicación de “Animusic 3.”10 Sin embargo las visualizaciones en

    tiempo real a partir de una señal solo se dan cuando aparecen los reproductores

    de audio en los computadores personales. Es así como en 1985 con un software

    llamado “Sound to Light Generator”, muy usando para mediados y finales de los

    noventas, se implementaron programas como Winamp, Audion, y el SoundJam.

    Luego aparece Cthugha en 1994 para DOS y después, en 1999, ya había varias

    docenas de software que se distribuían libremente para la visualización musical.

    En particular el MiljDrop creado por Ryan Geiss, G-Force por Andy O'Meara, y

    Advanced Visualization Studio (AVS) por Nullsoft, fueron grandes visualizadores

    9 Dra. Ana María Sedeño Valdellós: Artículo publicado en Julio del 2007 en la revista nº 0004 de Sinfonía

    Virtual, España (pag 4). 10

    Animusic: (página oficial) [en línea]. [citado en 07-04-2011]

  • de música, AVS ahora es parte de Winamp y publicó su código fuente para libres

    desarrollos (open-sourced); G-Force un producto de la compañía de Andy

    O'Meara (creadora del SoundSpectrum), fue aprobada para su uso en iTunes, y en

    Windows Media Player11.

    Otras opciones que han crecido con el pasar de los tiempos son software que se

    utilizan para mezclar videos en tiempo real, fenómeno al que se le ha llamado

    videojockey o VJ y que consiste en la actividad de proyectar visuales sobre la

    performance musical de un discjockey; su antecedente originario está en la

    “Factory” de Andy Warhol, donde había personajes que sincronizaban imágenes

    proyectadas como fondo a las bandas que tocaban allí. Otros maestros son Lucky

    People Centre o Exploding Cinema. Más tarde, en los ochenta, se da el auge de

    ciertas bandas y artistas como Kevin Godley & Lol Creme y sus videoclips y el

    fenómeno de la música dance. Su desarrollo se ha acelerado desde la aparición

    de ciertas condiciones tecnológicas que han ampliado el número de posibilidades

    y han hecho más accesible el acceso a esta actividad12.

    Finalmente quien más se ha acercado al propósito de generar imágenes a partir

    de la música como apreciación musical en tiempo real es el mencionado Stephen

    Anthony Malinowski, quien en 1981 decide escribir un programa mediante una

    maquina llamada ATARI 800 (BASIC, FORTH, 6502 Assembler); en 1983 con la

    aparición de MIDI Malinowski fue puliendo cada vez más su proyecto hasta lograr

    la Music Animation Machine que existe hoy en día13.

    11

    PRIETO, Darío: “Imágenes de recorta y pega: Música de colores” en La Luna del Siglo XX, n. 230, 11 de

    julio de 2003 12

    Dra. Ana María Sedeño Valdellós: Artículo publicado en Julio del 2007 en la revista nº 0004 de Sinfonía

    Virtual, España. 13

    Music Animation Machine (página official) [en linea].

    [citado en 16/10/09 de 2009]

  • 1.2. DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA

    A lo largo de la historia el ser humano buscó visualizar la música y representarla

    de forma gráfica, desde la primitiva notación musical, pasando por el arte

    operático y el cine, hasta las últimas interfaces digitales; de tal manera que, cada

    vez más, los últimos desarrollos tecnológicos e industriales han logrado traducir la

    creación auditiva en una creación visual que corresponda con el sentido del arte

    musical. Sin embargo, a pesar de los numerosos intentos de representar la música

    visualmente, no se ha aprovechado suficientemente las nuevas tecnologías

    digitales para convertir la información musical en un lenguaje gráfico coherente

    con su estructura teórica en tiempo real y en aplicar estos logros a la enseñanza

    musical. Aún no se ha desarrollado, a través de la ingeniería, un algoritmo que

    permita “transformar” la música, mediante el protocolo MIDI, en órdenes que

    vayan dirigidas a la animación de un entorno gráfico, creando, mediante la

    programación, una interfaz gráfica que enlace los programas necesarios para tal

    propósito, brindando la posibilidad de interactuar con el usuario. Por ello surge la

    siguiente pregunta:

    ¿Cómo diseñar un sistema que permita relacionar la teoría musical y la expresión

    gráfica con el fin de crear un método dirigido hacia la enseñanza de la apreciación

    musical utilizando software libre?

  • 1.3. JUSTIFICACIÓN

    El ingeniero de sonido puede aliar la parte ingenieril con la parte artística. Este

    Proyecto toma en cuenta factores artísticos que son posibles de analizar a través

    de la abstracción y los conocimientos de carácter ingenieril, con el propósito de

    crear algoritmos que logren la transformación de la información musical en

    imágenes coherentes y sincrónicas. Por esta razón, la ingeniería de sonido es un

    campo propicio para la creación de este tipo de interfaz.

    La importancia de este trabajo radica en presentar a las personas interesadas una

    experiencia que pueda caber en la categoría de sinestesia14 consistente en lograr

    “ver la música”, mediante el uso del software libre y la programación,

    desarrollando un sistema que pueda analizar la música de una secuencia MIDI y

    generar órdenes enviadas hacia una animación, para que ésta se ejecute en

    tiempo real. Se proyecta, así, un enlace entre la imagen y la música con miras a

    instrumentar la enseñanza de la apreciación musical, para que las personas

    puedan entender la música, no como un complejo tonal, es decir, una mezcla de

    sonidos en presente, sino enmarcada en un espacio visual, temporalmente más

    tranquilo y con más oportunidades didácticas. Así mismo este Proyecto es una

    aproximación al aprendizaje de la comprensión teórico-musical de quienes, al “

    visualizar la música “, podrán ver su arquitectura y establecer una relación entre

    varios parámetros musicales como tonalidad, altura, ritmo, escalas, acordes,

    intensidad, consonancia, disonancia y parte de las funciones armónicas, así como

    un acercamiento a la polifonía.

    Para “visualizar la música” usando las nuevas tecnologías de la computación, es

    necesario cumplir con varias etapas como, primero, establecer el enlace en tiempo

    real de un lenguaje de programación con un secuenciador de eventos MIDI y un

    motor de animación dispuesto a actuar mediante órdenes; segundo, realizar el

    14

    SYNAESTHESIA.COM: [en línea]. < http://www.synaesthesia.com/ > [citado en 17/04/04 de 2011]

  • análisis de secuencias MIDI a través de un lenguaje de programación basado en

    la teoría musical, para generar ordenes de animación; tercero, crear la relación

    entre música y lenguaje visual frente a los distintos conceptos teóricos tanto de la

    música como del lenguaje gráfico, para aplicarla a los elementos extraídos de una

    secuencia MIDI; cuarto, diseñar la animación; y quinto, diseñar una interfaz

    grafica capaz de reunir y acoplar todos los elementos descritos en las etapas

    anteriores.

    Algunas de estas etapas han llegado a ser grandes proyectos de la teoría del arte

    como los de Alexander Scriabin, Olivier Messiaen15 y Vassily Kandinsky16, que

    establecieron la relación entre la música y el color; en el campo de la

    programación, los que establecieron la comunicación entre distintos programas

    para que funcionen en tiempo real como el OSC (Open Sound Control); o el

    proyecto de la pianista Carmen Paz17, que relaciona nuevamente los colores y la

    música tratando de crear su propia sinestesia; o el proyecto Audiogames18 que

    consiste en crear un “espacio sonificado” interactivo en donde la “etapa de

    sincronización” es vital para su desarrollo. Así pues, apoyar efectivamente la

    composición o la enseñanza de la apreciación musical, por medio de un programa,

    es un trabajo bastante amplio que requerirá el trabajo de diferentes disciplinas

    como la ingeniería de sistemas, la música, el diseño gráfico aplicado a la

    multimedia, entre otras. Por eso este proyecto es una aproximación dirigida a la

    enseñanza de la apreciación musical buscando caminos para desarrollar todas las

    etapas y dejando este conocimiento para su posterior contribución proyectándose

    en el campo de la “visualización musical”.

    15

    LOS COLORES, VEO LA MÚSICA. EL COMPOSITOR SINESTÉSICO OLIVIER MESSIAEN: Pérez

    Navarro, Daniel [en línea]. < http://www.filomusica.com/filo48/sinestesia.html > [citado en 17/04/04 de

    2011] 16

    DE LO ESPIRITUAL EN EL ARTE: Kandinsky, Vassily (1952). 17

    COLORES/PROYECTO DE FINAL DE CARRERA: Carmen Paz [en línea].

    [citado en 17/04/04 de 2011].

    18 AUDIOGAMES: [en línea]. < http://wiki.medialab-prado.es/index.php/Audiogames> [citado en 17/04/04 de

    2011]

  • Hay una gran variedad de formas de representar la música visualmente, que van

    desde las comunes visualizaciones que usan los reproductores de multimedia, o

    los programas que mezclan “loops” de videos e imágenes y que son usados por

    los software llamados VideoJockeys (VJ), como el Arkaos VJ o el Resolume VJ,

    entre muchos otros; hasta las animaciones diseñadas para la música, como las

    “músic machines”, que construyen imágenes que corresponden a la música. El

    referente cásico es la película “Fantasía” de Walt Disney. Pero son muy pocos los

    que realmente se interesan por representar la estructura teórica musical, como lo

    hace la “Music Animation Machine”. El propósito de este proyecto es ir más allá,

    con una interfaz gráfica que convierta la estructura musical en un lenguaje gráfico

    coherente y sincrónico que pueda llegar a establecer una fuerte relación entre la

    música y la imagen, teniendo en cuenta que las interfaces en tiempo real que

    permiten al usuario ver cierta correspondencia entre la música y lo visual, son aún

    aplicaciones básicas y sin el componente didácticos.

    Se hace uso del protocolo MIDI, porque es el protocolo en que está escrita la

    música en el lenguaje de digital; por lo tanto es la forma más directa de manipular

    la información musical en el entorno de las nuevas tecnologías de la información y

    de la comunicación.

    Este proyecto ha sido completamente factible porque se cuenta con recursos

    teóricos de programación, además de que el software utilizado es libre, gratuito,

    amplio y abierto para realizar éste tipo de proyectos y no se requiere más recursos

    que el computador personal e Internet.

  • 1.4. OBJETIVOS DE LA INVESTIGACIÓN

    1.4.1. OBJETIVO GENERAL

    Crear un sistema que genere animación a partir de secuencias musicales MIDI

    como la base para crear una herramienta dirigida hacia la enseñanza de la

    apreciación musical, utilizando software libre.

    1.4.2. OBJETIVOS ESPECÍFICOS

    Transformar y analizar el protocolo MIDI a través de un lenguaje de

    programación, para convertir la información en órdenes de entorno gráfico.

    Estructurar los parámetros que permitan relacionar la música con la animación

    gráfica a través del protocolo MIDI usando un entorno de desarrollo de

    programación como Pure Data.

    Desarrollar una interfaz gráfica que permita al usuario interactuar enlazando las

    herramientas visuales con el protocolo MIDI.

  • 1.5. ALCANCES Y LIMITACIONES DEL PROYECTO

    1.5.1. ALCANCES

    Crear un sistema suficientemente amplio que apoye la composición y enseñanza

    de la apreciación musical, de tal manera que pueda abarcar aspectos

    fundamentales de la estructura musical como las funciones armónicas y las formas

    musicales, logrando de esta manera un programa de análisis musical exhaustivo y

    profundo.

    Instrumentar el desarrollo de imágenes animadas en Blender, dotándolas de una

    narrativa acorde con el análisis y además de características visuales de la

    animación en 3D, incluso haciendo uso de estereoscopía. Este análisis se puede

    lograr implementando el código de Python en el motor de juegos Blender Game

    Engin.

    El Proyecto podría convertirse en un objeto de estudio e investigación para

    disciplinas como la musicología, la psicología, la educación y la música. Puede

    utilizarse como un recurso para las personas con limitaciones auditivas para que

    puedan llegar a visualizar imágenes que representan la música.

    Lograr un espacio interactivo entre música y lenguaje visual en tiempo real, en el

    que la animación acompaña al intérprete a través de la obra.

    Desarrollar una herramienta que permita manipular los parámetros de la imagen

    de forma interactiva y tener la posibilidad de desarrollar animaciones, por ejemplo,

    un programa inteligente que aprenda la estructura musical y que, al volver a repetir

    la pieza, le agregue más formas a la animación, pidiendo al usuario confirmación

    entre los pasos de repetición.

  • Usar este sistema como una herramienta para el aprendizaje musical y para la

    composición musical.

    Usar el programa en otras plataformas como Linux y Macintosh.

    Lograr, a través de la automatización de objetos animados en Pure Data, controlar

    loops de video, luces, máquinas en tiempo real o también a partir del análisis de

    una secuencia musical MIDI.

    1.5.2. LIMITACIONES

    Pure Data es una herramienta poderosa con variadas aplicaciones, pero presenta

    dificultad al no disponer de una herramienta directa para programar objetos de una

    manera simple, utilizando condicionales, ciclos o vectores, como en la

    programación convencional, a menos que se desee entender el código fuente y

    desarrollar la aplicación (objeto) que se necesita.

  • 2. METODOLOGÍA

    Para el desarrollo del sistema se ha creado una estructura metodológica que

    desglosa cada una de las etapas de la siguiente manera:

    Generar un protocolo de información que haga uso de la secuencia MIDI

    para que Pure Data sea capaz de enviar información MIDI hacia un

    instrumento virtual, en tiempo real.

    Generar un programa para que el software de animación GEM entienda la

    información recibida y la ejecute en tiempo real.

    Crear un lenguaje visual sencillo para representar varios elementos de la

    estructura musical.

    Crear la comunicación necesaria para que Pure Data entienda las órdenes

    generadas por el programa de análisis y genere la animación.

    Hacer una interfaz gráfica que permita manipular y enlazar los programas

    que deben ser usados.

    Para éste proyecto se ha escogido el contrapunto, que es una rama de la teoría

    musical que estudia la composición de música polifónica, mediante el enlace de

    dos o más melodías. Sin embargo, como este campo es bastante amplio en toda

    la música académica y sería muy ambicioso cubrir todo el contrapunto, se han

    escogido las “Invenciones y Sinfonías” BWV 772-801, de Johann Sebastian Bach,

    que son 30 breves piezas para piano, que sirven tradicionalmente al aprendizaje

    del contrapunto y que tuvieron el fin de enseñar al hijo del compositor; Friedman,

  • la polifonía19. Las Invenciones son 15 piezas a dos voces y las Sinfonías son 15

    piezas a tres voces. Bach, al componerlas, usó las escalas más sencillas,

    haciendo un pequeño clave bien temperado didáctico para sus hijos20. Luego se

    tomaron los dos libros de “El Clave Bien Temperado” BWV 846-869 y BWV 870-

    893, que son un conjunto grande de partituras usadas para el estudio de la

    interpretación polifónica, como también un referente cumbre para el estudio de la

    forma musical del periodo barroco en cuanto al preludio y la fuga21. Cada libro

    posee 24 grupos constituidos por un preludio y una fuga en todas las tonalidades

    mayores y menores de la gama cromática completando toda la escala cromática

    de mayor a menor. Es, por tanto, una colección enorme que comprende 48

    preludios y 48 fugas cuyo contenido es a la vez musical, teórico y didáctico.22

    Este trabajo está inicialmente dirigido hacia niños que ya tengan conocimientos

    musicales y nociones de armonía y contrapunto23, así como también a jóvenes que

    tengan la capacidad o estén cerca de interpretar las obras de “El Clave Bien

    Temperado”. Entonces, la interfaz mostrará a los usuarios, por medio de dos

    canales de comunicación: auditivo y visual, la forma cómo la música ha sido

    escrita y estudiada, con lo cual las obras podrán ser entendidas mucho más

    didácticamente, introduciéndolos en el significado y las estructuras en las cuales

    se escribieron.

    19

    Klaus Eidam: La verdadera vida de Johann Sebastian Bach (pag 117) 20

    BACH, J. S.: Inventions & Sinfonies BWV 772-801. 21

    “Clave bien temperado,” Enciclopedia Microsoft® Encarta® 2009 22

    Rosen, Charles: Bach y Händel, La Música para Teclado (Keyboard Music) (pag 26) 23

    Dr. H. Riemann: Analysis of J. S. Bach’s Wohltemperirtes Clavier (pag 11)

  • 2.1. DIAGRAMA DE FLUJO

    Ilustración 1: Diagrama de flujo general del sistema

    Se escoge a Python 2.7 como lenguaje de programación por la compatibilidad que

    existe con los programas que se quieren controlar, además, el uso de su sintaxis

    es amable con el usuario y también porque uno de los alcances de este proyecto

    es implementar el código desarrollado en Blender. La estructura del código del

    sistema está dada por programación orientada a objetos con el fin de facilitar el

    uso de cada uno del los sub programas que se van a desarrollar.

    Los archivos MIDI con extensiones *.mid o *.midi son archivos que se encuentran

    almacenados en formato binario y para su lectura se usó el programa gratuito

    MIDICSV, que toma el archivo y lo transforma en una lista de eventos con el

  • formato CSV (valores separados por comas). Es un tipo de programa denominado

    parsing (analizador). Luego, haciendo uso de Python, se analiza la secuencia MIDI

    entrante, ejecutando MIDICSV y capturando su resultado en un archivo de texto.

    Nuevamente con Python se toma la lista de eventos en texto y se procesa filtrando

    los valores relevantes para ser guardados en variables de tipo listas (matrices); los

    datos de interés hallados en el protocolo MIDI son la información relacionada a la

    parte musical.

    En algunos archivos MIDI la música aparece dispersa en diferentes tracks,

    entonces se resuelve unir todos los canales un uno solo ya que este proyecto está

    limitado a piezas para piano. Otra característica importante que debe tener en

    cuenta para el análisis, es la organización de los eventos de menor a mayor en

    cuanto a duración y las notas también de menor a mayor, cuando son

    simultáneas, puesto que en una secuencia dichas notas suelen aparecer

    dispersas. Cabe decir que este tipo de organización de la información digital no

    altera la obra musical. Una vez obtenida la información dentro de listas en Python,

    se debe crear un programa para descifrar la información guardada y crear archivos

    MIDI de prueba para experimentar los procesos que se van elaborando. Como se

    va a analizar un flujo de información, los valores resultantes deben ser de fácil

    manipulación, para ello se crean programas que establecen relaciones numéricas

    más cómodas para su entendimiento.

    Otro proceso importante es definir la duración de las notas en una secuencia por

    su valor individual y no por el orden de activación y desactivación referido a toda la

    secuencia, como un tiempo marcado con cronómetro (time). Para poder analizar la

    música no basta con tener una lista de eventos MIDI. Se opta por crear un método

    para poder visualizar la música dentro de los eventos; para ello hay que filtrar

    nuevamente la información despreciando las notas de apagado y tomando las

    notas de encendido. Como las notas simultáneas vienen una detrás de otra, es

    necesario poder verlas al tiempo, como en una partitura, así las notas simultáneas

  • pueden ser visualizadas verticalmente de una manera armónica. Entonces se

    puede crear una matriz concatenada para que las notas que suceden al mismo

    tiempo sean guardadas en un mismo vector por el tiempo o duración al que

    corresponde y así visualizar la música de una manera similar a una partitura.

    Teóricamente en un archivo MIDI, para saber a qué tonalidad pertenece una

    secuencia, se utiliza el evento KEY_SIGNATURE, pero no todos los archivos MIDI

    poseen este evento. Se debe crear un método para encontrar la tonalidad y

    establecer diccionarios acordes con la información pertinente, como los grados de

    la escala y, dependiendo de si es mayor o menor, agregarle las alteraciones

    correspondientes a los eventos para volver a analizar la secuencia, logrando el

    verdadero nombre de las notas y de las alteraciones. Más adelante se establecen

    las notas importantes de acuerdo con las funciones armónicas, así como las

    triadas en la secuencia, logrando deducirlas aunque estén invertidas.

    La documentación de Pure Data respecto a Qlist no es suficiente para su uso, por

    lo tanto hay que deducir cuál es el proceso para lograr leer cada evento y

    comunicárselo a la función que envía la información MIDI al sintetizador. Una vez

    es encontrada la manera de utilizar esta herramienta se va a utilizar no solo como

    un comunicador de eventos MIDI sino también como un receptor de otras

    informaciones útiles para generar ordenes a la animación.

    La animación debe tener relación con la música en diferentes aspectos, los

    objetos a representar como notas son esferas, el primer aspecto musical a

    representar será la altura dada por los valores de nota, entonces las esferas se

    desplazarán de acuerdo a una relación matemática en el eje horizontal, al activar

    una nota la esfera va a encenderse y rebotar, la velocidad de nota define su

    desplazamiento en el eje z es decir que a medida que aumenta la intensidad del

    sonido, las esferas se irán acercando y si la intensidad es suave las esferas se

    desplazarán hacia atrás, en el caso de que hayan notas simultaneas, habrán más

  • esferas una detrás de otra representando las notas segunda, tercera, cuarta etc.

    las esferas pueden tener un rastro que visualmente refiera a ésta y de donde a

    donde se está desplazando; por último las esferas van a adquirir un color y éste va

    a depender de la relación que se establecerá entre la música y la imagen.

    2.2. HIPÓTESIS

    Utilizando software libre, diseñar un sistema que permita relacionar la teoría

    musical y la expresión gráfica con el fin de crear un método dirigido hacia la

    enseñanza de la apreciación musical.

    3. NUCLEOS PROBLÉMICOS / LÍNEA DE INVESTIGACIÓN DE LA

    FACULTAD / LÍNEA DE INVESTIGACIÓN DE LA UNIVERSIDAD

    3.1. NÚCLEOS PROBLÉMICOS

    Este proyecto está desarrollado dentro del núcleo de “Análisis y Procesamiento de

    Señales”, ya que el sistema consiste en tomar una señal lineal (información MIDI

    en código binario) y transformarla en una señal bidimensional (imagen) que varía

    en el tiempo. En detalle, se está diseñando una herramienta mediante la

    programación que, vinculando varios software, logra crear un método de análisis

    para el protocolo MIDI, que a su vez genera información necesaria para que un

    software de animación actúe respecto de dicho análisis. Todo es controlado por

    una interfaz gráfica que enlaza la herramienta de análisis con el software que

    genera la animación y un secuenciador MIDI.

    3.2. LÍNEA DE INVESTIGACIÓN DE LA FACULTAD

    Este proyecto que, como ya se mencionó, se desarrolla dentro del campo de

    “Análisis y Procesamiento de Señales (APS)”, busca, a través de los métodos y la

  • conceptualización del campo de la ingeniería de sonido, instrumentar el desarrollo

    de nuevas tecnologías encaminadas al apoyo de la composición y la enseñanza

    de la apreciación musical, creando un sistema novedoso de automatización de la

    animación, mediante la construcción, análisis y enlace de programas, a partir de la

    información musical encontrada en el protocolo MIDI.

    3.3. LÍNEA DE INVESTIGACIÓN DE LA UNIVERSIDAD

    Dentro de las líneas de investigación de la Universidad de San Buenaventura y de

    acuerdo con el Consejo de Investigación Bonaventuriano (CIB), éste proyecto se

    inscribe en la línea “Tecnologías actuales y sociedad”, ya que busca desarrollar

    una interfaz interactiva, a través de la actualización constante de los

    conocimientos tecnológicos y por medio de software libre, relacionando de una

    forma directa la estructura y la teoría musical con un lenguaje visual sincrónico,

    generando animaciones, para el apoyo y desarrollo de la composición y de la

    apreciación musical, facilitando la enseñanza del contrapunto musical y

    contribuyendo al desarrollo de la educación musical en la sociedad.

    4. MARCO DE REFERENCIA

    En este capítulo se va a dar una mirada global de las herramientas importantes

    para el desarrollo que has sido necesarias para la creación del sistema.

    4.1. MARCO TEÓRICO – CONCEPTUAL

    4.1.1. PYTHON

    Python es un lenguaje de programación de alto nivel de sintaxis limpia, código

    legible y abierto; fue escogido para la generación del programa y lo tanto es

  • importante conocer algunas de sus propiedades y de las estructuras que pueden

    llegar a ser indispensables para la creación del sistema.

    La primera propiedad a considerar son las funciones24 que son un fragmento de

    código con un nombre que le identifica y que realiza una serie de tareas para

    devolver un valor. Si no devuelven un valor se le llaman procedimientos.25 Las

    funciones se elaboran en innumerables programas para analizar la información,

    hay bastantes ejemplos que pueden ser encontrados en Internet y en libros gratis

    subidos en la red. Las funciones son la base para la programación orientada a

    objetos donde se utilizarán las clases y los objetos. Un objeto es una entidad que

    agrupa un estado y una funcionalidad relacionados. El estado del objeto se define

    a través de variables llamadas atributos, mientras que la funcionalidad se modela

    a través de funciones a las que se les conoce con el nombre de métodos del

    objeto. Una clase, es una plantilla con la que se organiza los objetos, en esta

    plantilla se definen los atributos y métodos que tendrán los objetos.26

    Muchos de los procesos que se van a realizar, se hacen usando listas que son

    vectores dentro de Python, una variable en donde se pueden almacenar varios

    datos de una sola vez; para lo cual hay que tener en cuenta las propiedades27,

    útiles para el manejo de listas como el método para definirlas, citar rápidamente su

    información usando atajos, añadir o quitar elementos, buscar dentro de una lista y

    usar listas concatenadas. Otro elemento vital son los diccionarios, que definen una

    relación uno a uno entre claves y valores útiles para citar rápidamente información

    o generar, mediante la clave, valores correspondientes en grandes procesos como

    introducir el valor de nota MIDI, obtener su nombre y su octava. También tiene

    propiedades como definir un diccionario, mezcla de tipos de datos en un

    diccionario, eliminación de elementos de un diccionario.

    24

    Francisco Callejo Giménez: Inmersión en PYTHON (pag 3) 25

    Raúl González Duque: PYTHON para Todos: (pag 36) 26

    PYTHON Para Todos: Raúl González Duque: (pag 42) 27

    Francisco Callejo Giménez: Inmersión en PYTHON (pag 9-12)

  • También se hace necesario manipular la información entre los directorios de

    trabajo. Generalmente cuando se empieza a trabajar en Python el directorio en el

    que se está trabajando es el mismo donde se está guardando el proyecto, pero

    también se puede cambiar este directorio, o generar archivos en un lugar y luego

    pasar a otro donde también se van a crear archivos. Por último una de las

    aplicaciones importantes de Python para el proyecto, es que logra ejecutar un

    programa abriendo un archivo creado en el mismo programa y al finalizar el

    proceso cerrarlo.

    4.1.2. TKINTER

    El módulo Tkinter (“Tk”) es la interfaz estándar de Python con un gran conjunto de

    herramientas GUI. Tkinter está disponible en la mayoría de plataformas Unix, así

    como en los sistemas Windows y Macintosh. Tkinter consiste en una serie de

    módulos. La interfaz Tk se encuentra en un módulo binario denominado _tkinter,

    este módulo contiene la interfaz de bajo nivel de Tk; Tkinter que incluye una serie

    amplia de módulos de Python.

    Para la organización de el flujo de eventos, se va a utilizar el método de

    ordenamiento por sacudida28 que es una optimización del método de intercambio

    directo o burbuja; en este algoritmo cada pasada tiene dos etapas: “de derecha a

    izquierda” se trasladan los elementos más pequeños hacia la parte izquierda del

    arreglo, en la segunda etapa “de izquierda a derecha” se trasladan los elementos

    más grandes hacia la parte derecha del arreglo, el algoritmo termina cuando en

    una etapa no se producen intercambios.

    4.1.3. MIDICSV

    28

    Estudiantes de la UTN-FRSF: Tutorial-PYTHON.com.ar (http://tutorial-PYTHON.com.ar/?p=67 vista el

    09/04/11)

  • Entre las herramientas externas que se van a utilizar esta MIDICSV29 que es un

    programa con el que se toma un archivo MIDI y lo transforma en una lista de

    eventos con el formato CSV (valores separados por comas) cuyas siglas

    provienen de Comma Separated Values. A este tipo de programas se le llaman

    parsing (analizador). Al pedirle a MIDICSV que analice un archivo, éste va a

    generar una lista sujeta a una estructura de registro la cual indica cada uno de los

    eventos que el archivo tiene, dentro de esta los parámetros que se van a utilizar

    son “0, 0, HEADER, FORMAT, NTRACKS, DIVISIÓN” que es el registro de

    cabecera del archivo MIDI, “TRACK, TIME, TIME_SIGNATURE, NUM, DENOM,

    CLICK, NOTESQ” El compás, la tasa de clic del metrónomo, el “TRACK, TIME,

    KEY_SIGNATURE, KEY, MAJOR/MINOR”, donde especifica el valor numérico de

    la clave, mayor / menor “TRACK, TIME, TEMPO, NUMBER” que contiene el tempo

    y los eventos de activación de nota “TRACK, TIME, NOTE_ON_C, CHANNEL,

    NOTE,

    4.1.4. COMUNICACIÓN OPEN SOUND CONTROL

    Hay comunicaciones que no se pueden lograr directamente y por esto se va a usar

    Open Sound Control (OSC) que es un protocolo para la comunicación entre

    sistemas, computadores, sintetizadores y otros dispositivos multimedia optimizada

    para la tecnología de redes modernas. Este protocolo proporciona lo necesario

    para el control en tiempo real de los medios de procesamiento de sonido y otros,

    sin dejar de ser flexible y fácil de implementar”30; Para enviar información desde

    Python haciendo uso de OSC hay que tener la librería pyOSC31 Hallada en la

    dirección http://opensoundcontrol.org/implementation/Python-simple-osc, luego tomar el

    archivo OSC.py y guardarlo en el directorio de Python, en la carpeta Lib y la

    subcarpeta site-packages, para este caso la dirección es C:\Python27\Lib\site- 29

    Walker John: MIDICSV [en linea]. < http://www.fourmilab.ch/webtools/midicsv/ > [citado en 08-04-2011] 30

    Open Sound Control: página oficial [en linea][ citado en

    04-05-2011] 31

    Librería OSC para PYTHON: pyOSC: [en linea]< https://trac.v2.nl/wiki/pyOSC>[ citado en 04-05-2011]

  • packages. Luego estructurar el envió de información por medio de este protocolo

    (se encuentra más en detalle en el apéndice). Para recibir la información OSC en

    Pure Data debe tener la versión extendida

    (http://puredata.info/community/projects/software) que ya cuenta con este

    protocolo de comunicación por defecto.

    4.1.5. PURE DATA

    La animación y el secuenciador MIDI se van a trabajar con Pure Data (PD) que es

    un entorno gráfico de programación en tiempo real diseñado para aplicaciones de

    audio, vídeo y procesamiento de gráficos32, Pure Data cuenta con la ayuda que

    guía a el usuario facilitando de gran manera el trabajo mediante ejemplos

    mostrándole las posibilidades que tiene en cuanto a la programación de cada

    objeto, adicionalmente recomienda otros objetos relacionados con él mismo.

    Una de las herramientas indispensables de Pure Data es Qlist que en realidad es

    un secuenciador basado en texto, el objeto Qlist lee archivos de texto que

    contienen mensajes en diferentes tiempos. Se tuvo que descubrir la manera en

    que funciona éste protocolo ya que en el manual de Pd no se especifica de una

    manera clara la forma de construir o usar una secuencia MIDI y si está tomada

    de un archivo, interpretarla y enviarla a través de los puertos de salida (MIDI) en

    Pure Data. (En el apéndice se encuentra dicha deducción).

    Para hacer uso del protocolo MIDI es necesario direccionar las entradas y salidas

    en Pure Data, también hay que manejar la estructura para la entrada y salida de

    información MIDI, se utilizara también el objeto acorde “chord” que va a ser útil

    para la ejecución en tiempo real de la animación con un controlador.

    32

    Pure Data: Pagina Oficial (www.puredata.org el 24/10/09)

    http://puredata.info/community/projects/software

  • La herramienta de animación en Pure Data se llama Gem33 (Graphics Environment

    for Multimedia) y es un entorno de programación visual para generar, procesar y

    manipular gráficos (imágenes, vídeos, cámara) en tiempo real. Es una librería que

    forma parte del entorno Pure Data. Para poder utilizar Gem hay que usar la

    versión extendida de Pure Data.

    4.1.6. MIDI

    MIDI, un acrónimo de Musical Instrument Digital Interface. MIDI ha asumido

    múltiples significados y puede referirse a una interfaz de hardware, a un formato

    de archivo, a los datos en un archivo MIDI estándar, o a las especificaciones de

    simulación instrumental de General MIDI. La ubicuidad del término no

    necesariamente corresponde a la uniformidad de procesos, ni a la capacidad de

    intercambio de datos sin pérdida alguna de información, ni a las solicitudes sin una

    cierta limitación de la capacidad.

    MIDI se originó como un protocolo en tiempo real para permitir la comunicación

    entre los dispositivos de hardware independiente (por ejemplo, entre dos teclados

    electrónicos, o entre un teclado electrónico y una computadora personal).

    Concretamente, la intención era hacer que la onda de sonido, frecuencia y la

    duración de presión de información obtenida para un controlador se interpretara a

    través diversos dispositivos. Lo primero fue identificar la duración de tecla

    presionada y luego grabar su encendido y apagado “on” and “off” durante ese

    tiempo. La especificación del protocolo se publicó en 1988 y está disponible sin

    costo en muchas redes electrónicas y en los apéndices de muchas referencias

    estándar en MIDI. Como un hardware de interface, MIDI busca la forma de hacer

    procesos en tiempo real, en el lenguaje MIDI, la música consiste en una cadena

    de eventos que suceden uno a la vez y momento a momento, procesos de flujos

    33

    Generación Musical y Visual: GEM - Pure Data: [en line] < http://www.dtic.upf.edu/~csora/gmv/index.php

    > [ citado en 04-05-2011]

    http://www.dtic.upf.edu/~csora/gmv/index.php

  • de eventos que a veces deben estar en constante movimiento controlados por un

    reloj34.

    El Standard MIDI File (SMF) es un formato estandarizado para guardar

    secuencias, o sea series ordenadas de eventos MIDI determinados en su

    ubicación temporal en términos de compases y tiempos. Hay diversos tipos de

    secuenciadores tanto de software como de hardware. Cada secuenciador tiene su

    propio formato de secuencias y el MIDI File es una forma de guardar la

    información básica en un formato estandarizado para poder transferir y leer

    archivos de un secuenciador a otro.

    4.1.7. TEORÍA MUSICAL

    Para analizar las piezas propuestas por éste proyecto (Invenciones y Sinfonías, y

    el Clave Bien Temperado) se deberá tener claro los conceptos de la teoría

    musical35 como: armaduras de clave, intervalos, las escalas, los tipos de escalas,

    las triadas, los grados de las escalas y, en menor medida, las funciones

    armónicas; con el fin de poder hacer análisis armónico. También es importante

    entender aspectos como las texturas musicales de las sinfonías e invenciones de

    J. S. Bach, así como qué es una invención o qué es una sinfonía, qué es el clave

    bien temperado, donde se encuentran términos como: preludio y fuga. Toda esta

    información se encuentra en el apéndice

    4.1.8. SIGNIFICADO DE LA APRECIACIÓN MUSICAL

    “Apreciación musical” es un tipo de formación musical destinado a desarrollar la

    habilidad de escuchar inteligentemente la música. El oyente aficionado a menudo

    34

    Eleanor Selfridge-Field Beyond: MIDI, The Handbook Of Musical Codes (pág. 43) 35

    Alvira Rodríguez José: Teoría Musical; Aprendizaje [en línea]. [citado en 29/10/09 de 2009]

  • ha demostrado una facultad analítica y crítica bastante igual a la de muchos

    intérpretes profesionales, el arte de escuchar como una actividad del pensamiento

    es el objetivo de los cursos de apreciación, que puede ser tan exigente y tan

    satisfactoria como la interpretación. Para entender la música, es importante

    conocer los diferentes aspectos que la componen, desde su parte teórica hasta la

    misma historia; cómo el compositor hace uso de todos y cada uno de los

    elementos que ésta le brinda y cómo el escucha accede e interactúa con ella.

    La percepción, la valoración afectiva y la toma de conciencia intelectual de

    cualquier producto artístico forman el tercer eslabón de la cadena al que en pocas

    ocasiones, y menos aún en el terreno musical se ha dedicado la debida atención.

    Tradicionalmente y hasta el momento actual, casi todo el tiempo y los recursos

    empleados en la formación musical se han dedicado a dos aspectos de evidente

    importancia como son la creación musical, aspecto centrado en la figura del

    compositor y la interpretación, centrada en la figura del intérprete, pero se ha

    eludido, en cambio, la dedicación necesaria a un tercer aspecto de trascendencia

    última en cualquier manifestación artística: se está refiriendo a la apreciación de la

    obra, aspecto centrado en el oyente. Lógicamente toda persona que escucha se

    convierte en un oyente. Pero hay muchas formas de escuchar, y en esto van a

    intervenir factores tan importantes como la capacidad de atención y la formación

    musical de quien escucha. Muchas personas tienen un gran conocimiento auditivo

    de numerosas grandes obras de la música, aunque no sepan leer ni interpretar

    una partitura; en muchos casos, sus opiniones y sus gustos son excelentes, pero

    no saben expresarlo con un lenguaje apropiado, lo que les puede producir una

    sensación de frustración e inseguridad que les impida comunicar sus opiniones

    ante los músicos.

    Así pues, la importancia de dotar al oyente de las herramientas precisas para la

    captación plena de las obras musicales, se constituye en una necesidad

    cuantitativa, dada la superioridad numérica de los auditores frente a los

  • compositores e intérpretes, además de constituir el tercero de los grandes ámbitos

    que como eslabones inseparables de una misma cadena completan el proceso

    artístico: compositor, intérprete y oyente36.

    4.1.9. LA IMAGEN

    Para el desarrollo de la animación es importante estudiar algo sobre la imagen, en

    este caso, estudiar conceptos como la sintaxis de la imagen; la forma, la luz, la

    sombra, la simbología del color, los principios de la composición (claridad,

    contraste, armonía); también temas como la semántica visual de la imagen, y

    temas afines. Los detalles de esta información se encuentran en el apéndice.

    4.2. MARCO LEGAL O NORMATIVO

    Este proyecto está trabajando con software no privatizado y por ello es importante

    distinguir entre los diversos tipos de licencias que pueden existir: La información

    en detalle se encuentra en el apéndice, donde se desarrollan conceptos como las

    licencias de software libre, la definición de software libre37, la licencia pública

    general de GNU, la licencia pública general reducida de GNU, licencia pública

    general de affero de GNU, licencia de documentación libre de GNU, copyleft38.

    4.2.1. LICENCIA DE MIDICSV

    Este software es de dominio público. Tiene el permiso para usar, copiar, modificar

    y distribuir este software y su documentación con cualquier propósito y sin cargo a

    la presente se otorga, sin ningún tipo de condiciones o restricciones. Este software

    36

    Thomas Whitney Surette: The Appreciation of Music (pag 15) 37

    GNU Operating System (http://www.gnu.org/philosophy/free-sw.es.html vista el 13/10/09) 38

    GNU Operating System (http://www.gnu.org/licenses/licenses.es.html vista el 13/10/09)

    http://www.gnu.org/philosophy/free-sw.es.htmlhttp://www.gnu.org/licenses/licenses.es.html

  • se otorga sin ninguna garantía implícita o explícita39. Por John Walker, Febrero,

    2004, Revisado Enero de 2008

    4.2.2. LICENCIA DE Python Y TKINTER

    La Python Software Foundation License, o PSFL por sus siglas en inglés, es una

    licencia de software libre permisiva, al estilo de la licencia BSD, es decir, que

    cumple con los requisitos OSI para ser declarada licencia de software libre;

    además, es compatible con la licencia GPL. A diferencia de la licencia GPL, y

    como la mayoría de licencias tipo BSD, la licencia PSFL no es una licencia

    copyleft, y permite modificaciones del código fuente, así como la creación de

    trabajos derivados, sin requerir que ni las modificaciones ni los trabajos derivados

    tengan que ser a su vez de código abierto. La licencia PSFL está dentro de las

    listas de licencias aprobadas tanto por la Free Software Foundation como por la

    Open Source Initiative.40

    4.2.3. LICENCIA DE PURE DATA Y GEM41

    Pd es un proyecto de código abierto y tiene una gran base de desarrolladores

    trabajando en nuevas extensiones al programa; está publicado bajo una licencia

    similar a la licencia BSD. La licencia BSD es la licencia de software otorgada

    principalmente para los sistemas BSD (Berkeley Software Distribution). Es una

    licencia de software libre permisiva como la licencia de OpenSSL o la MIT License.

    Esta licencia tiene menos restricciones en comparación con