Вы находитесь на странице: 1из 8

Universidad de San Buenaventura, Facultad de Ingeniera, Programa De Sonido Gonzlez Daz Sebastin.

SISTEMA DE ANIMACIN A PARTIR DE SECUENCIAS MIDI

DISEO DE UN SISTEMA QUE GENERA ANIMACIN A PARTIR DE SECUENCIAS MUSICALES MIDI


Gonzlez Daz Sebastin

segodimo@gmail.com Universidad de San Buenaventura

Resumen El presente Trabajo de Grado logra generar un


sencillo lenguaje grfico que traduce la msica en imgenes sincrnicas; parte de las expresiones musicales acadmicas traducidas al protocolo de comunicacin MIDI, para ser transformada la informacin haciendo uso del software libre, en rdenes de entorno grfico, para estructurar dicha animacin bajo los parmetros de la teora musical, generando as una experiencia visual de la msica controlada mediante una interfaz. El lenguaje visual creado puede dirigirse entre otras cosas a la enseanza de la apreciacin musical en todas las edades.

procesamiento de la informacin musical hallada en una secuencia MIDI, que establece, a travs de la programacin, mtodos de anlisis que posibilitan la exploracin musical de dichos eventos. Crea un enlace entre msica e imagen en movimiento en tiempo real que permite la exploracin de nuevas secuencias. Uno de los aportes ms significativos de este Proyecto es el uso de software libre, de uso y distribucin gratuita, lo que hace que el producto sea accesible a todo el pblico y que no requiera de mayores recursos. Por lo tanto el Proyecto es firme en el propsito de que los desarrollos logrados compartan la filosofa de software libre y que su cdigo fuente est abierto para quienes deseen modificarlo de acuerdo con la Licencia Pblica General de GNU Opening Service, llamada comnmente GPL de GNUI. II.
METODOLOGA DE DESARROLLO

ndice de Trminos teora musical, animacin secuencias midi, programacin I. INTRODUCCIN En la dcada de los 60s Stephen Anthony Malinowski, compositor americano e ingeniero de software, tuvo la idea de usar las nuevas tecnologas de la informacin para ver la msica. Grafic mediante software las lneas meldicas de una sonata de Bach para violn, donde hizo que dichas lneas siguieran la msica. As, empez a disear y a construir una mquina de animacin musical, que finalmente se convirti en un programa que representa las voces musicales mediante imgenes abstractas y logra un fuerte vnculo entre la msica 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 msica, cuya estructura, establecida mediante el anlisis de programacin de sistemas, es llevada hacia el control de la animacin. Para facilitar dicho anlisis se usa el protocolo MIDI. El Proyecto de Grado es una alternativa para el

El lenguaje de programacin Python 2.7 puesto que uno de los alcances de este proyecto es implementar el cdigo desarrollado en Blender. La estructura del cdigo del sistema est dada por la programacin orientada a objetosII. Los archivos MIDI son archivos almacenados en formato binarioIII y para poderlos leer como eventos se usa MIDICSVIV que OSCV toma el archivo transformandolo en una lista de eventos con el formato CSV (valores separados por comas). Haciendo uso de Python se analiza la secuencia MIDI entrante ejecutando MIDICSV y capturando su resultado en un archivo de texto; luego se toma la lista de eventos en texto y se procesa filtrando los

Universidad de San Buenaventura, Facultad de Ingeniera, Programa De Sonido Gonzlez Daz Sebastin. SISTEMA DE ANIMACIN A PARTIR DE SECUENCIAS MIDI

valores guardndolos en variables de tipo listas (matrices) donde los datos de inters son los relevantes a la informacin relacionada con la parte musical. En algunos archivos MIDI la msica aparece dispersa en diferentes tracks, por ello se resuelve unir todos los canales un uno solo ya que este proyecto est delimitado para piezas de piano; luego se procede con la organizacin de eventos de menor a mayor en cuanto a la duracin como tambin las notas cuando son simultneas puesto que en una secuencia las notas simultneas suelen aparecer dispersas. Una vez obtenida la informacin dentro de listas, se crean programas para descifrar la informacin guardada; como se va a analizar un flujo de informacin, los valores resultantes deben ser de fcil manipulacin para el anlisis, por ello se crean programas que establezcan relaciones numricas cmodas para el entendimiento del programador. Se definir la duracin de las notas en una secuencia por su valor individual y no por el orden de activacin y desactivacin referido a toda la secuencia , para poder analizar la msica no solo basta con tener una lista de eventos MIDI por esto se opta por crear un mtodo para poder visualizar la msica dentro de los eventos, entonces se filtra nuevamente la informacin despreciando las notas de apagado y tomando las notas de encendido; como las notas simultaneas vienen una detrs de otra, y es necesario poder verla de una misma forma homognea as como en una partitura, entonces crea una matriz concatenada para que las notas que suceden al mismo tiempo sean guardadas en un mismo vector por el tiempo o duracin al que corresponde. Tericamente en un archivo MIDI, para saber a qu tonalidad pertenece una secuencia, se utiliza el evento KEY_SIGNATURE pero lo que pasa es que no todos los archivos MIDI poseen este evento, entonces hay que crear un mtodo para encontrar la tonalidad. Al poder deducir la tonalidad, se establecen diccionarios acordes a sta con la informacin pertinente como los grados de la escala dependiendo si es mayor o menor, agregarle las

alteraciones correspondientes a los eventos para as analizar la secuencia logrando ver sus notas con su verdadero nombre y alteraciones; ms adelante se obtienen las notas importantes de acuerdo a los grados de la tonalidad as como tambin las triadas en la secuencia logrando deducirlas aunque estn invertidas. Mediante Pure DataVI usando el objeto QlistVII se logra leer cada evento y comunicrselo a la funcin que enva la informacin MIDI al sintetizador. Ms adelante se va a utilizar no solo como un comunicador de eventos MIDI sino que tambin como un receptor de otras informaciones tiles para generar ordenes a la animacin. Se desarrolla la animacin que debe tener relacin con la msica en diferentes aspectos, los objetos a representar como notas son esferas, se representan aspectos musicales como la altura dada por los valores de nota, entonces las esferas se desplazarn de acuerdo a una relacin matemtica 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 irn acercando y si la intensidad es suave las esferas se desplazarn hacia atrs, en el caso de que hayan notas simultaneas, habrn ms esferas una detrs de otra representando las notas segunda, tercera, cuarta etc. las esferas pueden tener un rastro que visualmente refiera a sta de donde a donde se est desplazando; por ltimo las esferas van a adquirir un color y ste va a depender de la relacin que se establecer entre la msica y imagen. Las etapas para el desarrollo de este sistema es: Generar un protocolo de informacin haciendo uso de la secuencia para que Pure Data la entienda y sea capaz de enviar la informacin MIDI hacia un instrumento virtual, en tiempo real. Generar rdenes para que el software de animacin GEM lo entienda y las ejecute en tiempo real.

Universidad de San Buenaventura, Facultad de Ingeniera, Programa De Sonido Gonzlez Daz Sebastin. SISTEMA DE ANIMACIN A PARTIR DE SECUENCIAS MIDI

Disear una relacin visual para varios elementos que comprenden la estructura musical. Crear la animacin construyendo la comunicacin necesaria para que Pure Data entienda las rdenes generadas por el programa de anlisis. Hacer una interfaz grfica que permita manipular y enlazar los programas que deben ser usados. El diagrama de flujo del sistema es:

a el valor 0; el amarillo que en RGB es 255-128-0, equivale a 100 y el verde que es 0-255-0 ser igual a 200; es decir que la relacin entre los colores de todas las tonalidades varan de 50 en 50. Como se van a realizar operaciones matemticas con sustracciones, entonces para facilitar el manejo de estos valores, el programa que relaciona RGB con los valores se extiende de 0 a 1200 repitindose la gama de colores a partir del 600.
D 2
600

G 7
650

C 0
700

F 5
750

Bb Eb Ab C# 10
800

F# 6

B 11

E 4

A 9

3
850

8
900

950 1000 1050 1100 1150

Ahora, cada tonalidad tendr una paleta de colores creada a partir de una tabla de intervalos desde los ms consonantes hasta los ms disonantes donde la consonancia est representada por los colores adyacentes y la disonancia por colores contrastes: A continuacin un ejemplo para la creacin de la paleta de colores en base a la tonalidad de Re con el cifrado de las notas, en la segunda fila se encuentra el valor de intervalo al que corresponde; la tercera fila contiene la relacin de color para los valores de los intervalos que est dada en 50/6 entre la primera nota hasta la ltima de las consonancias perfectas, luego para la semi-consonancia y las disonancias absolutas, la relacin va desde 150 respecto a la primera nota, y va disminuyendo de 25 en 25 hasta la ms disonante; la ltima fila es un ejemplo numrico.
Consonancias perfectas Consonancias imperfectas Smicns Disonancias absolutas

Cada tonalidad va a tener un color de acuerdo a la propuesta del seor Llus Pujals i Carretero VIII (msico y pintor) de la siguiente manera:

D
0 0 600

G
5 8,33 592

A
7 16,7 583

F#
4 25 575

A#
8 33,3 567

F
3 41,7 558

B
9 50 550

G#
6 150 450

C
10 175 425

E
2 200 400

C#
11 225 375

D#
1 250 350

Para facilitar el uso del color RGB en Pure Data se crea un sistema que relaciona valores sencillos con la combinacin de los 3 valores RGB, por ejemplo el rojo que equivaldra en RGB a 255-0-0, ser igual

Al haber creado esta relacin de color se puede creer que ya est resuelta pero an no logra resolver el estado de color para varias notas simultneas; es decir la intencin de representar las notas consonantes o disonantes con colores adyacentes o contrastes, an no se logra porque la nota solo dependera de la escala de colores, es decir que si la tonalidad de Do mayor, se activa la nota C-F-G, la relacin visual de color entre C y F es congruente, entre C y G es congruente pero entre F y G no lo es

Universidad de San Buenaventura, Facultad de Ingeniera, Programa De Sonido Gonzlez Daz Sebastin. SISTEMA DE ANIMACIN A PARTIR DE SECUENCIAS MIDI

porque de acuerdo a la tabla anterior las notas C-FG tiene colores adyacentes, pero F y G son notas disonantes con un intervalo de segunda mayor igual a 2 semitonos; entonces se plantea la posibilidad de asignar un color a la primera nota, es decir que si existe una meloda, est va a tener los colores de la paleta mencionada, pero si existen ms de una nota, el color de la segunda nota depender del intervalo, entonces la primera nota tiene un valor correspondiente a la paleta de colores por tonalidad y para la segunda nota se calcula el intervalo y dependiendo de est (consonante o disonante), asignar un valor de color (adyacente o contraste); si existe una tercera nota, se calcula el intervalo entre la segunda y la tercera y se asigna un color y as se resuelve la visualizacin para la consonancia o disonancia de las notas.

Alguna de las luces pueden iluminar con luz blanca las esferas para que stas no pierdan su color original, otras luces pueden ser proyectadas en la pared del escenario con colores relacionados a el anlisis que se hizo para los grados de las escala y las triadas encontrados en la secuencia, entonces el producto final de color ir alrededor de la paleta de colores de acuerdo a la tonalidad logrando experimentar matices que dependern de la estructura musical.

Las esferas se van a encontrar en un escenario iluminado, este escenario se grafica creando un plano que se liega mostrndose como un piso y una pared, ahora las esferas y el plano solo, no tendran sentido visual sin o existe la luz; Pure Data cuenta con un objeto luz que adems de proyectar una luz, sta se puede rotar, trasladar, y se pueden editar parmetros como el color proyectado. Al mezclar los colores de la luz con el color de las esferas el color es combinado por ello hay que tener cuidado en no variar demasiado el color de las esferas.

Universidad de San Buenaventura, Facultad de Ingeniera, Programa De Sonido Gonzlez Daz Sebastin. SISTEMA DE ANIMACIN A PARTIR DE SECUENCIAS MIDI

La programacin de la interfaz grfica es desarrollada en tkinter que es la interfaz estndar de Python con un gran conjunto de herramientas GUI, Tkinter consiste en una serie de mdulos que incluyen una serie amplia de mdulos en Python. En el desarrollo de la interfaz, debe existir la programacin de los botones, la manipulacin de algunas operaciones como las ubicaciones dentro de Windows, abrir un archivo de Pure Data desde Python, mover o copiar archivos entre directorios, comunicacin mediante el protocolo OSC, etc. Todo esto enmarcado nuevamente dentro de la programacin orientada a objetos.

Las tonalidades mayores o menores son representadas al degradar los colores (mezcla con blanco) para las tonalidades mayores, y oxidndolos (mezcla con negro) para las tonalidades menores; y son fcilmente de detectar en el nivel de luz en todo el espacio as como en el color de las esferas.

Teniendo en cuenta que el fin de este proyecto es disear un sistema como la base para lograr el desarrollo de la relacin entre la teoraIX musical con la imagen en movimiento y que la relacin msico-visual no deja de ser an un alcance, el sistema logra manejar distintas propiedades musicales analizadas que se pueden visualizar. El primer parmetro es la altura representada en el eje x como tambin en la creacin de una paleta de colores dependientes a la tonalidad:

La velocidad de nota est representada en el eje z por las esferas como tambin en la intencidad del la luz reflejada en el plano.

El Programa logra animar en tiempo real hasta seis esferas independientes con todas sus diferentes caractersticas como color, posicin en los tres ejes, luz; el programa al detectar ms de una nota, calcula el intervalo entre cada una de ellas y dependiendo de esto cambia el color generando colores opuestos para las disonancias o colores adyacentes para las consonancias.

Universidad de San Buenaventura, Facultad de Ingeniera, Programa De Sonido Gonzlez Daz Sebastin. SISTEMA DE ANIMACIN A PARTIR DE SECUENCIAS MIDI

III. CONCLUSIONES El concepto de sinestesia para aquellas personas que no la poseen (non-sinestsicos), les puede hacer pensar en cules seran las posibilidades, si en ellas existiera esta singularidad (como problema o virtud) generando otros panoramas de percepcin y por ende reacciones psicofsicas, ampliando su capacidad de concepcin de la realidad. Hacer visual la msica 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. Cuando el programa obtiene la tonalidad, ste analiza la secuencia descubriendo qu notas pertenecen a los grados de la tonalidad, lo mismo sucede con las triadas que son evaluadas sin importar si estn invertidas o no y si son triadas que pertenecen a los grados de la tonalidad con lo que ya se podra empezar a hablar de un anlisis armnico; todos estos resultados son representados por el color de las luces en el espacio. En este proyecto logra crear una base para futuros desarrollos tecnolgicos relacionando con la msica, la programacin y la animacin. Dicha base ampla el conocimiento de los sistemas exponiendo claramente diferentes rutas para analizar, procesar y transformar la informacin, 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 tecnologa, 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 informacin binaria hallada en el protocolo de comunicacin y haciendo uso de pequeos programas, disear mtodos de anlisis que vayan descifrando la informacin numrica hasta lograr informaciones bsicas sobre la estructura musical, teniendo en cuenta que dicho protocolo no se ha diseado en si para la escritura musical sino ms bien fue creado para la comunicacin musical; los archivos MIDI estn diseados para reproducir msica, y no para la notacin musical o impresin; en otras palabras, los archivos no incluyen informacin sobre la notacin como ligaduras, articulaciones y/o maquetacin. Tampoco puede discernir la escritura enarmnica (como la diferencia entre Fa# y Solb). Es decir, el proyecto logr desarrollar un programa capaz de interpretar la informacin musical de un protocolo de comunicacin estndar y espera llegar a descifrar

Universidad de San Buenaventura, Facultad de Ingeniera, Programa De Sonido Gonzlez Daz Sebastin. SISTEMA DE ANIMACIN A PARTIR DE SECUENCIAS MIDI

procesos ms complejos de la teora musical, como las funciones armnicas y las formas musicales. Es un objetivo logrado haber creado las herramientas para que el desarrollador interesado pueda, haciendo uso de la programacin, 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 aclaracin de la informacin enarmnica 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 visualizacin de un flujo de eventos de manera matricial sin perder de vista las propiedades armnicas musicales de la secuencia; y que est bastante cerca de poder discernir las lneas meldicas de una pieza polifnica; adems, ya es un recurso que facilita el anlisis de las funciones armnicas. Como instrumento de enseanza, el programa puede expresar de manera visual conceptos como ritmo, altura, intensidad, consonancia y disonancia; notas nicas o simultneas; tonalidades mayores y menores; grados de la escala y triadas pertenecientes a los grados del a escala. Logra intuir la polifona musical aproximndose a la separacin de lneas musicales y tambin ayuda a discernir diferencias musicales como tipos de piezas, compositores, periodos musicales con simplemente visualizar la animacin. De esta manera cumple el objetivo de convertirse en una herramienta para la enseanza de la apreciacin musical. Faltara solamente evidenciarlo y demostrarlo mediante disciplinas inherentes a la comprobacin y el desarrollo de pruebas educativas, psicofsicas y otras disciplinas relacionadas. Para llegar a los resultados visuales, el proyecto, tuvo que experimentar variadas relaciones grficas, unidas a los conceptos musicales, convocando as al nacimiento intrnseco de un nuevo lenguaje de

comunicacin musical. Este sistema est ms cerca de alcanzar un tipo de experiencia sinestsica, provocando tambin una base para la creacin ms acertada del fenmeno sincrnico visual-musical. Otro logro es instrumentar la relacin del protocolo MIDI con el secuenciador Qlist de Pure Data, convirtindolo en un medio de transformacin 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 informacin 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 fciles de manejar. En el campo de la animacin, la posibilidad de usar la curva 3d (el plano) fue implementada de manera sencilla, al desarrollar un sistema que permite la variacin de valores en los tres ejes cartesianos, de manera que se pueden desplazar de una manera ordenada y cmoda. Mediante esta creacin se pueden experimentar muchas formas y unir stas variables controladas creando movimiento del plano en tiempo real. Otro desarrollo que facilit el proceso de animacin fue la creacin de un control simple para transformar rpidamente los valores RGB, logrando tener todas las gamas de color en un simple control, as mismo para esta aplicacin se diseo otro control con el que se puede degradar u oxidar el color sin perder la tonalidad de color original. Una aplicacin ms consisti en hacer un centro de mando para manipular las propiedades de las luces y a la cual se le aadi la aplicacin de color; es decir, que para posteriores desarrollos en GEM ya no sera necesario programar cada luz sino que al utilizar sta estructura se tiene acceso a grandes posibilidades para la luz y su color. En conclusin los programas creados en Pure Data fueron desarrollos para hacer posible la rpida manipulacin de las animaciones en tiempo real del entorno grfico GEM, mediante estructuras diseadas, facilitando el uso de las propiedades y de

Universidad de San Buenaventura, Facultad de Ingeniera, Programa De Sonido Gonzlez Daz Sebastin. SISTEMA DE ANIMACIN A PARTIR DE SECUENCIAS MIDI

los objetos de animacin.


OTROS ESTUDIOS

Los recursos y las posibilidades encontrados en el software libre son poderosas y suficientes para desarrollos posteriores del sistema. Adems, la comunidad que rodea el cdigo abierto es supremamente bondadosa en facilitar el aprendizaje de las herramientas Open Source.
REFERENCIAS
I

Diplomados ARTE Y COMUNICACIN VISUAL, Universidad de San Buenaventura, con una duracin de 144 Horas, 2009 Msica ORQUESTA SINFNICA JUVENIL, Bogot, 2000-2001. Diplomados EXPERIENCIA LABORAL ACIEM Miembro de la Comisin Estudiantil ACIEM (Asociacin Colombiana de Ingenieros) CORTOMETRAJES Director de Diseo Sonoro, Cortometraje LA FILA rodaje con estudiantes de cine y televisin de la universidad Nacional, grabado en cinta Mini-DV Director de Diseo Sonoro, Cortometraje BUIO rodaje con estudiantes de cine y televisin de la universidad Nacional, grabado en cinta cinematogrfica Sper 8mm a color Asistente de Sonido, Grabacin de Folys EPIGRAFE rodaje con estudiantes de cine y televisin de la universidad Nacional, grabado en cinta cinematogrfica 16mm blanco y negro Director de Diseo Sonoro, Cortometraje PARNTESIS rodaje con estudiantes de cine y televisin de la universidad Nacional, grabado en cinta cinematogrfica Sper 16mm a color

GNU Operating System [en lnea]. < http://www.gnu.org/licenses/quick-guide-gplv3.html > [citado en 04-05-2011] II Python Para Todos: Ral Gonzlez Duque: (pag 42) III Eleanor Selfridge-Field Beyond: MIDI, The Handbook Of Musical Codes (pag 43) IV Walker John: MIDICSV [en lnea]. < http://www.fourmilab.ch/webtools/midicsv/ > [citado en 04-05-2011] V Open Sound Control: pgina oficial [en linea]<http://opensoundcontrol.org/introduction-osc >[ citado en 04-05-2011] VI Pure Data: Pagina Oficial [en lnea] <www.puredata.org> [citado en 04-05-2011] VII Johannes Kreidler: Programacin de Msica Electrnica en Pd (pag 213,214) descargar manual en < http://www.musico.cl/descargas/> [citado en 04-052011] VIII Llus Pujals i Carretero: Las notas musicales y sus colores [en lnea]. < http://www.lluispujals.com > [citado en 04-05-2011] IX Alvira Rodrguez Jos: Teora Musical; Aprendizaje [en lnea]. <http://teoria.com/aprendizaje/lectura/15armaduras.htm> [citado en 04-05-2011]

CONCIERTOS Autor: Sebastin Gonzlez Daz ESTUDIOS REALIZADOS: Universidad: PONTIFICIA UNIVERSIDAD JAVERIANA, Bogot, Facultad de Ingeniera, Departamento de Sistemas, 2003 2004. UNIVERSIDAD DE SAN BUENAVENTURA, Bogot, Facultad Ingeniera, Programa de Ingeniera de Sonido, 200420011. Asistente de sonido para el concierto de Vctor Heredia, realizado en el Teatro Municipal Enrique Buenaventura de Cali, el 9 de Agosto de 2008. Asistente de sonido para el concierto de Pedro Guerra, realizado en el Teatro Astor Plaza de Bogot el 19 de Agosto de 2008.

Вам также может понравиться