• No se han encontrado resultados

Gen Sonolum instrumento virtual para generar música electrónica y controlar video en vivo

N/A
N/A
Protected

Academic year: 2020

Share "Gen Sonolum instrumento virtual para generar música electrónica y controlar video en vivo"

Copied!
64
0
0

Texto completo

(1)

GEN SONOLUM

Instrumento virtual para generar música electrónica y controlar video en vivo.

TRABAJO DE GRADO

Juan Sebastián González Rodríguez 20092098013

UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS Facultad De Artes ASAB

(2)

UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS Facultad De Artes ASAB

Proyecto Curricular de Artes Musicales

GEN SONOLUM

Instrumento virtual para generar música electrónica y controlar video en vivo.

Estudiante:

Juan Sebastián González Rodríguez Código 20092098013

Énfasis en: Composición y arreglos

Director: Gustavo Lara

Modalidad: Creación - Interpretación

(3)

RESUMEN

Este trabajo consiste en el diseño y programación de un instrumento virtual, seguido de una sesión de improvisación en la cual se evidenciará el resultado y las posibilidades del instrumento, el Gen Sonolum. Este instrumento es capaz de generar sonido y a la vez enviar datos a parámetros de control visual en tiempo real, de tal manera que la imagen y el sonido sean controlados por parámetros comunes, para lograr cohesionar los estímulos visuales y los estímulos sonoros. Para la creación musical se desarrollaron mecanismos que permiten generar posibilidades musicales que no están contempladas en los programas de producción musical convencionales. También es capaz de tomar decisiones mediante procesos estocásticos y evolutivos, tomando como punto de partida información que debe ser predefinida por el intérprete. Para la parte visual se aprovecha la técnica del Video Mapping, la cual permite potenciar el efecto de los estímulos visuales. En este documento se da cuenta de una parte del proceso de creativo, una descripción detallada de cómo funciona el Gen Sonolum, y además recoge los intereses que motivaron las decisiones compositivas y las reflexiones que surgieron durante todo el proceso.

ABSTRACT

The following work is based on the design and programming of a virtual instrument or tool, followed by a session of improvisation, which will show the possibilities of the instrument: the Gen-Sonolum. This instrument is capable of generating sound and simultaneously sending visual parameter data in real time, in such a way, that the image and sound are controlled by common parameters to unite the visual and sound stimuli. This allows for the generation of musical possibilities that are not covered by conventional music-production programs. The instrument is also capable of taking decisions using stochastic and evolutionary processes, starting from a predefined onset made by the interpreter. For the visual part, the instrument seeks to take advantage of the Projection Mapping technique, which boosts the overall effect of the visual stimuli. This document offers a detailed description of how the Gen-Sonolum works, but also reflects the interests, motivations and compositional considerations that arise throughout the creative process.

PALABRAS CLAVE

(4)
(5)
(6)
(7)
(8)

7

INTRODUCCIÓN

En este documento se pretende dar cuenta del proceso de creación e implementación de un instrumento virtual capaz de generar música y controlar algunos de los parámetros que permiten la manipulación digital de la imagen. El Gen Sonolum es el resultado de un extenso y muy gratificante proceso de creación y aprendizaje, que se intenta describir de la manera más clara y ordenada posible. La esencia de este proyecto radica en la presentación de la obra y la experiencia sensible que pretende crear en el público y en el intérprete, los componentes técnicos y teóricos para la programación del instrumento así como esta parte escrita, son solamente los complementos de lo que en realidad es la creación artística per se. Un hecho que pone de manifiesto estas consideraciones fue la decisión imperativa de efectuar una improvisación con este instrumento bajo condiciones reales, en la cual se pusiera a prueba el desempeño en tiempo real del instrumento, así como los intereses compositivos y estéticos, para luego dar paso a la elaboración de este documento escrito.

La mayoría de programas dedicados la creación musical están diseñados para responder a las necesidades más convencionales y comunes del que hacer musical, lo cual se traduce en una delimitación de las posibilidades y potenciales creativos de intérpretes y compositores. Es por esta razón que el Gen Sonolum se implementó en un entorno de programación gráfica llamado Pure Data, un software que permite a sus usuarios conceptualizar y desarrollar criterios de creación acordes a sus intereses específicos, sin necesidad de tener vastos conocimientos en programación informática.

La finalidad de este trabajo es la creación de un instrumento virtual capaz de tomar decisiones musicales automáticamente en tiempo real sin llegar a ser un autómata, es decir que resulta imprescindible la interacción con un intérprete humano que debe controlar qué tanta autonomía tendrá el instrumento. Con este esquema se pretende que el instrumento sea capaz de crear música nueva y diferente en cada ejecución, un instrumento propicio para la improvisación. Se busca que los parámetros de control propios de los instrumentos sonoros electrónicos estén asociados a los parámetros que controlan los contenidos visuales, de esta manera se pretende generar cohesión y automatismos entre los eventos sonoros y los estímulos visuales.

(9)

8

crear su propio instrumento visual, con el cual logró generar animaciones coloridas y abstractas con patrones geométricos, una técnica sobresaliente y que arrojó resultados excepcionales para su época. Para la parte musical construyó sus propios instrumentos, o hizo uso de citas de música concreta (Bonnie, s.f.). Fue un pionero de la animación por computadoras. Desarrolló con la ayuda

del Doctor Jack Citron su propio instrumento, un programa de computador que nombró “RDTD

(Radius-Differential Theta Differential” el cual le permitiría profundizar en el concepto que denominó Digital Harmony (Alves 2005) que se encuentra muy relacionado a los intereses conceptuales del Gen Sonolum.

"The compositions at best are intended to point a way toward future developments in the arts. Above all, I want to demonstrate that electronic music and electronic color-in-action combine to make an inseparable whole that is much greater than its parts."

Jonh Witney (s.f.)

En cuanto a los aspectos técnicos necesarios para la elaboración de este trabajo de creación se

debe mencionar como referente esencial el libro Loadbang Programming Electronic Music in Pd,

Johannes Kreidler (2009) pues sirve de iniciación para aprender el lenguaje usado en Pure Data, que es el software donde se diseñó e implementó el instrumento Gen Sonolum. Es muy importante mencionar que fue de gran ayuda la versión traducida al español por el señor Raúl Lacabanne, pues simplifica la apropiación de términos y conceptos para quienes no dominan este idioma. Este libro está diseñado como un manual para principiantes y explica de forma clara y paso por paso el funcionamiento del programa y sus diferentes objetos. Está dividido por capítulos en los cuales se encuentra una parte teórica que se complementa con un problema para ser desarrollado en la práctica. Su estructura es clara y coherente porque mezcla apropiadamente las especificaciones propias del programa con los conceptos básicos relacionados con el audio digital. Es un material disponible de manera pública y gratuita en internet y además se encuentra en versión web, la cual contiene todos los patches usados como ejemplo, así como la solución a todos los ejercicios para ser revisados directamente en Pure Data.

(10)

9

Soy un convencido de que el conocimiento y en especial las prácticas artísticas se nutren de forma permanente con la socialización de las ideas y resultados de la experimentación, porque todas las personas apreciamos el mundo desde perspectivas diferentes lo cual repercute en evoluciones múltiples e inesperadas a partir de una semilla. Es por esta razón que invito a quien este leyendo estas páginas y se interese por temas como la programación, la música o la imagen, a que

descargue los patches para que compruebe de manera práctica el funcionamiento del instrumento

y pueda experimentar con este o adaptarlo a necesidades particulares. En caso de tener alguna duda, comentario, propuesta o sugerencia no dude en contactarme porque estaré dispuesto a colaborar en lo que esté a mi alcance.

Este trabajo se divide en dos capítulos. El primer capítulo se denomina conceptos preliminares y es una introducción muy breve a cada uno de los temas que se abordaron para la creación de este proyecto de creación. Contiene información acerca de lo relacionado con la música por computador, una breve explicación de la técnica video mapping, los programas informáticos utilizados, así como teorías y conceptos claves tales como: la teoría de conjuntos, cadenas de Márkov, computación evolutiva y algoritmos genéticos.

El segundo capítulo se denomina Gen Sonolum, contiene una breve descripción general del proceso de creación, y una explicación detallada por cada uno de los módulos que conforman el instrumento en la cual se relacionan las funciones, característica, posibilidades y guía para la adaptación del mismo a intereses particulares.

Anexo a este documento se encuentran los patches que conforman el Gen Sonolum, versión Pure

(11)

10

CONCEPTOS PRELIMINARES

EL AUDIO DIGITAL

El sonido es una perturbación cinética producida por algún cuerpo la cual se propaga a través de las partículas de algún medio y luego el oído procesa y traduce en pequeños impulsos eléctricos que el cerebro comprende como tal, sonido. En la mayoría de los casos el medio que propaga los sonidos que llegan al oído de los seres humanos es el aire, aunque no se debe desconocer que el sonido se propaga por otros medios los cuales alteran las propiedades de este dependiendo de diferentes factores como el tipo de partícula, su densidad y temperatura. (Dodge y Jerse, 1997)

En este trabajo el interés está centrado en la producción sonora a través de medios digitales, motivo por el cual se hace necesario identificar y relacionar los conceptos y terminología básica para abordar el sonido producido mediante estas tecnologías.

La frecuencia: Es una magnitud que permite medir el número de eventos periódicos en un determinado espacio de tiempo. La escala usual para representar la frecuencia son los hercios (Hz) la cual mide la cantidad de ciclos o repeticiones por segundo. En términos prácticos a mayor frecuencia, más agudo será el sonido.

La Amplitud: En términos acústicos se refiere a una medida para determinar la cantidad máxima de presión ejercida por la fuente sonora sobre un medio, esto significa que a mayor amplitud más volumen se percibe.

La síntesis de audio consiste en la generación de sonido a través de medios no acústicos, y se ha logrado producir de manera análoga y digital. La síntesis análoga se consigue mediante circuitos y variaciones controladas de voltaje. La síntesis digital se realiza por medio de complejas codificaciones de ceros y unos, que es a groso modo el leguaje que entienden las computadoras. Para entender los procesos de síntesis digitales de audio, es necesario tener claros ciertos términos que ayudan a entender cómo funciona el audio digital.

(12)

11

DAC ( Digital-to-Analog Conversion): Es un convertidor de señales digitales en Análogas. Recibe las señales o datos que son enviados por el DSP y los convierte en impulsos eléctricos que luego se amplifican y envían a los altoparlantes que se encargan de traducir esas señales al mundo acústico.

ADC (Analog-to-Digital Conversion): Es el conversor de señales análogas en digitales, es decir que recibe señales eléctricas que traduce en dígitos mediante procesos de muestreo y cuantificación.

Muestreo y Teorema de Nyquist: Es el proceso mediante el cual una señal continua (análoga) se transforma en una señal discreta (digital), obteniendo los valores de amplitud de la señal continua cierta cantidad de veces por segundo (Puckette, 2007). Generalmente la frecuencia de muestreo se mide en hercios (Hz), el número de muestras así como su profundidad en bits puede variar considerablemente dependiendo de la calidad del DSP. La frecuencia de muestreo se encuentra en rangos de entre 8kHz hasta 192kHz, y la profundidad en bits puede ser de 8, 16, 24, o 32. El estándar de los discos compactos de audio es de 44100Hz con una profundidad de 16 bits. Posterior al muestreo siguen los procesos de cuantificación y codificación. Según el teorema formulado por Harry Nyquist en 1928, la frecuencia de muestreo mínima (para el caso del audio digital) debe ser del doble de la frecuencia más alta que se desee digitalizar. Para el caso concreto del audio digital es muy popular la frecuencia de muestro de 44100Hz, puesto que 22050Hz está muy por encima de la frecuencia más aguda percibida por el oído de los humanos.

Envolvente: Se refiere a la forma que describe la evolución de un parámetro sonoro (generalmente la amplitud) en función del tiempo (Dodge y Jerse, 1997). La envolvente de amplitud de un sonido se puede fragmentar en tres momentos claves. Primero el ataque, que indica el tiempo que tarda el sonido en desde el momento que es producido hasta su punto de amplitud máxima. Segundo el decaimiento es el tiempo que tarda el sonido en ir de su pico de amplitud hasta un punto de estabilidad. Tercero la relajación que es el tiempo que tarda el sonido en desaparecer por completo. Para el caso concreto del audio digital, estas envolventes pueden desafiar las leyes de la acústica, puesto que es posible recrear envolventes muy complejas y con muchos momentos.

SÍNTESIS DE AUDIO

(13)

12

nuevo, o emular sonidos existentes como el de otros instrumentos. Por la naturaleza de este trabajo solamente se abordarán en este apartado las técnicas de síntesis con medios digitales. Debido a la versatilidad que ofrecen los sistemas digitales, existen una extensa cantidad de métodos de técnicas exclusivas de la síntesis digital, y que además tienen el poder de simular cualquiera de los métodos usados con medios análogos.

En términos generales los sintetizadores se componen de osciladores, filtros, generadores de envolventes y efectos.

Osciladores: Son los encargados de generar la materia prima de la creación sonora en los sintetizadores. Los sintetizadores cuentan con un número determinado de osciladores, cada uno de los cuales se encarga de repetir cíclicamente una secuencia o forma de onda que además pueden combinarse entre sí (Dodge y Jerse, 1997). Existen 4 formas de ondas básicas, (sinusoidal, cuadrada, diente de sierra y triangular) pero mediante combinación de estas o la inclusión de otras técnicas son prácticamente infinitas las variables que pueden incidir en la creación de una forma de onda. Cada forma de onda tiene sus particularidades tímbricas debido a la cantidad de parciales que producen y la amplitud de cada uno de los mismos. Los parámetros que se ajustan en un oscilador son la frecuencia (Hz) con la cual se repite la forma de onda (lo que se traduce en la altura del sonido), la amplitud y la fase. La fase determina el punto exacto de inicio de una forma de onda (Puckette, 2007)..

LFO (Low Frequency Oscillator): Los osciladores de baja frecuencia no generan sonidos porque su función es la de modular otros parámetros. Generalmente trabajan con las cuatro formas de onda básicas a frecuencias muy bajas, no superiores a los 20Hz.

A continuación se encuentra una breve descripción de los tipos de síntesis digitales más convencionales, con especial énfasis en los que se implementaron en el Gen Sonolum.

Síntesis Aditiva: Es una de las formas más básicas de síntesis, consiste en sumar varios osciladores para obtener un timbre más elaborado. Para generar sonidos armónicos cada oscilador debe ser un múltiplo entero de la frecuencia fundamental, si se usan múltiplos no enteros para cada parcial el sonido será inarmónico. Es en definitiva un método sencillo pero poco eficiente pues requiere de muchos osciladores cada uno con control independientes de amplitud para crear timbres complejos (Miranda, 2007).

(14)

13

Síntesis de Modulación en anillo y Amplitud Modulada (AM): Pertenecen al tipo de síntesis por modulación. Consisten en modular la amplitud de una señal en función de otra, es decir que requiere de por lo menos dos osciladores, el primero se contiene la señal portadora, el segundo oscilador es la señal moduladora (Puckette, 2007). Para ser diferenciada de la modulación en anillo, la modulación AM debe tener una onda unipolar, es decir que su valor mínimo no debe pasar al rango negativo, no puede ser inferior a cero. La diferencia entre estos métodos es que la modulación en anillo genera dos frecuencias distintas, la primera es igual a la frecuencia de la señal portadora más la frecuencia de la señal moduladora, la segunda es igual a la frecuencia de la señal portadora menos la frecuencia de la señal moduladora. Para el caso de la síntesis AM se conservan las mismas dos frecuencia que la modulación en anillo, pero aparece en el resultado una tercer frecuencia que corresponde a la de la señal portadora. La figura a continuación muestra las diferencias de espectro cuando los valores son 500Hz en frecuencia portadora y 250Hz en frecuencia moduladora, ambas señales con igual amplitud.

Figura 1. Comparación de espectro entre modulación en anillo y modulación AM. Elaboración propia.

Modulación de frecuencia FM: Es un método de síntesis desarrollado por John Chowning en la universidad de Stanford en 1967 (Reyes, 2004). La versatilidad y capacidad de está síntesis la convirtió en el comienzo de los sintetizadores por hardware de distribución masiva gracias a Yamaha, compañía que adquirió las patentes y comercializó el famoso sintetizador DX7.

Es un método muy eficiente pues con tan solo dos osciladores es posible lograr un sonido de espectro muy rico (Puckette, 2007). La síntesis FM consiste en modular la frecuencia de una señal denominada portadora con una señal llamada moduladora, la cual es multiplicada por un factor denominado índice. La complejidad del sonido está directamente relacionada con el valor del índice, pues al aumentarse también se incrementa el número de bandas laterales que aparecen de manera simétrica arriba y debajo de la frecuencia central. Cuando el valor del índice es una función dependiente de una envolvente, el espectro resultante producirá un sonido más interesante y con cualidades sonoras más cercanas a la de los instrumentos acústicos (Reyes, 2004).

(15)

14

así como la frecuencia de muestreo que se expone en el teorema de Nyquist, porque debido a la naturaleza de los osciladores sinusoidales es posible que se genere un fenómeno denominado plegado, que consiste en un rebote de las bandas laterales cuando estas llegan al límite de frecuencia determinada en la tasa de muestreo a la cual esté trabajando el sistema.

Para entender de manera más clara estos conceptos a continuación un ejemplo. Suponiendo que se cuenta con una frecuencia portadora P = 1000Hz, la cual es modulada por una frecuencia; M = 250Hz, se obtiene que:

P = 1000Hz (Frecuencia central) P + M = 1250Hz (Primer banda superior)

P – M = 750Hz (Primer banda inferior) P + (2 * M) = 1500Hz (Segunda banda superior)

P - (2 * M) = 500Hz (Segunda banda inferior) P + (3 * M) = 1750Hz (Tercera banda superior)

P - (3 * M) = 250Hz (Tercera banda inferior)

La representación gráfica del espectro producido por estos valores es la siguiente:

Figura 2. Grafica de espectro producido por modulación FM. Elaboración propia.

(16)

15

SONOGRAMA

Los sonogramas o espectrogramas son herramientas digitales que permiten generar representaciones gráficas de cualquier archivo de audio. Es básicamente un esquema que tiene en cuenta 3 variables simultáneamente, generalmente en el eje x del plano se representa la escala de tiempo o duración del sonido, en el eje y se representa una escala de frecuencia y el contenido en medio de estas coordenadas es la amplitud del sonido, la cual puede estar asignada a una paleta específica de colores. En este proyecto los espectrogramas son una herramienta muy importante porque permitieron efectuar análisis para entender de forma precisa y visual el comportamiento de los módulos de síntesis creados en el Gen Sonolum.

TEORÍA DE CONJUNTOS

La teoría de conjuntos que se relaciona en este texto es la aplicación de estas teorías matemáticas en la música. Es un tema que nutre de manera considerable la parte técnica para la construcción del Gen Sonolum, así como las decisiones compositivas para la primera improvisación con este instrumento.

Este sistema se enfoca en trabajar con las alturas musicales del sistema de afinación temperado (División de la Octava musical en 12 semitonos) y se ha convertido en una poderosa herramienta para el análisis, compresión y composición musical relativamente reciente. (Herrera, 2011). Surgió en la década de los 50 como un método de análisis postulado por el norte americano Milton Babbitt para el estudio del repertorio dodecafónico. Posteriormente y gracias a los aportes de teóricos como Allen Forte, quien publicara el libro The Structure of Atonal Music (1973), y John Rahn el libro Basic Atonal Theory (1980)se logra estructurar un completo sistema que ha servido a teóricos y compositores.

El concepto principal de esta teoría se denomina clases tónicas. Una clase tónica es la asignación de un número entero para la identificación de cada una de las alturas musicales.

Figura 3. Clases tónicas, asignación numérica a alturas musicales. Elaboración propia.

(17)

16

de una nota, así pues se obtiene 0 tanto para el Do de la primera octava, como para el Si# de la quinta octava. Para los valores que superan el umbral de las 11 clases tónicas se aplica una operación aritmética denominada módulo (mod), que consiste en obtener como resultado un número entero menor al modulante, mediante el residuo de la división entre un número n y el número modulante. Ejemplo, si se desea saber a cuál clase tónica pertenece la altura 69 basta con efectuar la siguiente operación: 69(mod12), la división de 69/12 arroja un cociente entero de 5 (valor que no interesa en esta operación) y un residuo igual a 9, lo cual significa que 69(mod12)= 9, es decir 69=La.

La teoría de conjuntos contempla un completo sistema de conjuntos que pueden formarse con las alturas de un acorde, escala o línea melódica. Dichos conjuntos se pueden clasificar, caracterizar, ordenar y comparar mediante operaciones tales como transposiciones, permutaciones, clases interválicas, equivalencias entre conjuntos, y vectores interválicos, entre otros conceptos, que en definitiva brindan un poderoso sistema de análisis, pero que no serán descritos en este trabajo.

CADENAS DE MÁRKOV

Es un modelo probabilístico propuesto por el matemático Andréi Márkov a comienzos del siglo XX (Nierhaus, 2009). Las cadenas de Márkov como se les conoce normalmente, tienen innumerables aplicaciones en diversas áreas del conocimiento, tanto científicas como artísticas. Este modelo sirve para predecir la probabilidad de un evento futuro dependiendo del estado presente, es decir que debe tener una cantidad delimitada de estados posibles que variarán en función del tiempo (Quiroz 2011). Cada estado representa una variable dentro de un conjunto de posibles variables. Uno de los usos más comunes de las cadenas de Márkov en el campo musical es crear modelos capaces de generar música basada en el análisis de los comportamientos musicales de algún estilo en particular.

(18)

17

Figura 4. Ejemplo de gráfica y matriz para una cadena de Márkov. Elaboración propia.

Para clasificar los tipos de cadenas de Márkov es necesario conocer las propiedades de los estados que la conforman (Quiroz 2011).

 Estado absorbente: Un estado es absorbente cuando una vez se llega a él, no se sale del

mismo.

 Estado periódico: Un estado es periódico cuando se regresa a él luego de un número n >1

de etapas. El número de etapas n necesarios para regresar al estado en cuestión debe ser siempre el mismo, o un múltiplo de n para considerar el estado como periódico.

 Estado recurrente: Un estado es recurrente cuando se tiene certeza que se regresará a él

luego de n número de etapas.

 Estado transitorio: Se denomina estado transitorio cuando el proceso entra y sale de este

estado, y nunca regresará a él. Un estado transitorio será visitado un número finito de veces.

 Estado ergódico: Es un estado recurrente y aperiódico.

La cadena de Márkov que se usó como ejemplo en la Figura 4 es una cadena absorbente, pues aunque tenga estados recurrentes (E1,E3,E4), una vez se alcanza el estado E2 la probabilidad de salir de este es nula. En la construcción del Gen Sonolum se usaron solamente cadenas ergódicas como sistema para generar cambios en los parámetros de control de los módulos que generan el ritmo y las alturas.

COMPUTACIÓN EVOLUTIVA Y CONCEPTOS GENÉTICOS

Debido a que uno de los objetivos para el desarrollo del Gen Sonolum era dotar al instrumento de cierta autonomía para crear información musical relevante, fue necesario apropiar términos y conceptos primarios de la computación evolutiva, los cuales a su vez están estrechamente relacionados con la ciencia genética. Los algoritmos genéticos son una clase particular de algoritmos evolutivos y tienen diversas aplicaciones en diferentes campos (Padilla, 2012).

(19)

18

A finales de la década de los 60 comenzaron a gestarse de manera separada dos aproximaciones similares al tema de los algoritmos genéticos, por una parte los alemanes Ingo Rechenberg y Hans-Paul Schwefel comenzaron a desarrollar un concepto que denominaron Evolutionsstrategie (estrategias evolutivas) con el que se buscaba resolver problemas de optimización y el cual fue formalizado hasta el año de 1973 (Nierhaus, 2009). Por su parte el Norte Americano John Holland comenzó a trabajar en la creación de una técnica que imitaba el funcionamiento de la selección natural, resultando de este trabajo la publicación del libro “Adaptation in Natural and Artificial Systems” en 1975, y el cual se puede decir que introdujo el término de Algoritmos genéticos. Los algoritmos genéticos están inspirados en la teoría de la evolución propuesta por Charles Darwin, y pueden ser usados para resolver problemas de búsqueda y optimización de parámetros, basado en los principios de reproducción y supervivencia de los individuos más aptos (Marczyk, 2004).

En el caso de la programación evolutiva pueden rastrearse sus inicios en el trabajo “Artificial Intelligence Through Simulated Evolution” publicado por Fogel Lawrence, Owens Alvin y Walsh Michael en 1966.

Básicamente un algoritmo genético comienza con una población inicial. Cada uno de los individuos de esta población cuenta con ciertas características específicas las cuales determinan su adaptabilidad y supervivencia bajo las condiciones del entorno o medio ambiente (Marczyk, 2004). Los individuos pueden mutar, es decir modificar sus características genéticas con la esperanza de mejorar aptitudes, luego se cruzan o reproducen con otros individuos, este paso sirve para crear un nuevo individuo que contenga características de ambos progenitores. Los nuevos individuos pueden ser evaluados para determinar qué tan aptos son para sobrevivir a ciertas condiciones, un mejor puntaje garantizará más probabilidades de reproducción (Miranda, 2007). Con estos sencillos conceptos se desarrolló en el Gen Sonolum un algoritmo que es capaz de generar siempre material musical nuevo cada vez que se ejecuta. Este sistema consiste en una evolución melódica a partir de una población inicial, con el fin de lograr un individuo objetivo, un conjunto de alturas especifico.

PROJECTION MAPPING

(20)

19

programas especializados para tales fines, así como la evolución de los proyectores que han mejorado no solo su potencia y calidad, sino que son aparatos cada vez más cotidianos.

Una de las aplicaciones más convencionales de esta técnica es proyectar sobre fachadas de construcciones arquitectónicas, pero no se debe desconocer que también se ha usado para diversos fines artísticos y publicitarios. Para lograr crear una buena experiencia con esta técnica es indispensable tener claro de antemano un concepto que de coherencia a lo que se proyectará, además es muy importante definir los aspectos estéticos, es decir si se busca que la proyección tenga una narrativa lineal o no lineal, o si se desea transmitir contenidos figurativos o abstractos.

Es también muy importante determinar con precisión los requerimientos técnicos en función de los intereses. Para proyecciones sobre superficies de gran tamaño y con condiciones de poco contraste lumínico, se hace necesario contar con equipos potentes, los cuales implican complicados montajes con buenos protocolos de organización y seguridad.

Se ha demostrado que la versatilidad de esta técnica ha propiciado la aparición de artistas visuales que son capaces de usar la imagen en tiempo real y generar de este modo improvisaciones o actuaciones en vivo. También se encuentran proyectos donde los contenidos visuales que se proyectan ya están completamente predefinidos y consolidados en una composición visual. Otras posibilidades contemplan proyecciones interactivas, las cuales logran hacer reaccionar la imagen mediante el uso de todo tipo de sensores. Una de las técnicas de vanguardia es generar proyecciones dinámicas sobre superficies móviles, que se hacen posibles gracias a tecnologías como el trackin. Esta técnica consiste en captar mediante sensores y en tiempo real el movimiento de la superficie a proyectar, con lo cual se adquiere un nuevo nivel de posibilidades y de complejidad.

A la hora de crear los contenidos visuales y luego de tener clara la superficie a proyectar se debe definir la resolución y la relación de aspecto más óptima para cada proyecto. La relación de aspecto determina la proporción entre el ancho y alto que puede dar la imagen de salida. Las más usuales son:

 16:9 Formato de HDTV que pueden ser 1280x720pxs. 1920x1080pxs.

 4:3 Formato de la TV tradicional o cámaras web 640x480pxs, 800x400pxs.

 16:10 Formato popular de monitores o especial para proyectores 1280x768pxs.

Los codecs son otro factor importante cuando se trabaja con video. Uno de los más populares gracias a su nivel de compresión y calidad es el H264. Para este proyecto en particular se usó el

codec DXV Compressor que está especialmente diseñado para ser utilizado en proyectos de video mapping con Resolume Arena.

(21)

20

pero con mejor rendimiento y más profundidad. Está incorporado en una gran variedad de

dispositivos multimedia como computadores, tablets y celulares. Usa un esquema de nombres y

rutas tipo URL. Sirve para enviar y recibir datos en una red de dispositivos conectados un router

suministrando la dirección IP y un puerto especifico, o también puede usarse en un solo Puckette orientado a la exploración artística con medios digitales. Es un software de construcción colectiva que está siendo nutrido permanentemente por sus usuarios, debido a que es un

proyecto de código abierto (open source). Funciona mediante librerías que contienen colecciones

de objetos. Los objetos se comunican entre sí usualmente dirigiendo el flujo de los datos de manera gráfica, mediante líneas que conectan puertos de salida y entrada de datos, similar a la función que cumplen los cables o las rutas de un circuito en medios análogos.

En este programa se ha diseñado e implementado el instrumento para que responda a las necesidades propias de este proyecto. Es la interfaz donde el intérprete interactúa con el instrumento para improvisar. Además de este programa parten los datos necesarios para controlar los parámetros visuales.

Adobe After Effects CS6: Es uno de los programas pertenecientes a la Adobe Creative Suite, en su versión CS6. Es una potente herramienta que está diseñada para la creación de gráficos en movimiento y efectos visuales para cine o TV. Permite animar y alterar imágenes, componer medios 2D y 3D con herramientas propias del programa o con plug-ins desarrollados por terceros.

La función que cumple este programa en el proyecto es la de crear una plantilla a partir de una foto tomada a la superficie sobre la que se proyectarán las secuencias de video. Luego de obtener la plantilla se generan efectos de animación sobre ella como por ejemplo delinear los contornos de la superficie a proyectar.

(22)

21

característica importante es la opción de configurar la salida de video para ser ajustada de forma precisa a cualquier superficie de proyección, esta técnica es mejor conocida como video mapping.

La función que cumple este programa es la de almacenar los clips de video que fueron creados con anticipación en Adobe After Effects CS6, ajustar la salida de video para hacer la proyección exacta sobre la superficie elegida, recibir datos de sincronización y control de parámetros y efectos

provenientes de Pure Data mediante el protocolo de comunicación OSC (Open Sound Control).

Además de los programas son necesarios para la creación y presentación en vivo de esta composición los siguientes recursos físicos:

 Uno o dos computadores con los componentes necesarios para trabajar con contenidos visuales en tiempo real.

 Un enrutador (router o módem) en caso de usar dos computadores.

 Un espacio con condiciones adecuadas para una proyección audiovisual.

 Una superficie de preferencia blanca para una óptima proyección de la imagen.

 Un video Beam o proyector que sea acorde al nivel de oscuridad que se pueda lograr en el lugar de proyección y una resolución apropiada para el tamaño de la superficie a proyectar.

 Una interface de audio.

 Amplificación de audio para dos canales.

(23)

22

GEN SONOLUM

DESCRIPCIÓN DEL PROCESO DE CREACIÓN

La idea inicial consistía simplemente en crear una composición que involucrara estímulos visuales y sonoros mediante el uso de medios digitales. Las demás pautas usuales al momento de comenzar un proyecto o una creación artística, como por ejemplo los elementos conceptuales, técnicos y estéticos solo fueron apareciendo durante el proceso, primero en la etapa de consulta sobre los aportes realizados por artistas y teóricos en el campo de lo audiovisual y luego en el proceso mismo de creación.

La primera parte fue comenzar a entender de qué manera logran las máquinas, a través de lenguajes exclusivamente digitales, dar vida en el mundo acústico al sonido. Pure Data es el software donde se exploran las diferentes formas de síntesis digital de sonido, como la síntesis aditiva, sustractiva, de frecuencia modulada (FM), de amplitud modulada (AM), por modulación en anillo (RM), granular, y síntesis de pulsos o de tren de pulsos.

Luego de conocer algunas de las posibilidades sonoras que podía obtener mediante los procesos de síntesis en Pure Data, y de la mano de una comprensión más clara acerca de la lógica de funcionamiento de los medios digitales, en especial de este entorno de programación gráfica, surgen inquietudes por crear un mecanismo de control de datos que fuese capaz de generar información con relevancia para los procesos propios de la música, como el tiempo, el ritmo y el timbre, de forma autónoma.

(24)

23

los mismos, el programa crearía piezas nuevas, pues las posibilidades de combinación eran muy grandes.

Luego de tener adelantado este proceso, y mientras se desarrollaban las primeras pruebas con este sistema, se fueron haciendo evidentes varios factores que derivaron en un giro radical e inesperado en este proyecto, pues cambiaría de forma determinante la naturaleza de esta creación. Con las primeras pruebas de la maquina creando material musical, encontré que aunque mis valores de inicialización fueran limitados, en definitiva era muy poco el control que yo tenía sobre los resultados sonoros. En algunos momentos la maquina generaba música que me satisfacía, que era acorde a mis subjetivos valores estéticos, pero en otros momentos la maquina se estancaba o generaba cambios poco coherentes con lo que yo esperaba escuchar, en estos casos yo tenía que generar los cambios manualmente para obtener resultados más cercanos a mis intereses.

En vista de las circunstancias y además teniendo en cuenta mi nivel principiante como programador, decidí que la solución estaba en modificar la maquina o en este caso este tipo de autómata para que no funcionara como un ente completamente autónomo, sino que fuese capaz de interactuar con un intérprete humano. Este es el momento donde la creación sufre una transformación estructural, pues la maquina se convertiría en un instrumento virtual, el Gen Sonolum.

EL INSTRUMENTO GEN SONOLUM

(25)

24

Para la puesta en funcionamiento del instrumento, (aparte de tener correctamente instalados los dos programas necesarios para una presentación audiovisual) se requiere una preparación que consiste en cargar en el instrumento los valores de inicialización que corresponden a listas que contienen información rítmica y de alturas. Esta versión del instrumento incluye un paquete de listas predefinidas, pero además pueden ser creadas muy fácilmente por el intérprete dependiendo de sus intereses y expectativas musicales. Las características tímbricas no necesitan datos de inicialización, estas deben ser controladas y modificadas por el intérprete al momento de la ejecución.

DESCRIPCIÓN POR MÓDULOS

El Gen Sonolum es una colección de abstracciones y subpatches de Pd que son denominados como

módulos. Las abstracciones permiten duplicar un proceso las veces que sea necesario, esto es algo muy útil pues permite al intérprete crear los objetos que considere acorde a sus intereses particulares. Los módulos cumplen diferentes funciones, algunos son utilizados para el control de tiempo, otros para el manejo de datos que generan alturas y ritmos, otros de síntesis que son los encargados de producir el sonido, y por último los módulos de efectos y mezcladores. La mayoría reciben datos de algún modulo y luego de ejecutar su función envían datos a otros módulos.

A continuación aparece una descripción detallada de cada uno de los módulos que conforman el Gen Sonolum, con su correspondiente vista en la interfaz gráfica. . Es importante aclarar que algunos módulos están conformados en su interior por otros módulos y subpatches. Se escribe entre comillas el nombre del objeto en Pure data, por esta razón estos nombres nunca tienen espacios ni caracteres especiales.

“Pdmastertempo”:

Figura 5. Vista exterior del módulo “pdmastertempo”.

(26)

25

Este subpatch no cuenta con ninguna entrada ni salida para conexión por medio de línea, sin

embargo sí cuenta con tres envíos internos nombrados “microt, mtempo y tempo”. “microt” envía

un valor numérico siempre ascendente, que representa la mayor subdivisión del tempo en todo el

instrumento. “mtempo” envía el valor del BPM al Resolume Arena 4. “tempo” envía el valor del

tiempo en milisegundos entre cada pulsación. El límite inferior de BPM son 3, el límite superior son 500.

“mixer6stereo”:

Figura 6. Vista exterior del módulo “mixer6stereo”.

Es una abstracción que es capaz de mezclar 6 señales de audio estereofónicos independientes. Está conformado por una abstracción por cada canal y un subpatch para el main o control principal. Cada canal es una abstracción que cuenta con una perilla para controlar el nivel de un envío auxiliar hacia algún efecto, un fader para controlar el volumen, un botón de mute, un fader

horizontal para controlar el panorama o balance (pan) de la señal entre la salida izquierda y derecha, y un fader que controla la frecuencia de un LFO (Low Frecuency Oscilator) que sirve para dinamizar este balance.

El subpatch nombrado “mix_main” cuenta con un fader que controla el volumen total de la mezcla, dos medidores de intensidad de señal, uno para la salida Izquierda (L) y otro para la salida derecha (R). Un fader horizontal que controla el panorama general de la mezcla (pan). Un Botón azul claro nombrado (SP) que significa Save Panel y sirve para dar un nombre y una ubicación en el disco duro a una eventual grabación de la mezcla de audio. El botón rojo (Rec) da inicio a la grabación (funciona solamente después de haber elegido un nombre y ubicación para el archivo), y el botón azul oscuro (Stop) sirve para indicar el final de la grabación del audio. Para lograr una correcta grabación es necesario ejecutar en orden estricto los tres pasos mencionados, primero nombre y ubicación del archivo de audio, luego el inicio de la grabación y luego la indicación de final de la grabación.

(27)

26 “tempocontrol”:

Figura 7. Vista exterior del módulo “tempocontrol”.

Es una abstracción que sirve como control de pulso independiente. Tiene un interruptor para poner en marcha o pausar el flujo de pulsos que controla el tempo de un conjunto de módulos que crean un ente sonoro. Cada pulso que sale de esta abstracción se traduce en la lectura de un estado de una tabla de 16 posiciones, ubicadas en módulos posteriores, las cuales contienen la información rítmica y de alturas. Cuenta con 3 casilla con las es posible alternar entre las posibles direcciones de lectura de tablas. La primera posibilidad es leer la tabla en su orden natural, siempre de izquierda a derecha (>), la segunda posibilidad es leerla invertida, siempre de derecha a izquierda (<), y la última opción consiste en leer las tablas una vez de izquierda a derecha y luego de derecha a izquierda (><), como en movimiento de vaivén o péndulo. En la parte inferior cuenta con 14 casillas que contienen valores predefinidos y representan el factor por el cual se

multiplicará la subdivisión enviada por “pd master tempo”, nombrada en este instrumento como

“microt”. Esta subdivisión depende directamente del valor indicado en los BPM y corresponde al valor duracional de una semifusa cuando los BPM son iguales a negra.

A diferencia de lo que ocurre en la notación musical gráfica desarrollada por occidente, (pentagramas y colecciones de signos), en este instrumento no se contempla la figura redonda como una unidad para dividir y subdividir, sino que funciona con un mecanismo inverso, es decir, se multiplica el tiempo más corto que puede producir el instrumento, (el valor equivalente a una semifusa) para dar lugar a las demás figuras de duración. Las siguientes imágenes son una representación gráfica de la duración de las figuras con las cuales se puede comprender mejor la manera de control de pulso en el Gen Sonolum.

Figura 8. Representación gráfica de la duración de las figuras rítmicas convencionales. Elaboración propia.

(28)

27

Figura 9. Representación gráfica de las posibles subdivisiones rítmicas. Elaboración propia.

En la anterior gráfica se contemplan divisiones pares e impares de una unidad de tiempo. Las subdivisiones que están a color no tienen una figura que las identifique en este sistema de notación. En color azul claro están representadas las figuras que usualmente se escriben como tresillos, en color rojo figuras que tendrían que escribirse como tresillo de tresillo, y en morado están las subdivisiones que solamente podrían escribirse como tresillo de tresillo de tresillo. Es en este punto donde vale la pena aclarar que para interpretes humanos este tipo de subdivisiones no son prácticas ni fáciles de ejecutar, pero para una maquina no representan ningún problema. Aunque con este sistema de subdivisión en partes pares e impares las posibilidades rítmicas adquieren una gran riqueza, sigue siendo una manera de dividir unidades y por esta razón no es el sistema que finalmente se implementó en el Gen Sonolum.

(29)

28

La anterior figura es la representación gráfica de las 14 posibilidades de pulso que están predefinidas en el Gen Sonolum. A la derecha del gráfico están los números que indican el factor por el cual se multiplicará el “microt”. Los que se encuentran en color azul son valores que al no ser división de una unidad generan posibilidades rítmicas no convencionales.

Aunque ya estén predefinidos estos 14 valores, el intérprete podrá ingresar cualquier otro valor que desee por la entrada uno (1) ubicada en la parte superior izquierda de la abstracción, de esta manera el instrumento puede ejecutar patrones rítmicos muy veloces o muy largos, tan lento o rápido como desee el intérprete. La entrada dos (2) ubicada en la parte superior derecha recibe una indicación que es enviada por otro módulo en el momento que una envolvente termine su tiempo de duración, esto es con el fin de evitar cambios de tiempo mientras se está ejecutando un sonido, pues se generarían errores indeseados. Esta abstracción tiene 3 salidas, la primera es la que indica la posición que se debe leer en la tabla de 16 pasos, la segunda es una indicación que se envía cuando se leen los 16 valores de la tabla, y sirve para coordinar eventos en módulos posteriores, la tercera salida es la duración de cada posición en la tabla, lo que hace las veces de pulso.

“genritmo”:

Figura 11. Módulo de control rítmico.

(30)

29

En la parte superior derecha hay un botón azul claro (Op), este abre una ventana emergente para buscar en el disco duro un archivo (de extensión .coll) el cual contiene unas listas de datos. Para crear listas en este formato basta con abrir cualquier procesador de texto que nos permita elegir de forma manual la extensión con la cual queremos guardar el archivo, (en Windows el Blog de

notas funciona muy bien), primero se escribe un número identificador o (index) seguido de una

coma, luego la cantidad de datos que sean necesarios para ejecutar algún proceso, en este caso se agregan los 16 valores que se pueden almacenar en las tablas, separados entre sí con un espacio, y luego al final del último dato un punto y coma (;) que indicará la finalización de lectura de la línea. Para finalizar el proceso guardamos el archivo con cualquier nombre y agregamos extensión

“.coll”. Este tipo de listas no tienen límites en cuanto a números de índices.

A continuación aparece una lista de ejemplo con 3 índices de 16 códigos:

Figura 12. Lista de datos en archivo con extensión .coll

Luego de cargar la lista en la abstracción, se elige un índice para la tabla 1 y otro para la tabla 2. Cada tabla tiene dos controles, un número de índice y un número que indica la rotación de la posición en la tabla, la tabla 1 tiene sus cajas de número en color verde y la tabla 2 en lila. En amarillo aparece una caja de número (Pcorte) que indica el número de posiciones que se leen de la tabla 1, punto de corte entre la lectura de la tabla 1 y la tabla 2.

A continuación un ejemplo que muestra de manera más clara lo expuesto anteriormente:

Figura 13. Ejemplo de posible estado del módulo “genritmo”.

(31)

30

Figura 14. Ejemplo de configuración interna de tablas. Elaboración propia.

Como se puede apreciar en la figura anterior, la tabla 2 tiene el índice 3 pero con dos posiciones de rotación a la derecha, la tabla resultante tiene los primeros 4 valores de la tabla 1, (debido a que el PCorte está definido en 4) y el resto de valores corresponden a la tabla 2. Cada posición de las tablas almacena un valor que es nombrado en el instrumento como código. Estos códigos deben ser números enteros que indican la duración. Este código es un factor por el cual se multiplica el tiempo que dura la lectura de cada paso de la tabla, o lo que define el instrumento como pulso.

Para poder entender esto de una manera más clara a continuación se presenta un ejemplo con ayuda de notación convencional.

Si el módulo “tempo control” está con sus valores de inicialización, es decir multiplicando por factor 4, cada posición en la tabla duraría el equivalente a una semicorchea (en BPM igual a negra), por consiguiente las 16 posiciones de la tabla serían equivalentes a un compás de 4/4. La lectura de las tablas es cíclica, se repetirá indefinidamente. Teniendo en cuenta esto, la notación en sistema convencional para la tabla resultante del ejemplo anterior sería la siguiente:

Figura 15. Notación convencional de lectura de izquierda a derecha de la tabla resultante.

El código 0 es el único que no genera ningún ataque que produzca sonido, es un silencio que dura un pulso. El código 1 genera un ataque con una duración equivalente a un pulso, a su vez el número 2 un ataque con una duración igual 2 pulsos etc.

(32)

31

Figura 16. Notación convencional de lectura de derecha a izquierda de la tabla resultante.

En el tercer caso sería una lectura en péndulo, una vez de izquierda derecha y una vez de derecha a izquierda. En los anteriores ejemplos solamente se usan los códigos 0, 1 y 2, pero es posible usar códigos que representen una mayor duración. La manera que este sistema ejecuta los códigos genera un gran número de posibilidades, esto significa que solo una tabla puede crear muchas posibilidades rítmicas. Cuando el código es igual o mayor que dos (≥ 2), se ignorarán el número de casillas n -1 donde n es el código. En el caso de que el código fuese 4, se ignorarían las tres casillas posteriores al 4 pues hacen parte de la duración de este 4. En el caso de rotar la tabla, estos códigos ignorados pasarían a estar en otras condiciones y de este modo generar patrones rítmicos diferentes a partir de la misma tabla. Suponiendo que la tabla resultante tiene los siguientes códigos [4241312030115221], las tres diferentes lecturas se leerían así:

(33)

32

En la anterior imagen (Figura 17.) es posible entender cuáles códigos son leídos y cuáles son ignorados, los códigos que se encuentran en color negro son aquellos que generan un ataque de una duración equivalente al número que contienen, los códigos que se encuentran en color rojo son ignorados.

Vale la pena tener en cuenta que si la tabla es rotada se generarían patrones rítmicos completamente nuevos. En caso de querer un patrón que no se desfigure con la rotación, sería necesario que los valores a ignorar fuesen ceros (silencios).

Este módulo tiene cuatro entradas, la entrada 1 es denominada “posición”, este dato es enviado por “tempocontrol” y su función es indicar la posición de la tabla que se debe leer. La entrada 2 se denomina “coordina”, recibe una indicación enviada por “tempocontrol” al finalizar la lectura de una tabla completa es decir dieciséis pasos. La entrada 3 se denomina “tempo” y la cuarta en trata se denomina “datos control variables” ésta entrada recibe paquetes de datos para el control externo de los parámetros de ésta abstracción. El paquete de datos que se recibe por esta entrada debe contener dos datos, primero la ruta por la cual se debe dirigir el flujo, y en segundo lugar el dato de control. La ruta 1 modifica el punto de corte, la ruta 2 el índice de la tabla 1, la ruta 3 la rotación de la tabla 1, la ruta 4 el índice de la tabla 2, la ruta 5 la rotación de la tabla 2 y la ruta 6 crea un nuevo índice en la lista, este será tomado de los valores que estén en ese momento en la tabla 3 o “tabla resultante”.

Las salidas de este módulo son cinco, la salida 1 envía el código que sale de la “tabla resultante”, la salida 2 se denomina “tempo”, que es el mismo enviado por el módulo “tempocontrol”, la salida 3 se denomina “tamlistritmo” ésta salida indica el número de índices actuales en la lista cargada. Las salidas 4 y 5 son los nombres que asigna el sistema automáticamente a las tablas 2 y 3, esto con el fin de que estas tablas puedan ser leídas desde otros módulos externos.

“genaltmaster”:

Figura 18. Módulo de control de alturas

(34)

33

es visible ni tiene ningún parámetro de control, pero es la tabla que se leerá, o sea de donde finalmente salen los datos.

El botón azul ubicado en la parte superior izquierda, open panel (Op), abre una ventana emergente la cual permite buscar en el disco duro un archivo de extensión .coll, el cual debe contener los datos relativos a las alturas tonales. El Gen Sonolum está diseñado para trabajar con el sistema de afinación de temperamento igual, el cual surge de la división de la octava en 12 partes iguales, dando como resultado el semitono temperado como el intervalo mínimo entre dos notas. Vale la pena aclarar que también sería posible ajustar el instrumento para trabajar con otros sistemas de afinación, pero haría falta hacer unas modificaciones en el mecanismo interno de algunos módulos, que por razones de practicidad no se incluyeron en esta versión del instrumento.

Para definir la manera como el instrumento trabajaría las alturas, se tomó como referencia la teoría de conjuntos aplicada a la música, la cual propone asignar a cada nota del sistema de temperado un número entero entre o y 11.

Siguiendo este esquema es como se generan las listas de códigos que serán cargadas en el instrumento. Para definir la altura en la octava deseada, los módulos de síntesis cuentan con una casilla de número que será el valor base o mínimo, y los códigos se sumarán a este valor. El código 0 corresponde al Do de la octava -1. La primera tecla del piano, (LA0) corresponde en este sistema al número 21, es decir que tendría que sumarse una octava en el módulo de síntesis (N.Root = 12). En caso que querer tener como base el Do central (Do4), sería necesario poner como base el número 60 en el módulo de síntesis (N.Root = 60).

(35)

34

La salida de los datos que indican alturas estará determinada por la activación de un ataque, esto quiere decir que el modulo siempre está leyendo los datos de la tabla 3, pero se hacen efectivos y salen del módulo cuando llega la indicación de ataque procedente de otro módulo.

Esta abstracción tiene 5 entradas y 9 salidas. La entrada 1 recibe en dato de posición que se debe leer de la tabla y es enviado por “tempocontrol”, la entrada 2 recibe una indicación para coordinar todos los eventos una vez se hace una lectura completa de una tabla (16 posiciones) también enviado por “tempo control”, la entrada 3 recibe la indicación de ataque, que es enviada por el módulo “genritmo”, la entrada 4 sirve para leer los datos de una lista .col ingresada en un módulo externo, la entrada 5 recibe un paquete de datos para controlar de manera externa los parámetros de este módulo. Los paquetes que ingresan por esta entrada deben incluir una ruta y un valor de control. La ruta 1 conduce al valor que modificará el punto de corte (Pcorte), la ruta 2 modifica el índice de la tabla 1, la ruta 3 conduce a la rotación de la tabla 1, la ruta 4 a la transposición de la tabla 1, las rutas 5,6,7 conducen al índice, rotación y transposición respectivamente de la tabla 2. La ruta 8 conduce a la indicación de crear nuevo índice en la lista.

Por la salida 1 se indica la nota MIDI o código de altura, la salida 2 indica la posición de lectura en la tabla, la salida 3 el evento que para coordinar los cambios enviado por “tempocontrol”, la salida 4 el ataque, la salida 5 envía todos los datos de control empaquetados, con las mismas rutas que se describieron para los valores de entrada, excepto las rutas 4 y 7, que corresponden a los valores de transposición, pues estos valores son enviados de manera separada por la ruta 6 y actualizados con cada indicación de coordinación. La salida 7 indica el número de índices en la lista, o sea su tamaño, las salidas 8 y 9 envían el nombre que se asignó de manera automática a las tablas 2 y 3, para que estas puedan ser leídas desde un módulo esclavo.

“genaltslave”:

Figura 19. Vista exterior del módulo “genaltslave”

(36)

35

Las dos cajas de número que son visibles indican la transposición en semitonos del código leído en la tabla, en color Verde para la tabla 1 y en color Lila para la tabla 2. Cuenta con 6 entradas y 5 salidas. Las entradas 1, 2, 3, son para posición, coordinación y ataque, respectivamente. La entrada 4 recibe información de control de datos, con las mismas rutas que el módulo “genaltmaster”. Las entradas 5 y 6 corresponden a los nombres de las tablas del módulo maestro, donde se cargó la lista de códigos. La entrada 5 recibe el nombre de la tabla 2, y el 6 de la tabla 3. Por otra parte la salida 1 corresponde al valor de la nota MIDI (o código de altura), la salida 2 indica la posición, la salida 3 el evento de coordinación, la salida 4 el ataque y la salida 5 los datos todos los datos de control empaquetados con indicación de ruta.

“ritmelmarkov”:

Figura 20. Vista exterior del módulo “ritmelmarkok”

Es una colección de los tres módulos explicados anteriormente “genritmo”, “genaltmaster” y “genaltslave”, su función es combinar los datos cargados para enviar información rítmica y de alturas a un módulo de síntesis polifónico de 4 voces simultaneas. Puede ser manipulado de forma manual, o también es posible permitirle generar sus propias combinaciones y cambios de estado mediante procesos probabilísticos con cadenas de Márkov.

Pulsando el botón azul se abrirá una ventana emergente para cargar un archivo de extensión .coll, el cual debe contener las transposiciones para los 3 módulos “genslave”. En este caso la abstracción “genaltmaster” envía la primera voz, o sea la más grave o voz 1, también los cambios de índice, rotación y punto de corte a cada uno de los módulos esclavos, es decir que el único parámetro independiente de los módulos esclavos es la transposición.

(37)

36

abstracciones “genritmo” y “genaltmaster” pueden ser controlados mediante estas cadenas, para activar o desactivar estos cambios basta con permitir el paso de los cambios pulsando sobre las casillas rojas que se encuentran en la interfaz visual, por defecto estos pasos están permitidos desde que se carga la abstracción

Figura 21. Árbol interno de cadenas de Márkov para el módulo “ritmelmarkov” Elaboración propia.

Se implementaron en total 8 diferentes matrices probabilísticas para tener el control sobre los 6 controles variables del módulo rítmico, y 8 controles variables del módulo de alturas. A continuación se presentan estas 8 matrices con sus valores predefinidos. Es muy importante aclarar que todos los valores de probabilidad de cambio de estado se eligieron sin estar basado en ningún análisis, simplemente hacen parte de los criterios compositivos que surgieron de manera empírica durante las sesiones de improvisación para consolidar esta versión del instrumento.

La abstracción que contiene las matrices se denomina “markovchains”. Para funcionar de manera correcta necesita recibir 4 datos. El tiempo “tempo” y el evento que coordina “coordina” el final de lectura de una tabla, que son enviados por el módulo “tempocontrol”, y el número de índices (tamaño de lista) que contienen los módulos “genritmo2 y “genaltmaster”.

(38)

37

Tabla 1. Probabilidades de cambio predefinidas entre estados para Markruta .

Es muy importante aclarar que todos los estados de las matrices expuestas en este documento se deben leer por filas y no por columnas. El valor de inicialización para esta matriz es el estado 1 (ningún cambio), es decir que tiene 0% de posibilidades de elegir nuevamente el estado 1, 20% de posibilidades de ir al estado 2, 25% de probabilidad de ir al estado 3, 15% de pasar al estado 4, y 40% de ir al estado 5.

Matriz 2 “Markritmo”: Esta matriz se encarga de decidir en cuál de las 6 variables del módulo de ritmo se ejecutará un cambio.

6 Estados posibles:

1) Nuevo estado en matriz “Markpuntocorte” del módulo “genritmo”.

2) Nuevo estado en matriz “Markindex” para tabla 1.

3) Nuevo estado en matriz “Markrotación” para tabla 1.

4) Nuevo estado en matriz “Markindex” para tabla 2.

5) Nuevo estado en matriz “Markrotación” para tabla 2.

6) Crear nuevo índice en la lista del módulo “genritmo”.

Estados 1 2 3 4 5 6

Tabla 2. Probabilidades de cambio predefinidas entre estados para Markritmo.

(39)

38 8 Estados posibles:

1) Nuevo estado en matriz “Markpuntocorte” del módulo “genaltmaster”.

2) Nuevo estado en matriz “Markindex” para tabla 1.

3) Nuevo estado en matriz “Markrotacion” para tabla 1.

4) Nuevo estado en matriz “”Marktransp” para tabla 1.

5) Nuevo estado en matriz “Markindex” para tabla 2.

6) Nuevo estado en matriz “Markrotación” para tabla 2

7) Nuevo estado en matriz “”Marktransp” para tabla 2.

8) Crear nuevo índice en la lista del módulo “genaltmaster”.

Estados 1 2 3 4 5 6 7 8

Tabla 3. Probabilidades de cambio predefinidas entre estados para Markmelodia.

Matriz 4 “Markpuntocorte”: Esta matriz elige entre 5 estados posibles que contienen conjuntos de valores predefinidos para establecer el punto de corte, todos los valores de los conjuntos de cada estado tienen la misma probabilidad de ser elegidos.

5 Estados posibles: 1) 8.

2) Uno de los siguientes cuatro valores: 0, 4, 12, 16. 3) Uno de los siguientes cuatro valores: 1, 5, 9,13. 4) Uno de los siguientes cuatro valores: 2, 6, 10, 4. 5) Uno de los siguientes cuatro valores: 3, 7, 11, 15.

Estados 1 2 3 4 5

Tabla 4. Probabilidades de cambio predefinidas entre estados para Markpuntocorte.

Matriz 5 “Markrotación”: Esta matriz elige entre 4 estados, cada uno de los cuales con 4 valores posibles.

(40)

39

Tabla 5. Probabilidades de cambio predefinidas entre estados para Markrotacion.

Matriz 6 “Marktransp”: Esta matriz decide una transposición para la tabla completa. Cada uno de los estados contiene un conjunto de posibles transposiciones. Este cambio de transposición se hace para la lectura de una tabla completa, al finalizar dicha lectura regresa automáticamente a la transposición 0.

Tabla 6. Probabilidades de cambio predefinidas entre estados para Marktransp.

Matriz 7 “Markindex”: Esta matriz decide un cambio de índice de la lista de códigos. 3 Estados posibles:

1) Uno de los siguientes índices: 1,2. 2) Uno de los siguientes índices: 3,4.

3) Un valor aleatorio entre el índice 5 y el último índice disponible en la lista.

Estados 1 2 3

1 0 0.4 0.6

2 0.4 0 0.6

3 0.4 0.4 0.2

(41)

40

Matriz 8 “Markritmel”: Esta matriz genera cambios simultáneos para los módulos “genritmo” y “genaltmaster”.

4 Estados posibles:

1) Nuevo punto de corte independiente para cada módulo.

2) Nuevo punto de corte igual para ambos módulos.

3) Nueva rotación igual para la tabla 1 de ambos módulos.

4) Nueva rotación igual para la tabla 2 de ambos módulos.

Estados 1 2 3 4

1 0 0.2 0.4 0.4

2 0.1 0.2 0.35 0.35

3 0.2 0.3 0.1 0.4

4 0.2 0.3 0.4 0.1

Tabla 8. Probabilidades de cambio predefinidas entre estados para Markritmel.

“ritmelevol”:

Figura 22. Vista exterior del módulo “ritmelevol”

A primera vista se puede ver que se trata de otra colección de módulos muy similar al expuesto anteriormente, en realidad se trata de una abstracción con los mismos controles y posibilidades de cambio que “ritmelmarkov" pero con unos procesos internos adicionales que regulan su funcionamiento. Esta abstracción está diseñada para alcanzar un estado objetivo (de alturas) definido con antelación, mediante procesos automáticos de combinación inspirados en genética.

(42)

41

Es posible afirmar que se trata de un sistema evolutivo básico, pues pretende alcanzar un individuo óptimo, mediante el cruce aleatorio de individuos para generar nuevos individuos los cuales serán calificados y escalafonados de acuerdo a su cercanía con el estado objetivo. Los individuos más aptos o con mejor calificación aumentan la probabilidad de reproducirse, de esta manera, al cabo de un indeterminado pero finito número de generaciones se alcanzará dicho individuo óptimo. Es muy importante aclarar que este mecanismo está inspirado en los procesos evolutivos, pero es en definitiva solo un pequeñísimo ejercicio, porque el potencial real de estos procesos es muy alto, y puede ser utilizado para encontrar soluciones a problemas muy complejos. En este caso en particular el problema a resolver no es muy complejo, además tanto la población inicial como el individuo objetivo están idealizados, esto quiere decir que se parte de un estado idealmente perfecto y se busca llegar a otro estado perfecto.

El sistema comienza con una población inicial de 3 individuos, en este caso cada individuo corresponde a una entrada en la lista de códigos “.coll”. La lista que se usa en este módulo tiene una característica diferente a las explicadas para los módulos anteriores, contiene un ítem adicional en su línea de códigos, pero este item no es un código, sino un puntaje que mide la aptitud del individuo. Esta calificación es un número entero y se encuentra ubicado en la primera posición de la lista.

Figura 23. Lista .coll de códigos para “genaltevol”. Población inicial.

Esta lista es la población inicial conformada por 3 individuos que se cruzarán para crear nuevos individuos. En color rojo se encuentra señalado en valor que califica la aptitud de cada individuo, a mayor es este número, mayor es su aptitud y por ende, mayores serán sus probabilidades de reproducción.

Cada individuo está conformado por 16 genes, que en esta lista equivalen a códigos de altura. El rango interválico de estas lista es de 13 semitonos, desde un Sol#=8, hasta un La=21. Al tener 3 listas de 16 códigos se obtienen un total de 48 códigos. Una de las decisiones compositivas al momento de crear esta población inicial, fue tener la misma cantidad de códigos por cada una de las 12 alturas, por consiguiente cada clase tónica (cada nota de la escala, independiente de su octava, 9=21) aparece 4 veces en las 3 listas, y se puede comprobar multiplicando de las 12 alturas posibles por 4, esto es igual a 48, que equivalen al número total de genes de los 3 individuos.

Referencias

Documento similar

Con más de 15 años de trayec- toria liderando procesos de diagnóstico, diseño y desarro- llo de iniciativas de capapaci- tación y aprendizaje.Se ha desempeñado como Subge- rente

Lo realizo de esta manera porque en este momento es virtual, a la gente al mismo tiempo le presento el video sobre seguridad, en Seguridad y Salud en el Trabajo son muy

porque sólo tú eres Santo, sólo tú Señor, sólo tú Altísimo, Jesucristo, con el Espíritu Santo en la gloria de Dios Padre... Oración

Para conocer con más detalle las particularidades de la audiencia de medios audiovisuales en determinados períodos temporales, en la comunidad canaria, es preciso cambiar

Bendito seas, Señor, Dios del Universo, por este pan, fruto de la tierra y del trabajo del hombre, que recibimos de tu generosidad y ahora te presentamos; él será para nosotros pan

Bienvenid@ al curso virtual en vivo Taller de diseño de muebles 3D. Muchas gracias por su preferencia y por elegirnos como su plataforma de

Coro: coro, orquesta [corno (o trompeta), 2 oboes, cuerdas, continuo]3. Herr, gehe nicht ins Gericht mit

vacunación contra COVID-19 (solo voluntarios en el plantel), verificación con la base de datos por Internet de agresores sexuales de la Ley Megan en California,