Está en la página 1de 37

Y DE ESTUDIOS AVANZADOS CENTRO DE INVESTIGACION DEL INSTITUTO POLITECNICO NACIONAL DEPARTAMENTO DE INGENIER IA ELECTRICA DE COMPUTACION SECCION

ltiples Eventos MIDI Captura de Mu n en Tiempo de Ejecucio


Tesis que presenta

Maximino Pe na Guerrero
Para Obtener el Grado de

Doctor en Ciencias
En la Especialidad de

Ingenier a El ectrica
Opci on Computaci on Director de la Tesis: Dr. Adriano De Luca Pennacchia. Codirector: Dr. Jorge Buenabad Ch avez. M exico D.F. Enero 2005

Resumen en Espa nol (tres p arrafos) El protocolo de comunicaciones entre instrumentos musicales MIDI (Musical Instrument Digital Interface) fue introducido en 1983, y desde entonces se ha desarrollado un gran n umero de aplicaciones musicales. Existen sistemas de software con los cuales se puede editar una partitura musical tal como se hace con un texto, transportar las notas a otro tono, construir secuencias de acompa namiento, insertar la voz de un can- (1) Probletante, o bien, simular una orquesta real. La captura de los eventos MIDI de un insm atica trumento actualmente est a limitada en delidad, y la de varios instrumentos MIDI a resolver y no es posible debido a que el sistema MIDI no fue dise nado para capturar datos en anteceparalelo. Este tipo de captura har a posible arreglos con sonidos de distintos instru- dentes mentos y la extracci on precisa y autom atica de las partituras de cada instrumento. Esta tesis presenta las alternativas de dise no de un sistema de grabaci on de eventos MIDI de varias fuentes y propone dos dise nos espec cos: MIDI Capture System Linear-memory (MCS-L) y MIDI Capture System Segmented-Memory (MCS-S). MCS-L utiliza una memoria lineal convencional, y es adecuado para desarrollar un (2) C omo se prototipo en poco tiempo. MCS-S utiliza un dise no especial de memoria segmentaresuelve da autocompactante (MSA) que facilita su producci on masiva y muy posiblemente el problema reduce su costo ya que s olo utiliza tres circuitos integrados de prop osito espec co. MSA inserta los datos MIDI de cada instrumento en un segmento distinto de tama no variable y autocompactante, no desperdiciando memoria si uno de los instrumentos no genera datos. Para probar MCS-L desarrollamos un prototipo con un sistema m nimo basado en el microcontrolador 8051, y el software de control del mismo. Capturamos datos MIDI de varios instrumentos, y con un compilador que desarrollamos, llamado KL (Kernel f or music Language), obtuvimos sus partituras con una ca- (3) Pruebas, lidad aceptable. Para probar MCS-S s olo evaluamos su MSA, el u nico compo- resultanente distinto de los de MCS-L. Nuestra evaluaci on, en base al sistema de de- dos, y conclusarrollo de sistemas digitales Xilinx, muestra que MSA es mucho m as r apida siones que una memoria convencional, garantizando la captura el de los eventos MIDI. ii

ABSTRACT The protocol of communication among musical instruments MIDI (Musical Instrument Digital Interface) it was introduced in 1983, and from then on a great number of musical applications it has been developed. Software systems exist with those which one can edit a musical score just as it is made with a text, to transport the notes to another tone, to build accompaniment sequences, to insert the voice of a singer, or to simulate a real orchestra. The capture of the events MIDI of an instrument at the moment it is limited in delity and that of several instruments is not possible because the MIDI system it was not designed to capture data in parallel. This capture type would make possible arrangements with sounds of dierent instruments and the precise and automatic extraction of the scores of each instrument. This thesis presents the design alternatives of a MIDI events recording system of several sources and it proposes two specic designs: MIDI Capture System LinearMemory (MCS-L) and MIDI Capture System Segmented-Memory (MCS-S). MCS-L uses a conventional lineal memory, and it is adapted to develop a prototype in little time. MCS-S uses a special design of self-compacting segmented memory (MSA) that it facilitates their massive production and very possibly it reduces their cost since alone it uses three integrated circuits of specic purpose. MSA inserts the data MIDI of each instrument in a dierent segment from variable size and self-compacted, not wasting memory if one of the instruments doesnt generate data. In order to prove MCS-L we develop a prototype with a minimum system based on the 8051 microcontroller, and its software of control of the one. We capture data MIDI of several instruments, and with a compiler that we have developed, named KL (Kernel for music Language), we obtained their scores with acceptable quality. In order to prove alone MCS-S we evaluate their MSA, the only component dierent from those of MCS-L. Our evaluation, based on the development system of digital systems Xilinx, it shows that MSA is much quicker that a conventional memory, guaranteeing the faithful capture of MIDI events. iii

P agina para algunas dedicatorias especiales (opcional)

X ochitl Pe na Navarro,

Ma. del Rosario Pe na Navarro,

Ma. Teresa Navarro Serrano,

Elena Guerrero Badillo,

Alberto Pe na Ram rez,

Instituto Polit ecnico Nacional. . .

Fuerza Superior:

Gracias.

iv

Agradecimientos (Una o dos p aginas de agradecimientos a personas e instituciones que apoyaron el trabajo.)

Agradezco a mi director de tesis, Dr. Adriano De Luca Pennacchia la gu a, asesor a y la oportunidad que me dio al formar parte de su grupo de investigadores, con lo cual fue posible desarrollar el presente proyecto de tesis doctoral. De la misma forma, tambi en quiero hacer patente mi deuda y agradecimientos al Dr. Jorge Buenabad Ch avez, codirector de esta tesis, cuyas sugerencias, ideas, y se nalamientos enriquecieron el contenido del proyecto. De una manera muy especial, agradezco al Dr. Manuel Gonz alez Hern andez los consejos que recib como amigo, maestro, y compa nero de trabajo durante aquellos momentos dif ciles de mi vida; asimismo las revisiones, sugerencias y correcciones que hizo a este documento. Muchas gracias M anix. Estoy agradecido con: Dr. Oscar Olmedo Aguirre, cuyas recomendaciones ayu daron a mejorar la estructura del texto; Dr. Miguel Angel Le on Ch avez, invirti o su valioso tiempo en revisar el documento nal, sus observaciones y sugerencias enriquecieron esta tesis; Dra. Graciela Roman Alonzo, amablemente hizo revisiones y recomendaciones que tambi en enriquecieron la tesis; y, Dr. Luis Gerardo de La Fraga, hizo las primeras observaciones que ayudaron a bien organizar nuestro proyecto. Reconozco mi deuda con el Dr. Sergio V. Chapa V., por el apoyo y facilidades que permitieron iniciar, desarrollar, y profundizar en el tema durante su administraci on en la Secci on de Computaci on del Departamento de Ingenier a El ectrica del CINVESTAV; agradezco sus sugerencias cuando presentamos por primera vez este t opico en el Centro de Investigaci on en Inteligencia Articial de Barcelona Espa na. Tambi en debo dar las gracias a: Dr. Ra ul Cort es Mateos, que destac o la importancia de lograr objetivos precisos, adem as me dio el apoyo que necesitaba para la realizaci on del trabajo; Dr. Adolfo Guzm an Arenas, Dr. Marvin Minsky, y Dr. Harold V. McIntosh, que me ayudaron a reforzar la convicci on para desarrollar y profundizar en el tema.

Gracias tambi en: Ing. Luis Alcaraz Ugalde, las facilidades que permitieron terminar el proyecto; Ing. Jorge Su arez D az, que facilit o tiempo de trabajo y las instalaciones donde surgieron las primeras ideas; M.C. Armando Jim enez Flores, indic o revisiones y cambios que mejoraron el comportamiento de los dispositivos; Ing. Leodegario Wrvieta Cort es, la disposici on de sus sistemas de desarrollo; Ing. Jos e de Jes us Negrete Redondo, la revisi on nal del manuscrito; y Lic. Jos e Urbano Cruz Cedillo, el acceso a sus recursos computacionales. Muchas gracias al Prof. Ignacio Rub en P erez Escamilla que invirti o su valioso tiempo en ayudarme a comprender aquellos conceptos matem aticos que me permitieron seguir adelante. En este mismo contexto, deseo expresar profundos agradecimientos a todos los maestros que me formaron en la vida, desde el primero que recuerda mi infancia, Prof. Camilo Torres, maestro rural de Sn. Jos e Zoquital Hgo., y que me ense n o los primeros palitos, hasta los que he tenido en estos u ltimos a nos, y que me han permitido lograr mis objetivos, sin olvidar para nada a los profesores de m usica que me ayudaron a comprender su lenguaje. Muchas gracias a todos mis alumnos que participaron programando muchos conceptos sin relaci on alguna aparente, pero que comprobaron en los laboratorios y los reunieron en un todo congruente. Agradezco con profunda emoci on las facilidades otorgadas por las autoridades de las instituciones adonde he sido alumno, docente e investigador, y donde surgieron aquellas ideas que me permitieron desarrollar esta investigaci on, resultado de la cual, he dedicado gran parte de mi vida: Escuela Superior de Ingenier a Mec anica y El ectrica (ESIME) del IPN; Centro de Investigaci on y de Estudios Avanzados (CINVESTAV) del IPN, principalmente, la Secci on de Computaci on del Departamento de Ingenier a El ectrica, y la Secci on de Proyectos de Ingenier a, del mismo departamento; Centro Nacional de C alculo (CeNaC) del IPN; Centro de Investigaci on en Computaci on (CIC) del IPN; Direcci on de C omputo y Comunicaciones (DCyC) del IPN; y por supuesto, mi Alma M ater: Instituto Polit ecnico Nacional. a Guerrero Maximino Pen vi

P agina para una cita o m as (opcional)

... Lev antate, pues, y vence tu aqueza con el animo que triunfa en los combates [...] ... y al levantarse mira alrededor, desvanecido por la grande angustia por [la] que ha pasado...

Dante Alighieri (1265-1321)

vii

Indice general
1. T tulo del Cap tulo Uno 1.1. T tulo de una primera secci on . . . . . . 1.1.1. T tulo de una primera subseccion 1.1.2. T tulo de una segunda subseccion 1.2. T tulo de una segunda secci on . . . . . . 1.3. Resumen . . . . . . . . . . . . . . . . . . 2. T tulo del Cap tulo Dos 2.1. T tulo de una primera secci on . . . . . . 2.1.1. T tulo de una primera subsecci on 2.1.2. T tulo de una segunda subsecci on 2.2. T tulo de una segunda secci on . . . . . . 2.3. Resumen . . . . . . . . . . . . . . . . . . 4 4 5 5 6 6 8 8 9 9 10 10 12 16 18 18 19 19 20 21 21 22 22 23

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

3. Conclusiones y Trabajos Futuros 3.1. Limitaciones y trabajos futuros . . . . . . . . . . . . . . . . . . . . . A. T tulo del A.1. T tulo A.1.1. A.1.2. A.2. T tulo B. T tulo del B.1. T tulo B.1.1. B.1.2. B.2. T tulo Anexo Uno de una secci on de anexo . . . . . . . . . . T tulo de una subsecci on de anexo . . . . T tulo de una segunda subseccion de anexo de una segunda secci on de anexo . . . . . . Anexo Dos de una secci on de anexo . . . . . . . . . . T tulo de un subsecci on de anexo . . . . . T tulo de una segunda subsecci on de anexo de una segunda secci on de anexo . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

Indice de guras

Indice de tablas

Cap tulo 1 T tulo del Cap tulo Uno


Escribir aqu un resumen de lo que se tratar a en este cap tulo (podr an ser uno o dos p arrafos). Es decir, bla bla bla bla bla y mas bla pues bla bla mientras que bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

1.1.

T tulo de una primera secci on

Este texto pertenece a una primera secci on. Escribir aqu una peque na introducci on de lo que se ver a en esta secci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras que bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla

bla bla bla bla bla bla bla. N otese que aqu hay una referencia bibliogr aca [1, p:10] . Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. N otese que aqu hay otra referencia bibliogr aca [19, p:20].

1.1.1.

T tulo de una primera subseccion

Este texto pertenece a una subsecci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Podemos decir que bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

1.1.2.

T tulo de una segunda subseccion

Este texto pertenece a otra subsecci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Podemos decir que bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

1.2.

T tulo de una segunda secci on

Este texto pertenece a una primera secci on. Escribir aqu una peque na introducci on de lo que se ver a en esta secci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras que bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

1.3.

Resumen

Escribir aqu un resumen de lo que se trat o en este cap tulo (podr an ser uno o dos p arrafos). Es decir, bla bla bla bla bla y mas bla pues bla bla mientras que bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

Cap tulo 2 T tulo del Cap tulo Dos


Escribir aqu un resumen de lo que se tratar` a en este cap tulo (podr an ser uno o dos p arrafos). Es decir, bla bla bla bla bla y mas bla pues bla bla mientras que bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

2.1.

T tulo de una primera secci on

Este texto pertenece a una primera secci on. Escribir aqu una peque na introducci on de lo que se ver a en esta secci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras que bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla

bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

2.1.1.

T tulo de una primera subsecci on

Este texto pertenece a una subsecci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Podemos decir que bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

2.1.2.

T tulo de una segunda subsecci on

Este texto pertenece a otra subsecci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Podemos decir que bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla

bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

2.2.

T tulo de una segunda secci on

Este texto pertenece a una primera secci on. Escribir aqu una peque na introducci on de lo que se ver a en esta secci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras que bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

2.3.

Resumen

Escribir aqu un resumen de lo que se trat o en este cap tulo (podr an ser uno o dos p arrafos). Es decir, bla bla bla bla bla y mas bla pues bla bla mientras que bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla

10

bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

11

Cap tulo 3 Conclusiones y Trabajos Futuros


Esta tesis present o los aspectos de dise no de un sistema de captura, en tiempo de ejecuci on, de eventos MIDI provenientes de m ultiples fuentes en paralelo (CMIDIP). Este tipo de sistemas son deseables para separar la m usica de varios instrumentos y as facilitar su post-procesamiento. Lo diferente, lo nuevo, es que nuestro dise no hace posible la extracci on precisa y autom atica de las partituras de cada instrumento. Permite contar con las partituras de improvisaciones musicales, las cuales son una manifestaci on u nica e irrepetible. Facilita la tarea del arreglista. Y ayuda al estudio y desarrollo de la ejecuci on musical, al permitir obtener las partituras de ejecuciones, las cuales se pueden comparar con las partituras de versiones perfectas. Es posible organizar un sistema CMIDIP con computadoras personales completas, con componentes de prop osito general, o con componentes dise nados a la medida. Aunque las dos primeras alternativas se pueden desarrollar en un tiempo relativamente corto y a un precio accesible, no son pr acticos de usar. Para ganar una aceptaci on general, creemos que un CMIDIP debe ser f acil de usar por m usicos que no necesitan saber de detalles t ecnicos complejos. Presentamos dos dise nos de sistemas CMIDIP, con componentes dise nados a la medida, que son port atiles y f aciles de usar. Su operaci on s olo requiere conectar los instrumentos y presionar unos pocos botones. Uno de nuestros dise nos, MCS-L (MIDI Capture System-Lineal), utiliza com-

12

ponentes comunes en el mercado y una memoria convencional est andar cuyas localidades se manejan en varias listas con un algoritmo convencional. El uso de componentes comunes permite el desarrollo de un prototipo en muy poco tiempo. Sin embargo, creemos que su fabricaci on masiva ser a relativamente costosa debido a que requiere alrededor de 20 circuitos integrados convencionales. El otro dise no, llamado MCS-S (MIDI Capture System-Segmented), utiliza un dise no especial de memoria segmentada por hardware. Su ventaja es que s olo utiliza 3 circuitos integrados de prop osito espec co ASIC: (Application Specic Integrated Circuit), por lo que en una producci on masiva su costo ser a considerablemente menor que el de MCS-L. Adem as, el uso de menos circuitos reduce la complejidad del hardware y el software de control del sistema, y por lo tanto el riesgo de errores de implementaci on. Las especicaciones de la memoria de MCS-S, llamada memoria segmentada autocompactante (MSA), permite la separaci on autom atica de los eventos MIDI que producen en paralelo varios instrumentos musicales. Los datos se insertan en espacios diferentes de tama no variable, de tal manera que si un instrumento musical no genera datos, dicho espacio es aprovechado por otro que s est e generando datos. Internamente, en cada operaci on de lectura o escritura, todos los datos en memoria se mueven en paralelo durante un periodo de reloj, cuya velocidad depende de la tecnolog a vigente impuesta en la fabricaci on de circuitos integrados. Para evaluar nuestros dise nos de MCS-L y MCS-S procedimos de la siguiente manera. Con base en el dise no de MCS-L desarrollamos un prototipo utilizando un sistema m nimo con el microcontrolador Intel 8051, y desarrollamos software para controlarlo. Nuestro prototipo maneja 1 MB de memoria y tiene 16 interfases MIDI para conectar el mismo n umero de instrumentos. Cada interfaz MIDI consiste de un UART 6850 de Motorola y un temporizador de duraci on de las notas MIDI que se reciben. Nuestro software de control KLM, es un peque no sistema operativo b asico escrito en lenguaje C y ensamblador que, explora los puertos de cada UART, extrae los datos MIDI de sus registros, almacena los eventos MIDI en memoria, e iniciali13

za y apaga los temporizadores. El manejo de memoria es una estructura (cola) FIFO global, en la que se almacena cada evento MIDI con una etiqueta que identica al instrumento que lo gener o. Con nuestro prototipo de MCS-L realizamos una captura de eventos MIDI generados por varios instrumentos. Los datos as capturados los bajamos entonces a una PC, en la cual post-procesamos dichos datos para generar las partituras de la m usica tocada por los instrumentos. Este post-procesamiento fue realizado con KL, un compilador que desarrollamos para producir partituras con calidad profesional, escrito tambi en en lenguaje C. Su entrada puede ser un archivo de eventos MIDI o un archivo de comandos de lenguaje natural de solfeo: por ejemplo, do, re, mi, f a, sol la, si. Ambos tipos de entrada son convertidas en comandos de s mbolos gr acos musicales para diferente formatos de impresi on de partituras. Para evaluar el dise no de MCS-S dise namos e implementamos una simulaci on de sus componentes que son distintos a los componentes de MCS-L. MCS-L y MCS-S dieren solamente en la memoria donde se almacenan los eventos MIDI de cada instrumento; todos los dem as componentes pueden ser iguales en una implementaci on. Para vericar el funcionamiento correcto de la MSA utilizamos Xilinx, un sistema (CAD Computer Aided Design) de software que ayuda en el dise no y desarrollo de sistemas digitales. Su medio ambiente interactivo permite el dise no, la simulaci on (vericaci on), e implementaci on (descarga) de circuitos integrados deposit andolos en un ASIC. La especicaci on de un circuito se realiza en lenguaje VHDL (similar a PASCAL). Realizamos la especicaci on funcional en VHDL de los seis componentes que tiene cada celda de memoria: celda de control, multiplexor de direcciones, multiplexor de datos, registro de memoria auxiliar, registro de memoria principal, y un buff er de tercer estado para almacenamiento temporal. Se compilaron, y se observaron las formas de onda producidas en la simulaci on de los 16 estados que tendr a cada celda, antes de escribir o leer cualquier dato de un evento MIDI. La MSA est a formada por una sucesi on consecutiva de celdas de memoria. Cuan14

do se escribe o se lee un dato en/desde la memoria, cada celda de control genera se nales internas y externas para que los datos y direcciones de todas las celdas de memoria se desplacen en paralelo una posici on a la derecha o a la izquierda, respectivamente. Nuestros resultados corresponden a una memoria MSA con 30 celdas, de las cuales 16 corresponden a las cabeceras de los segmentos, por lo que nuestra simulaci on solo maneja 14 localidades para datos. Esta es una severa limitaci on debido a que la simulaci on de la MSA demanda demasiados recursos de hardware y software. La compilaci on del c odigo VHDL para 18 celdas de memoria tarda m as de tres horas, y en la compilaci on de 100 celdas el sistema operativo Windows gener o una falla y par o el sistema. Cabe aclarar que este problema no se debe a nuestro dise no de la MSA, sino a las limitaciones, tanto de memoria RAM operativa como de espacio en disco duro, que imponen Windows y Xilinx. Este problema se resuelve utilizando versiones profesionales de Xilinx y estaciones de trabajo con sistemas operativos tipo UNIX. No obstante las limitaciones de nuestra simulaci on, nuestros resultados de los componentes b asicos de una memoria MSA son una prueba de concepto de que dicha memoria es posible, y as mismo nuestro sistema MCS-S basado en la misma. En resumen, las contribuciones principales de esta tesis son las siguientes: Un an alisis de las posibles organizaciones de hardware y software para capturar los datos de eventos MIDI que generan uno o varios instrumentos musicales. Dos dise nos espec cos completos, MCS-L y MCS-S, para lograr la captura de eventos MIDI musicales. MCS-L utiliza componentes est andar, y MCS-S utiliza una Memoria Segmentada y Autocompactante (MSA) cuyos datos internos se mueven en paralelo en cada ciclo de reloj, y cuyo periodo es dependiente de la tecnolog a VLSI del momento. Una implementaci on de MCS-L. Una dise no y vericaci on s olo de la memoria MSA, que es el u nico componente 15

de MCS-S distinto a los componentes de MCS-L. Un compilador (KL) que produce partituras musicales a partir de datos MIDI o de lenguaje natural de solfeo musical.

3.1.

Limitaciones y trabajos futuros

La evaluaci on de nuestro dise no de MCS-L y de la memoria MSA de MCS-S estuvo un tanto restringida, y es conveniente corroborar ambos dise nos por medio de una evaluaci on m as completa. El prototipo de MCS-L s olo permite realizar la captura de eventos MIDI de 2 instrumentos. Este prototipo utiliza exploraci on de puertos (polling ) para capturar los eventos MIDI. Es conveniente extender nuestro prototipo para que sea capaz de capturar los eventos MIDI de m as instrumentos (16 ser a ideal, pues es el n umero de los integrantes de una banda). En esta extensi on tal vez sea necesario utilizar interrupciones en lugar del sondeo de puertos (polling ), con el n de mejorar el tiempo del procesador. Alternativamente, para garantizar la captura de todos los eventos MIDI de 16 instrumentos, se podr a utilizar un prototipo con un procesador y memoria m as r apidos. Su control, basado en KLM, debe ser relativamente f acil, ya que KLM est a en lenguaje C. Nuestro software KL permiti o evaluar las partituras obtenidas a partir de los datos experimentales que se capturaron. Sin embargo, estos datos s olo describen los par ametros b asicos de una nota: nota, duraci on, y volumen. Par ametros como ligaduras, glissandos o barras, no se pudieron capturar, se editaron despu es en el post-procesamiento escribi endolos manualmente. Esto puede hacerse de manera autom atica aumentando la funcionalidad de KL. La memoria MSA de MCS-S s olo fue simulada en un medio ambiente de software Xilinx cuyas limitaciones s olo permitieron simular una peque na cantidad (30) de celdas de memoria. Estas limitaciones se debieron a la cantidad de memoria RAM 16

y de disco duro disponibles en nuestra computadora personal con Windows NT. Con una estaci on de trabajo bajo UNIX y con una versi on de Xilinx profesional, ser a posible corroborar un dise no de MSA con un n umero de celdas de memoria como la requerida para una implementaci on real. Hoy en d a existen paquetes de software llamados n ucleos que proveen la funcionalidad de los circuitos integrados m as comunes. Estos n ucleos se escriben generalmente en lenguaje VHDL, y hay n ucleos de UART (6820, 8250), de memoria RAM tradicionales, microcontroladores (8051), procesadores (68000, 80486), puertos paralelos (8255), entre muchos otros. Estos n ucleos se desarrollan con herramientas como Xilinx, con la cual desarrollamos la MSA. Encadenando nuestro dise no de MSA con otros n ucleos se podr a tener un dise no de MCS-S totalmente encapsulado en un solo circuito integrado ASIC cuya densidad depender a de la tecnolog a VLSI que se utilice. El resultado ser a: mayor rapidez de captura, menor tama no, y una mayor tolerancia a fallas. En resumen, esta tesis presento el dise no y evaluaci on preliminar de sistemas de captura en tiempo de ejecuci on de eventos MIDI provenientes de varias fuentes en paralelo. Nuestros resultados sugieren que estos sistemas son factibles de ser construidos. Pueden tambi en aprovecharse en la implementaci on de unidades terminales remotas, las cuales podr an formar parte de un sistema de mantenimiento preventivo basado en ruido, o de un sistema de supervisi on y control de datos (SCADA: Supervisory Control And Data Acquisition).

17

Ap endice A T tulo del Anexo Uno


Escribir aqu un breve resumen de lo que contiene este anexo (podr an ser uno o dos p arrafos). Es decir, bla bla bla bla bla y mas bla pues bla bla mientras que bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

A.1.

T tulo de una secci on de anexo

Este texto pertenece a una primera secci on. Escribir aqu una peque na introducci on de lo que se ver a en esta secci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras que bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla

18

bla bla bla bla bla bla bla. N otese que aqu hay una referencia bibliogr aca [1, p:10] . Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. N otese que aqu hay otra referencia bibliogr aca [19, p:20].

A.1.1.

T tulo de una subsecci on de anexo

Este texto pertenece a una subsecci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Podemos decir que bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

A.1.2.

T tulo de una segunda subseccion de anexo

Este texto pertenece a otra subsecci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Podemos decir que bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

19

Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

A.2.

T tulo de una segunda secci on de anexo

Este texto pertenece a una primera secci on. Escribir aqu una peque na introducci on de lo que se ver a en esta secci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras que bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

20

Ap endice B T tulo del Anexo Dos


Escribir aqu un breve resumen de lo que se anexa (podr an ser uno o dos p arrafos). Es decir, bla bla bla bla bla y mas bla pues bla bla mientras que bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

B.1.

T tulo de una secci on de anexo

Este texto pertenece a una primera secci on. Escribir aqu una peque na introducci on de lo que se ver a en esta secci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras que bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla

21

bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

B.1.1.

T tulo de un subsecci on de anexo

Este texto pertenece a una subsecci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Podemos decir que bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

B.1.2.

T tulo de una segunda subsecci on de anexo

Este texto pertenece a otra subsecci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Podemos decir que bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla

22

bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

B.2.

T tulo de una segunda secci on de anexo

Este texto pertenece a una primera secci on. Escribir aqu una peque na introducci on de lo que se ver a en esta secci on. Es decir, bla bla bla bla bla y mas bla pues bla bla mientras que bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Sin embargo, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla y mas bla pues bla bla. Mientras tanto, bla bla bla bla bla y mas bla pues bla bla mientras bla bla bla bla bla. Y m as bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. As , bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. Por u ltimo, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

23

Bibliograf a
[1] Bergin Thomas J., Richard G. Gibson, eds. History of Prgramming Languages, ACM Press, Addison Wesley, USA, 1996. 864 pgs. (p: 19) [2] Born G unter, The File Formats Handbook, International Thompson, Computer Press, 1995. 1274 pgs. (p: ??) [3] Escobedo Pedro, Zacatl an, Orq. C. Campos, D.R. 33 rpm, s.f. M exico. Versi on MIDI: M. Pe na G., 2002. (p: ??) [4] Francois Jalbert, MuTEX Users Guide, (version 1.1), Rheinische FriedrichWilhelms University, Wegler Strabe 6 5300, Bonn Deutschland, 29 August 1989. (cdr@stolaf.edu) (p: ??)
A [5] Goossens Michel, Sebastian Rahtz, Frank Mittelbach, L TEX Graphics Companion: Illustrating Documents with TEX and PostScript, Addison Wesley, USA, 1997. 556 pgs. (p: ??)

[6] Helmholtz Hermann L.F., On the Sensations of Tone: As a Physiological Basis for the Theory of Music, 2th. ed. Ing., Dover Publications, Inc., New York, 1954. 576 pgs. (p: ??) [7] Knuth Donald E., TEX and METAFONT New Directions in Typesetting, Digital Press, American Mathematical Society, 1979. (p: ??) [8] Knuth Donald E., The Art of Computer Programming: Fundamental Algorithms, Volume 1, Third Edition, Addison Wesley, USA, 1997. 650 pgs. (p: ??) [9] Minsky Marvin, Music, Mind, and Meaning (1981), en Schwanauer and Levitt, Machine Models of Music, USA, The MIT Press Cambridge, 1993., pp. 326-354. 544 pgs. (p: ??) [10] Moog Robert A., Voltaje-Controlled Electronic Music Modules, R. A. Moog Co., Trumansburg, New York, Journal of the Audio Engeering Society, january, 1968, vol. 16 No. 1. pp. 200-206. (p: ??) [11] Moog Bob., MIDI: Musical Instrument Digital Interface, Journal of the Audio Engeering Society, may 1986, v. 34 No. 5. pp. 394-404. (p: ??) [12] Neumann John Von, Theory of Self-Reproducing Automata, Edited and completed by Arthur W. Burks, University of Illinois Press, Urbana and London, 1966. (p: ??) [13] Pe na G. M., Mira, en Conjunto Marakatumba, Dir.: M. Pe na, M-026 45 rpm, Discos Marhnos, 1977. (p: ??) 24

[14] Pe na G. M., Mi Nena, en Delnes del Tr opico, Dir.: A. Pacheco, stereo L.P.BO-06, Discos Boga 1/3 rmp (Masterworks), siete composiciones, 1981. (p: ??) [15] Pe na G. M., SEEAM: Sistema de Escritura y Ejecuci on Autom atica de M usica, Reporte de Proyecto DEPI 962961, Centro Nacional de C alculo, Centro de Investigaci on en Computaci on IPN, 1997. (p: ??) [16] Pe na G. M., Algoritmos Para Simulaci on de una Orquesta Sinf onica en una M aquina Distribuida o Paralela, informe sab atico, CIC-IPN, residencia sab atica: CINVESTAV IPN, 1998-99. (p: ??) [17] Pe na G. M., A. De Lucca P., Capture of Events MIDI in Parallel With FPGA, Journal of Applied Sciences & Technology, Vol. 1, No. 1, March 2003. (p: ??) [18] Taupin Daniel, MusicTEX Using TEX to write polyphonic or instrumental Music, (version 5.14), Laboratoire de Phisique des Solides (associ e au CNRS), batiment 510, Centre Universitaire, F-91405 ORSAY Cedex, Oct. 25, 1995. 67 pgs. (p: ??) [19] Turing A. M., Puede pensar una m aquina?, en ed., James R. Newman, SIGMA: El mundo de las matem aticas, vol. VI, Grijalbo, d ecima edici on, Barcelona Esp., 1985. p.45. (p: 19)

25

26

Glosario
ASIC: Application Specic Integrated Circuit, circuito integrado de aplicaci on espec ca. Circuitos integrados electr onicos que pueden ser dise nados en forma directa por los ingenieros de aplicaciones. CAC: Computer Aided Composer, Composici on Asistida con Computadora. Colecci on de programas de sof tware agrupados en un medio ambiente de computadora digital que interact ua con el usuario para estudiar, desarrollar, simular e interpretar m usica de cualquier tipo, incluyendo toda clase de sonidos. CPLD: Complex Programmable Logic Device, dispositivo de l ogica programable compleja. Circuito integrado de alta densidad que puede ser programado de tal forma que se permita introducir sistemas de circuitos l ogicos electr onicos dentro de un s olo chip, y con lo cual es posible producir circuitos integrados de prop osito espec co (ASIC). FPGA: Field Programmable Gate Array, arreglo de compuertas programables en campo. Circuito integrado de alta densidad que contiene un arreglo de compuertas l ogicas cuyas conexiones son programables de tal forma que sea posible introducir sistemas de circuitos l ogicos electr onicos en un s olo chip para implementar un circuito integrado de prop osito espec co (ASIC). Generador de tonos: Dispositivo electr onico digital que puede generar una gran variedad de sonidos musicales de acuerdo con las notas que recibe. Es un sintetizador de sonidos similares a los producidos por instrumentos musicales. Se conecta, a trav es de la interfaz MIDI, a computadoras digitales o cualquier otro controlador MIDI, los cuales env an notas musicales en forma de comandos para reproducir la m usica de acuerdo con la informaci on que tiene un archivo MIDI, u otra forma de almacenamiento digital. ICB: Isolate Couple Block, bloque de acoplamiento aislado. Interfaz de hardware dise nada para el sistema MCS que contiene 16 circuitos de aislamiento optoelectr onico entre los dispositivos de comunicaciones UART y los instrumentos MIDI: optoacopladores, inversores, amplicadores y componentes pasivos.

27

KL: Kernel for a musical Language, n ucleo para un lenguaje musical. Compilador de estructuras musicales desarrollado por el autor para estudiar el procesamiento electr onico de la m usica. La entrada es un programa fuente que tiene cadenas de texto escritas en lenguaje natural (do re mi fa sol sil fa ...) de las notas musicales (solfeo). La salida son gr acas, partituras, y/o el sonido de una canci on escrita en el programa fuente. KLM: Kernel for a smalL Monitor, n ucleo para un monitor peque no. Conjunto de primitivas y funciones que conguran un sistema operativo b asico en tiempo real, desarrollado por el autor, para controlar los recursos de hardware y sof tware de una microcomputadora con base en microprocesadores y microcontroladores. Supervisa las peticiones de usuario a trav es de una terminal de computadora y responde a las se nales el ectricas de control que emiten los perif ericos activando las rutinas de atenci on asociadas. MCB: MIDI Communications Block, bloque de comunicaciones para interfaz MIDI. Interfaz de hardware dise nada para el sistema MCS, con 16 componentes digitales de recepci on de datos UART y de prop osito espec co ASIC, descritos formalmente con VHDL, para conectar la grabadora digital MCS con instrumentos musicales. MCS: MIDI Capture System, sistema de captura MIDI. Nombre gen erico del dispositivo de grabaci on electr onico digital que se presenta en este trabajo. Dise nado para capturar datos MIDI que transmiten varios instrumentos musicales cuando est an tocando, y obtener la partitura de cada uno. MCS-L: MIDI Capture System-Lineal, sistema de captura MIDI versi on 1. Sistema MCS que tiene una memoria est atica RAM lineal; versi on acad emica. MCS-S: MIDI Capture System-Segmented, sistema de captura MIDI versi on 2. Sistema MCS que tiene memoria con segmentos variables; versi on industrial que puede fabricarse en grandes cantidades con tecnolog a VLSI. MIDI: Musical Instrument Digital Interface, interfaz digital para instrumentos musicales. Protocolo de comunicaciones de hardware y sof tware est andar dise nado por los fabricantes de instrumentos musicales electr onicos.

28

Pentagrama: Grupo de cinco l neas horizontales para escribir s mbolos gr acos que tiene el lenguaje musical y que determina una melod a. Sintetizador: Dispositivo electr onico digital, similar a un piano, que puede generar una gran variedad de sonidos musicales. Las notas son activadas por el sistema de teclas, o tambi en por aquellas que recibe a trav es de su interfaz MIDI interconstruida y conectada con computadoras digitales u otros dispositivos similares. Sistema de tiempo real: Dispositivo que controla una aplicaci on dedicada la cual tiene restricciones temporales bien denidas. Solfeo: Lenguaje natural musical, compuesto por las s labas do, re, mi, f a, sol, la y si, para ense nar m usica cantando. Tiempo real: Momento actual de respuesta al procesamiento inmediato de datos que interact uan con procesos f sicos. UART: Unasynchronous Asynchronous Reciver Transmitter, transmisor y receptor s ncrono as ncrono. Dispositivo electr onico digital de comunicaciones serial que transforma datos con formato serie a paralelo para recibir o transmitir informaci on. La velocidad de transferencia, cuando se utiliza en instrumentos musicales electr onicos, es de 32,250 Bauds lo que permite enviar y recibir, en promedio, hasta 142 notas musicales en un segundo. VHDL: VHSIC Hardware Description Language (lenguaje descriptivo de hardware para VHSIC). Lenguaje de alto nivel para dise nar circuitos digitales electr onicos. VHSIC: elevada). Very High Speed Integrated Circuits (circuitos integrados a velocidad muy

VLSI: Very Large Scale Integration (integraci on a escala muy elevada). T ecnica de fabricaci on de circuitos integrados electr onicos en espacios bastantes reducidos.

29

30

También podría gustarte