-
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