reporte de actividades semestre 2011-1...analizador de registro este algoritmo se encarga de...

17
REPORTE DE ACTIVIDADES Semestre 2011-1 I. DATOS GENERALES y ACADÉMICOS Nombre del alumno: Mijael Gutiérrez López Programa de estudios: Doctorado en Música – Tecnología Musical Escuela Nacional de Música Universidad Nacional Autónoma de México Título de la Tesis: AGENTES INFORMÁTICOS EN SISTEMAS DE INTELIGENCIA ARTIFICIAL PARA LA CREACION DE APLICACIONES DE CÓMPUTO MUSICAL. Director de Tesis: Dr. Felipe Orduña Bustamante Comité Tutoral: Dr. Antonio Corona Alcalde Dr. Felipe Orduña Bustamante Dr. Pablo Padilla Longoria

Upload: others

Post on 10-Apr-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

REPORTE DE ACTIVIDADES

Semestre 2011-1

I. DATOS GENERALES y ACADÉMICOS

Nombre del alumno:

Mijael Gutiérrez López

Programa de estudios:

Doctorado en Música – Tecnología Musical Escuela Nacional de Música Universidad Nacional Autónoma de México

Título de la Tesis:

AGENTES INFORMÁTICOS EN SISTEMAS DE INTELIGENCIA ARTIFICIAL PARA LA

CREACION DE APLICACIONES DE CÓMPUTO MUSICAL.

Director de Tesis:

Dr. Felipe Orduña Bustamante

Comité Tutoral:

Dr. Antonio Corona Alcalde

Dr. Felipe Orduña Bustamante

Dr. Pablo Padilla Longoria

Page 2: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

AVANCES DE INVESTIGACIÓN S. 2010-2

La actividad de éste semestre se ha centrado en la implementación

informática operativa que arroje los primeros resultados, en la definición final de los

procesos de cooperación entre agentes y la fundamentación teórica de los procesos

cognitivos que se utilizaron para resolución de el análisis melódico.

ESTRUCTURACIÓN FINAL DE LA APLICACIÓN.

La estructura Final del Algoritmo queda definida entonces de la siguiente manera:

ALGORITMO GENERAL

• Analizador armónico

• Generador de datos armónicos

• Analizador de registro

• Generador de base de datos de registro

• Analizador de tesituras

• Generador de base de datos de tesitura

• Analizador rítmico-melódico

• Generador de datos de alturas

• Generador de datos de tiempos relativos proporcionales

• Generador de datos ritmico-melódicos correlacionados

Page 3: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

SECCIÓN DEL LECTOR

El esquema general del lecotr se ha reestructurado de la siguiente forma:

Analizador Armónico

Esta sección del lector se encarga de recopilar los datos de la armonía presente en

el archivo analizado. Basa su análisis en el método de pitch class para localizar las

formas ideales así como los vectores interválicos presentes. El análisis que realiza lo

hace por beats o tiempos de compás a lo largo de toda la pieza. Los datos

resultantes se van almacenando en forma de arreglos o arrays. En esta sección se

realiza también un registro de la tonalidad presente en la pieza (en caso de que sea

tonal).

A.rítmico

DatosRítmicos

AnalizadorEstadísticoRítmo

AnalizadorRítmico‐Melódico

B.dedatosEstadísticasRitmo

B.dedatosRítmico‐Melódico

AnalizadorArmónico

DatosArmónicos

Relacionmelódica‐Armónica

B.DatosEstadísticasMelódica‐Armónica

Inspectores

Page 4: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

Analizador de registro

Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza

analizada. Realiza un análisis de las notas más altas y más bajas y establece un

promedio, además de que realiza un análisis de el comportamiento ascendente o

descendente que pueda tener.

Analizador de tesituras.

Utilizando los datos de las notas extremas, en cuanto altura se refiere, se establece

también el rango de notas máximo y mínimo en cada sección de la pieza, de esta

manera se tiene información sobre cuanto se extiende y se contrae el rango de

notas a lo largo de la pieza y en relación a la tessitura máxima de la misma.

Analizador Rítmico-Melódico

El analizador rítimico melódico se basa en procesos cognitivos y correlaciona datos

de ritmo con alturas.

Primeramente identifica tanto frases como motivos rítmicos delimitándolos

claramente y posteriormente busca frecuencias en los giros melódicos para

identificar patrones melódicos recurrentes.

Operación:

Para el identificador rítmico se ha implementado un sistema que consiste en

los siguientes procesos:

Codificador de duración de notas midi

La primera parte del codificado rítmico intenta leer los metadatos midi

referentes a el tipo de compás del que se trata para una mejor lectura, también se

buscará si existen indicaciones de tempo, sin embargo no es indispensable para la

codificación.

Page 5: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

Posteriormente se toman las duraciones de las notas de cada una de las voces midi

contenidas en la pieza a analizar en milisegundos, las pequeñas variaciones que

pudiesen existir se redondean, toda nota menor a 50 milisegundos se omite.

Se ha incorporado igualmente un detector de silencios en cada una de las voces,

cuando esto ocurre se registra en la base de datos con la duración y un indicador

que establece que se trata de un silencio.

Debido a que la duración se toma en tiempo midi absoluto no se considera relevante

establecer un tiempo relativo1.

Se realiza una reducción de los tiempos comenzando por los más pequeños y

establecer cuál es la duración más pequeña, se examina también la relación entre

los tiempos para establecer si se trata de divisiones ternarias o binarias, aunque

esto pudiera no ser relevante.

Se realiza una reducción de los tiempos para que el tiempo más pequeño tenga una

duración de unidad

Se comienza con el análisis de los datos rítmicos para buscar patrones, éste

comienza localizando y marcando todas las duraciones iguales precedidas de un

silencio, una nota muy larga, proporcionalmente hablando, o en el caso de la primer

nota del primer compás, eso es importante debido a que de otra manera el sistema

podría caer en un ciclo muy largo tratando de identificar todas las posibilidades

combinatorias.

Una vez establecidas las duraciones iguales se procede a analizar la duración de las

notas subsecuentes hasta llegar donde comienza otro marcador y se lleva una

relación de las que posean un patrón similar, se obtiene una relación estadística de

la recurrencia de ciertas figuras para descartar las mas altas y las mas bajas

Ej:

Identificación de notas similares a partir de la primera nota o después de un silencio

1 Esto se revisará según los resultados

Page 6: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

Al finalizar se han obtenido los datos rítmicos:

La figura:

Figura Recurrencia %

qh 1 .11

qq 1 .11

qxxxx 2 .22

qee 5 .55

Identificación de alturas

Cuando se identifican similitudes en los ritmos se comienza el proceso de

análisis de las alturas asociadas a las duraciones, en éste punto se obtienen datos

de si la nota subió (+1), bajo (-1) o permaneció estática (0). Los datos que posean

duraciones similares y movimientos similares se almacenan en un a base de

patrones melódicos.

Page 7: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

Ej:

Figura Movimiento Recurrencia %

qh +1 1 .11

qq +1 1 .11

qxxxx -1, +1, +1, -1 1 .11

qxxxx -1, +1, +1, +1 1 .11

qee +1, -1 2 .22

qee 0, 0 3 .33

Reductor de proporciones

El analizador rítmico almacena datos de la duración de las notas no únicamente

absoluto sino relativo proporcional, para identificar así tendencias rítmicas y facilitar

el análisis, esto ayuda también a identificar patrones aún cuando existan cambios de

tempo a lo largo de la pieza musical analizada.

Ej.

1=Redonda, 2=Blanca, 4=negra, 8=Corchea, 16=fusa

De ésta manera si tenemos combinaciones como:

Tenemos datos como:

1) 4,4,2 y 16,16,8 forma reducida: (2:2:1)

2) 8,4,8 y 16, 8, 16 forma reducida: (2:1:2)

3) 8,8,4,8,8 y 16 forma reducida: (2:2:1:2:2)

La forma reducida sirve para indicar que hay presencia de patrones proporciones

rítmicas fijas y facilita la construcción de patrones. Al igual que en el analizador

melódico las lecturas se toman de un silencio al otro.

Page 8: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

En esta sección también se registra el tempo y compás en la que se encuentra la

pieza analizada.

EVALUADOR ESTADÍSTICO

En principio del proyecto, se había contemplado un medidor estadístico que se

encargara de obtener todas las estadísticas necesarias para establecer frecuencias,

en especial para identificar los patrones melódicos; no obstante, debido a que todos

los procesos de identificaión se modificaron de la idea original, en especial el

analizador melódico y, de hecho, estos ya arrojan sus propias estadísticas, el

medidor original se ha modificado, no obstante, éste sigue teniendo un papel

relevante pues la correlación de todo éstos datos servirán para definir los estados de

satisfacción de los agentes inspectores del generador y, por ende, el

comportamiento del sistema en lo que se refiere al los estilos musicales

reproducidos también ha sufrido modificaciones desde su concepción inicial.

Ha sido necesario dividir los datos estadísticos en 2 grupos:

Estadísticas para los generadores y estadísticas para los inspectores. Hasta este

punto los datos requeridos que se almacenan en una base de datos son los

siguientes:

• Estadísticas de agentes generadores.

Éstas estadísticas son importantes porque establecen las probabilidades con las que

trabajarán las gramáticas de los agentes. Y son:

• Probabilidad armónica. En ésta se incluyen todas las

combinaciones de notas y se establece la frecuencia con la que

aparece.

p. ej: ([047],[60]) significa que la combinación [0,4,7] (podría se C,E,G) aparece con una

frecuencia del 60%.

• Probabilidad rítmica. Semejante a la anterior lee la frecuencia con

la que un arreglo rítmico aparece.

• Estadísticas de Agentes Inspectores.

Page 9: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

Éstas estadísticas son las que generarán los estados de satisfacción y contienen

datos del tiempo relativo2 o al número del evento midi pues varían en el tiempo.

• Combinaciones rítmico-melódicas. Ésta contiene datos del tiempo

corriente, datos de la combinación rítmico-melódica.

Ej: ([40] [0 2 4] [11211]) Significa que en el evento número 40, la combinación rítmico-

melódica deberá ser: [0,2,4] (podría ser (C,D,E) en las notas y [11211] en el ritmo (podría ser

eeqee) .

Es importante tomar en cuenta que aunque el número de evento se va contabilizando de 1

en 1 la combinación se mantiene vigente hasta que se terminen de ejecutar todas las notas

de los datos melódicos. Ésto quiere decir que los siguientes datos bien podrían tener un

número no consecutivo (por ejemplo el siguiente arreglo de datos podría ser [50] [047] [122])

• Combinaciones rítmico-armónicas. Se ha eliminado ésta función

• Combinaciones melódico-armónicas. Esta función es muy

importante pues se encarga de elegir las combinaciones

adecuadas para que la melodía y la armonía se combinen

adecuadamente.

Ej. ([ 0 2 4 5 7] ([0 4 7] [ 7 11 2])) Significará que la melodía estará conformada por las notas

0,2,4,5,7 y será construida sobre los acordes 0,4,7 y 7,11,2.

Se tendrán seis inspectores encargados de distribuir la información para asegurar

que el flujo de datos permanesca constante o de lo contrario de detiene el proceso.

Generador

La sección del generador ha sufrido modificaciones debido a los tipos de

datos que utilizara la manera en que procesa la información será:

• Recibe algunos parámetros importantes por parte del usuario como Tempo,

Compás, Clave y Registro (por octavas). De manera predeterminada, los

parámetros se ajustan de acuerdo con los datos obtenidos del lector. Otros

parámetros que se ajustan son el program change o tipo de instrumento.

2Tiemporelativoserefierealtiempomedidoencompásygolpe(bar&beat).

Page 10: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

• El lector de datos recibe la información de la base de datos para establecer

así el comportamiento que tendrá la pieza generada (funciones de

distribución). De esta manera se establece:

o Cuáles serán las relaciones interválicas predominantes en la armonía

de la pieza generada (normal form)

o Cuáles serán las relaciones o os giros melódicos predominantes.

o Cuáles serán las figuras rítmico-melodicas predominantes así como

los patrones interválicos (forma reducida)

o Cual es el rango, y la tessitura así como la distancia entre las voces

extremas.

• El constructor consta de los siguientes puntos:

o Elije, de acuerdo a cierta probabilidad establecida en el analizador

estadístico, uno de los vectores interválicos y genera una

combinación de notas que se ajustan de manera similar.

o Elije algunos patrones rítmicos-melódicos registrados en la base de

datos de acuerdo con las probabilidades establecidas en las formas

reducidas.

o Elije vectores de forma ideal (normal form) para la construcción de

motivos rítmico-melódicos

• El reproductor ejecuta en tiempo real todos los datos midi generados y

contiene además una opción para grabar el archivo midi resultante.

PERFECCIONAMIENTO DEL SISTEMA MULTIAGENTE

El sistema multiagente no ha sufrido modificaciones mayores, sin embargo, se han

realizado agregados y algunas correcciones importantes desde su implementación original.

Es un sistema constituido por un grupo de agentes reactivos cuyas tareas se encuentran

predefinidas desde su programación, y las tareas son repartidas de acuerdo a una

organización mixta.

Page 11: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

ORGANIZACIÓN

La parte central del Sistema Multiagente se encuentra englobado en la sección del

constructor, en ésta se encuentran contenidos los agentes resonsables de realizar tareas,

mostrar resultados y buscar la aceptación. Su estructura organizativa se encuentra

distribuida de la siguiente manera:

• Agentes Inspectores que se encuentan dentro de un Generador Rítmico-Melódico y

un Generador Armónico-Melódico. Éstos agentes son los encargados de solicitar las

tareas a otros agentes y establecer los estados de satisfacción de acuerdo con la

base de datos estadístico de las piezas analizadas.

• Tres conjuntos de agentes contract net encargados de realizar las tareas de

generación de Ritmo, Melodía y Armonía de acuerdo a las bases de datos obtenidas

de los analizadores, éstos a su vez buscan establecer un estado que satisfaga a los

inspectores correspondientes, es importante establecer que existe la comunicación

entre ellos para evitar que existan resultados duplicados.

De esta manera se estructura un sistema mixto de estructura semi-jerárquica que

contiene dos agentes con jererquía alta, pero iguales entre sí y tres conjuntos de agentes de

jerarquía baja pero igualitaria entre sí.

ESTADOS DE SATISFACCIÓN

Los estados de satisfacción son establecidos por los agentes Inspectores, éstos

estados son de gran relevancia ya que dentro de los conjuntos de generadores tanto

rítmicos, melódicos y armónicos los agentes compiten por para ser elejidos por el inspector.

Page 12: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

Los inspectores también se encargan de decidir si un material generado, sea una melodía,

armonís o rítmo, cumple con los requerimientos en relación a duraciones, tesitura, y altura de

las notas. Los estados de satisfacción establecidos por los inspectores dependen de las base

de datos estadísticos.

Ejemplo:

Cada vez que se genera un ritmo y una melodía, se parean los resultados y se comparan en una matriz de estados, si el par satisface los requerimentos se envía el resultado, si no satisface el resultado se busca otro ritmo u otra melodía generado por otro agente, cada vez que un resultado es rechazado, el agente descartado envía la información a los demás agentes para que eviten dar resultados similares y así, eventualmente se llegará a un par único, evitando con esto los ciclos infinitos y la congelación del sistema.

P.ejemplo:

De esta manera se establece que el estado de satisfacción se consigue con los resultados arrojados por el agente (X.b) y el agente (Y.a).

Ahora bien, suponiendo que los valores son:

X1 = [ 121121] , Y3 = [ 047 ];

Ésto querrá decir que el inspector “aprobara” la entrada de ritmos como:

Estadosdesatisfacción

EstablecidosInspector

x1,y1 x2,y1 x3,y1

x1,y2 x2,y2 x3,y2

x1,y3 x2,y2 x3,y3

Agente(Y.a)[Melodía]

y1 y1 y1

Agente(Y.b)[Melodía]

y2 y2 y2

Agente(X.a)[Ritmo]

x1

x1

x1

Agente(X.b)[Ritmo]

x2

x2

x2

Page 13: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

ya que todos obedecen a la misma proporción [1121111211].

E intervalos melódicos como:

Ya que todos tienen la misma Forma Normal [047].

Entonces si se generara un material como:

Cumpliría con los estados de satisfacción establecidos.

COORDINACIÓN

Como ya se mencionó, la comunicación entre los estados de aceptación-rechazo de los

resultados de cada agente es importante porque ayuda a establecer los comportamientos del

sistema además de que evita que se lleguen a ciclos infinitos, éstos estados pueden estar

determinados simplemente por:

0-rechazo, 1-aceptación

De ésta manera si un agente es rechazado envía la información de su resultado a los demás

para que éstos eviten el mismo resultado y vuelvan a generar otro o se excluyan. Por otro

lado, si un agente es aceptado envía la información a los demás para que registren el

resultado y detengan sus propuestas.

LENGUAGE. (Sistema de comunicación entre agentes)

Page 14: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

Uno de los puntos más relevantes en la estructuración del sistema multiagente ha

sido la delimitación del lenguaje a utilizar.

En un principio se consideró la utilización de lenguajes de sistemas multiagentes ya

elaborados con lo que se podía simplificar la programación, como es el caso de

KQML(Knowledge Query and Manipulation Language) no obstante, dada la arquitectura del

sistema, y que el modelo de agentes se basa en agentes reactivos el establecimiento de un

método de comunicación simple, numérico es mucho más adecuado, sencillo y flexible. Otra

de las ventajas es que se pueden asignar diferentes “pesos” de acuerdo al número

trasmitido.

DESCRIPCIÓN

El método de intercomunicación entre los agentes es muy simple:

a. Cuando un inspector desea solicitar ofertas a los agentes generadores envía un

mensaje en forma de “Bang”.

b. Una vez recibida la petición, los agentes generan su material y lo envían a los

inspectores en forma de arreglo numérico o de cadena de texto.

c. El inspector lo compara con los estados de satisfacción y los acepta o los rechaza, si

el material fue aceptado el inspector envía una contestación al agente en una clave

numérica (1 aceptado, -1 rechazado).

d. Inmediatamente el agente envía a los demás un mensaje que contiene dos datos: el

estado de aceptación o rechazo y la cadena que envió (p. ej. [1] [ 0 3 7]). Esta

información de rechazo o aceptación se suma de tal manera que funciona como un

“peso” de una neurona en una red. Esto evita el proceso que se había sugerido al

principio del modelado del sistema donde los agentes deben “autocorregir” sus

probabilidades de Markov, basta entonces con que se ajusten sus pesos al recibir la

información de los demás para ir generando una tendencia e ir modelando el

comportamiento.

Cabe aclarar que en éste último punto eventualmente todos los agentes terminarían

con exactamente los mismos valores. Para conservar la variedad en los resultados la

información sobre las cadenas aceptadas se dan en Prime Form en vez de Normal

Form. Esto permite que aún dos cadenas distintas puedan ser aceptables.

Ej.

Cadena en Normal Form Cadena en Prime Form [ 0 4 7 ] [ 0 3 7 ] [ 10 3 7 ] [ 0 3 7 ] [ 7 3 0 ] [ 0 3 7 ]

Page 15: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

[ 0 8 5 ] [ 0 3 7 ] Aunque las cadenas son distintas todas tienen el mismo Prime Form.

IMPLEMENTACIÓN EN MAX/MSP

Para poder establecer con claridad los resultados del sistema por el momento se ha

realizado una programación independiente para el generador en un patch diferente al del

analizador, no obstante utiliza los datos generados por éste último.

Se trabaja en relación a unos archivos de texto que contienen la información sobre la

armonía, los patrones melódicos, los datos sobre rangos, tesituras, frecuencia de silencios y

cadencias. La programación se empaqueta en objetos de

javascript.

Una mejora importante consiste en que cada agente que se agrega es capáz

de autoidentificarse para diferenciarse de sus “colegas”, pero además son capaces

de ubicarse en un entorno por medio de coordenadas de tal manera que conocen la

Page 16: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

“cercanía” o “lejanía” de los otros lo cual hace que el sistema trabajo no sólo en

función de la comunicación entre los mismos sino que exista un tipo de interacción

con el entorno que modifica la manera en que éstos interactúan entre si arrojando

mayor variedad en los resultados obtenidos.

BIBLIOGRAFÍA

Los métodos implementados para la programación del algoritmo fueron ideados en

relación a investigaciones cognitivas referentes a el reconocimiento de las formas

rítmicas y de patrones melódicos. Se realizó una investigación exhaustiva de las

teorías descritas y se utilizaron algunos de los modelos para elaborar el algoritmo.

Los artículos que se pueden destacar se mencionan a continuación:

BACHORIK,JUSTINPIERRE;BANGERTMARC.EMOTIONINMOTION:INVESTIGATINGTHETIME‐COURSEOFEMOTIONALJUDGMENTSOFMUSICALSTIMULI.EnMusicPerceptionVOLUME26,ISSUE4,PP.355–364.UNIVERSITYOFCALIFORNIAPRESS.2009HTTP://WWW.UCPRESSJOURNALS.COM/REPRINTINFO.ASP.DOI:10.1525/MP.2009.26.4.355

GUNTERKREUTZ;EMERYSCHUBERT;LAURAA.MITCHELL.COGNITIVESTYLESOFMUSICLISTENING.EnMusicPerceptionVOLUME26,ISSUE1,PP.57–73.UNIVERSITYOFCALIFORNIAPRESS.2008HTTP://WWW.UCPRESSJOURNALS.COM/REPRINTINFO.ASP.DOI:10.1525/MP.2008.26.1.57

AMBERM.LEAVER&ANDREAR.HALPERN.EffectsofTrainingandMelodicFeaturesonModePerception.En:MusicPerception,Vol.22,No.1,117–143.UNIVERSITYOFCALIFORNIAPRESS.Fall2004

HELLMUTHELIZABETH.AModelofMelodicExpectation.En:MusicPerception.Vol.22,No.4,663–714.UNIVERSITYOFCALIFORNIAPRESS.Summer2005.

StorinoMariaTeresa;Dalmonte,Rossana;Baroni,Mario.ANINVESTIGATIONONTHEPERCEPTIONOFMUSICALSTYLE.En:MusicPerceptionVOLUME24,ISSUE5,PP.417–432.CALIFORNIAPRESS.2007.KOPIEZREINHARDAND.PLATZFRIEDRICH.THEROLEOFLISTENINGEXPERTISE,ATTENTION,ANDMUSICALSTYLEINTHEPERCEPTIONOFCLASHOFKEYS.MusicPerceptionVOLUME26,ISSUE4,PP.321–334.UNIVERSITYOFCALIFORNIAPRESS.2005

Page 17: REPORTE DE ACTIVIDADES Semestre 2011-1...Analizador de registro Este algoritmo se encarga de analizar el registro dentro del cual se mueve la pieza analizada. Realiza un análisis

CONCLUSIONES

A este punto, se ha comprobado que el sistema planteado en un inicio, es

posible. Una implementación funcional basada en un sistema distribuido es capaz

de operar y arrojar resultados utilizando tan sólo una fracción mínima de recursos

informáticos lo que lo vuelve un sistema ideal para trabajar en tiempo real.

Aunque los resultados arrojados analizados desde un punto de vista

“musical”, aún pueden considerarse algo burdos es posible optimizar los procesos

para mejorar los resultados.

El primer punto es una revisión profunda en la sincronización de los procesos, pues

se ha observado que algunos de los elementos musicales generados por los

agentes “constructores” en la mayoría de las ocasiones no concuerda con las

armonías ni los tiempos generado por los demás agentes aún cuando en el proceso

reciben la misma información por parte de los “inspectores”, la falla consiste en un

desfase en el momento de generar los resultados.

El etapa última entonces para la finalización y consolidación del proyecto

consiste en idear e implementar un sistema de sincronización, que permita que los

datos armónicos y te acentos concuerden para establecer armonías claras. Para

esto podría establecerse una especie de “reloj” de sincronización que se asegure de

que los “inspectores” permitan el paso de los datos simultáneamente o bien

utilizando un tipo de “compuerta” que no permita el paso de los datos hasta que

todos los “generadores” hayan terminado de arrojar sus resultados. Este proceso no

se muestra como algo muy complejo por lo que no se estima que deba absorber

mas tiempo del estimado para la conclusión total del proyecto.