Sesión de Estudio

Felizmente comienzo el año, compartiendo música en donde yo y Todd Clouser hicimos una colaboración. Fue una improvisación en una sesión de estudio que duró cinco horas, sin contar el tiempo de edición y mezcla, por supuesto. Y esta última estuvo a cargo de Todd.

Aquí la música:

 

Bohemia Matemática

Ayer sólo me dio tiempo de practicar una vez, una vuelta de mi programa y luego tuve que ir a hacer unas pruebas de sonido y video, que se me había citado a la una.

Mi papá me encargó que le imprimiera unos archivos para cuando yo regresara, ya en la noche. Para que él pudiera ponerse a trabajar en el avión de camino a Japón.

Ya en el auditorio de la Facultad de Ciencias, Natalia observó que me equivoqué de qué cable llevar, y en efecto, este era uno que iba de PLUG macho a PLUG macho.

“¡Uy, quien sabe dónde puedes encontrar un cable como el que se necesita, de PLUG a CANNON macho, y según yo no hay ningún tipo de adaptador,” mencionó uno de los técnicos del auditorio. Pero otro joven dijo: “¡Sí hay adaptadores. Sólo que son difíciles de conseguir. Ve a un Steren!”

Así que manejé hacia la comercial mexicana que está por mi casa y había un tráfico a vuelta de rueda, por lo que a las 2:40 pm llegué. Y en el Steren me hicieron saber que no había de esos adaptadores, pero me recomendaban ir a la sucursal de Picacho o la de Revolución (que está a la altura del Mercado de las Flores). Pagué diez pesos de estacionamiento y a continuación me metí a otro estacionamiento, el del Office Max, para hacer las impresiones de mi papá.

Por ahí de las tres, fui hacia el Ajusco, y en esa carretera también había mucho tránsito; que tal vez me convino, porque pude inspeccionar todas las tiendas, de mi lado y del lado contrario, y justamente ahí estaba el Steren.

No había cables de PLUG a CANNON macho. Ni adaptadores para mi cable. No hacían ahí cables, pero sí vendían el material. Lo que hubo, fue un adaptador de CANNON hembra a PLUG, pero tuve que comprar el cable. Y no me lo pensé dos veces, a pesar de que en mi casa, ya tenía dos de ese tipo, pero regresar implicaba más tiempo. Más tiempo vs menos dinero.

Finalmente, regresé a Ciencias como a las 4:30.

Afuera del auditorio practiqué una vuelta de mi código, y por primera vez conté, que duraba nueve minutos. Los aplausos contiguos me pusieron nerviosa y consideré que debía echar una ojeada a las otras presentaciones. Saludé a Rocío Azul y a su novio. Platicamos sobre su presentación y le mencioné mi nerviosismo.

Me tocó apreciar piezas de piano, poesías y un monólogo. Asimismo, me di cuenta de que había gente que yo conocía, como Efraín, Ananda, Alma, incluso creí ver a Jaime Lobato.

También, entre los programados para hacer show estaban Claudia y Andrés (los amigos de Alfredo, con quienes alguna vez platiqué tomando chelas artesanales al lado del CNA y quienes, desde esa ocasión, establecieron que eran mitad artistas). Claudia haría danza árabe, y Andrés, “El Capitán”, recitaría unos lipogramas utilizando la vocal “e.”

Cerca ya de mi sesión, me costó trabajo decidir si quedarme a ver las presentaciones, o ponerle atención a la computadora, revisando al menos dos veces que todo estuviera listo. Y opté por lo segundo.

Luego me dio pánico escénico, pero este estuvo muy lejos de ser la destrucción total. Se manifestó más bien en el detalle de que, cuando estoy nerviosa, suelo evadir al público. Y suelo ocultar todo tipo de carisma; algo que yo debiera atender.

Mientras que Natalia y el técnico del auditorio conectaban mi computadora al proyector de pantalla, yo dije unas palabras.

Algo así:

“Lo que presentaré es música electrónica usando la computadora. Presentaré un live coding, que es improvisar música usando un lenguaje de programación. Como no tengo mucho tiempo, preparé ya cierto código, para que no sea muy monótono. Yo he estado checando que no haya problemas técnicos, y todo parece bien. Espero que todo vaya bien.”

Mencioné dos veces que el live coding es utilizar la computadora utilizando un lenguaje de programación y creo que no era necesario. Lo mismo, mencioné dos veces que ya tenía preparado un código. Si me topé con la cara de alguien, fue con la del chavo del monólogo cómico, que era sonriente, “y yo no”. Pero en su generalidad, hablé con la mirada hacia el suelo o viendo a la pared.

Luego, como mi computadora ya se reflejaba en la pantalla del auditorio, fue momento de comenzar la música.

Empecé a hacerlo así, y no reparé siquiera en echarle un ojo a la proyección, ya con un código rodando; para corroborar si, en efecto, este estaba mostrándose ante todos.

Asumí que el código se veía, y no. Únicamente se mostró el fondo de pantalla de mi compu, que es color morado. Pero mientras yo hacía códigos, sentí la especial sensibilidad de que lo que escribí, los demás lo podían juzgar. Y ni conté cuánto tiempo duró lo que presenté, pero tuve una sensación (tal vez ilusoria) de que fue la vez en que la pieza practicada fue más corta de lo normal.

Soy muy crítica conmigo misma, al punto de que, en medio de la presentación, me culpé a mí misma acerca del general bajo volumen, pero no tuve el tiempo (por haber estado nerviosa) o la ocurrencia de preguntar en voz alta, si era yo, o había que subirle más al volumen, pues desde mi interfaz de audio habría podido fácilmente incrementarlo.

Por mi cuenta concluí que pudo haberse escuchado más cualitativo, aunque muy trabajoso en cuanto a transporte, si yo hubiera aportado mis propias bocinas. Y si con tiempo, hubiese hecho las pruebas de audio y sonido que concernían a mi presentación. Pero faltó el cable.

Después de mí hubo un dueto teatral, gracioso. Uno de los personajes era “el cero.”

Varios rieron.

Me enfaticé mi falta de simpatía, y a eso le siguió la danza árabe, de la cual me gustó la selección de música de la chica, que con gran volumen se escuchaba. Además poseía toques electrónicos.

Y ella realmente bailaba con gracia. Sonando los adornos de la falta y oleando, en una de las piezas, una especie de rebozo rojo gigantesco. Muy padre… Parecía una diablilla. Ella misma pidió repetir el baile para amigos que llegaron después, y se lo permitieron.

Más poesías, y a continuación, existieron varias personas que, a petición de Natalia, echaron un palomazo para esperar a un grupo musical atorado el tráfico.

Hubo, durante el tiempo de sobra, guitarras clásicas, un compositor cantautor, y una pianista que convocó a la audiencia a cantar con ella a coro, una canción muy popular que “seguro nos la sabíamos”.
Hubo quienes sí la conocían, la acompañaron cantando y se escuchó bonito.

Llegó el dueto, que eran unas muchachas que interpretaban canciones de videojuegos.

Las intervenciones artísticas cerraron con un monólogo de un chavo matemático que justamente habló del pánico escénico, al igual que expresó ser un nerd que se dedicaba investigar en categorías y topología, y consideré que fue una buena manera de terminar las sesiones porque en su diálogo, él habló muy inclusivo con la audiencia. En parte también, resulta que los monólogos matemáticos están de moda.

Todo concluyó con los agradecimientos hacia los y las organizadoras, hacia los participantes y hacia la audiencia.

Aquí puedes escuchar la pieza que yo presenté:

(Entre los eventos artísticos ocurridos durante el Congreso de Matemáticas, que tuvo sede en la Facultad de Ciencias, estuvo la Bohemia Matemática, en la que participé. Y fue lo que escribí acerca de ella).

Notas sobre Sampleos

Digamos que quisiera componer una pieza, y encima de ella improvisar en Tidal. Hay una serie de problemas importantes que hay que saber manejar, independientemente de la parte creativa. Son preguntas que una persona seguramente se hará, al querer controlar mejor el proceso y obtener buenos resultados.

Tomemos por ejemplo, mi live Coding Miserable Mix, en el que incorporé varias muestras de audio, de diversas longitudes, que se corresponden con las secciones de guitarras, el pad, voces o percusiones.

Es una canción que compuse a 110 pulsos por minuto. Así que, lo primero que hacer y muy importante es declarar el tempo con el que los samples funcionan correctamente:

bps (110/60) o cps(110/60).

Al componer la canción, escogí bps (110/60)

y un sampleo de guitarra lo ajusté así:

d4 $ slow 8 $ sound "guitar:2"

Porque la muestra de audio es tan larga que si sólo se escribe

d4 $ sound "guitar:2",

entonces por cada vuelta del ciclo de tiempo predeterminado, se instancia un sampleo nuevo, que se encima con el anterior, que todavía no terminaba de leerse en el momento para el que ya comenzó el siguiente. Así que se van traslapando los sonidos.

slow 8 suena bien con ese sonido, pero no significa que el sampleo sea ocho veces más largo que cada ciclo de tiempo en bps. De hecho es veinticuatro veces más largo. Sería más correcto escribir:

d4 $ slow 24 $ sound "guitar:2"

Pero se escucha mejor con slow 8, pues usando slow 24 se percibe muy abruptamente el momento en que termina el audio.

Otra pregunta:

Si yo quiero hacer un live coding sobre una canción de longitud de, digamos, 360 beats, y tengo un archivo de audio de esa extensión, que quiero incorporar a mi live coding, ¿cómo me aseguro de que el archivo suene de principio a fin una y sólo una vez?

¿Por qué no usar el siguiente código:

d8 $ slow 720 $ sound “__” ?

Es una manera. Pero no se tiene control sobre el momento en que empieza el sampleo, y lo que se está haciendo es evitar que el sonido se dispare dos veces, a partir de hacer el ciclo de tiempo del patrón lo suficientemente extenso.

Una mejor opción es evaluar

do {
now <- getNow; d1 (rotR (now+0.1) $ playFor 0 1 $ s "dif") }

O alternativamente, definir una función, para utilizarla varias veces, usando una sintaxis más breve:

let playOnce dn p = getNow >>= \x -> dn (rotR (x+0.063) $ playFor 0 1 $ p)

playOnce d1 (s "dif")

Otra cuestión que frecuentemente llega a la hora de trabajar con sampleos (de mayor longitud que un ciclo) es:

¿Cómo le hago para recortar una muestra de audio y que se reproduzca sólo una parte?

Suelo buscar recortar un sampleo para que se reproduzca desde el inicio, hasta cierta porción del audio, así que el parámetro # end sirve para este fin.

Por ejemplo:

d4 $ slow 24 $ sound "guitar:2" # end “0.5”

está recortado por la mitad. O

d4 $ slow 24 $ sound "guitar:2" # end “0.25”

reproduce únicamente una cuarta parte del sonido, comenzando desde el principio de éste.

Pero se puede preferir usar el parámetro # begin, para tocar una parte del sampleo, comenzando a partir de una porción especificada de éste. Por ejemplo,

d4 $ slow 24 $ sound "guitar:2" # begin “0.25”

toca tres cuartas partes del audio, eliminando la primera cuarta parte.

Aunque al hacer un live coding sin mucha planeación detrás, puede que no se tenga mucho control sobre el momento exacto en que las muestras de audio terminan, o más sencillamente, si se gusta cortar un sonido instantáneamente y que sea sustituido completamente por otro, el parámetro indicado para esta tarea es #cut.

Para ilustrar el funcionamiento de #cut, se escucha que es muy distinto el resultado de, sin # cut, evaluar:

d1 $ slow 8 $ sound "guitar:2"

d1 $ sound "{bd1 ~ ~ bd1, ~ cp ~*2}" ,

que, con # cut evaluar :

d1 $ slow 8 $ sound "guitar:2" # cut "1"

d1 $ sound "{bd1 ~ ~ bd1, ~ cp ~*2}" # cut "1".

En el primer caso, como el sampleo guitar:2 es un audio muy largo, a pesar de la evaluación de un nuevo patrón que lo sustituye, guitar:2 dejará de sonar una vez recorrido todo el sampleo.

Y en el segundo caso, inmediatamente evaluado el patrón {bd1 ~ ~ bd1, ~ cp ~*2}, el sonido de la guitarra se calla y es totalmente sustituido por el más reciente.

#cut es también una manera muy útil de reducir acumulación de ruidos indeseados en un live coding, porque evita que los audios se traslapen, y así, provee transiciones más limpias entre los sampleos. Pero hay que notar que #cut cambia la manera en que suenan los patrones, y es relativo si usar este parámetro es mejor o peor.

El tempo en Tidal se puede controlar con dos opciones: bps y cps.

Miserable Mix, al ser compuesta, utilizó bps, y si se quiere cambiar a cps, se tienen que cambiar varias cosas del código.

bps y cps definen casi el mismo pulso. Es decir, el tempo de 110 beats por minuto coincide con escribir

bps(110/60) o cps(110/60).

La diferencia radica en que un ciclo de tiempo en tidal definido en bps equivale a la mitad de un ciclo de tiempo en tidal definido en cps.

Por ejemplo, para convertir en cps lo siguiente:

bps(110/60)

d4 $ slow 24 $ sound "guitar:2" ,

habría que cambiarse el bps y el slow:

cps(110/60)

d4 $ slow 48 $ sound "guitar:2"

Pero como observación, al usar sampleos largos parece ser más conveniente utilizar cps. Pues, además de que el tiempo en cps coincide con los bpm definidos por un metrónomo, se tiene la posibilidad de reiniciar los sampleos, controlando cuándo empiezan, evaluando las cosas en el siguiente orden:

d4 $ slow 48 $ sound "guitar:2"
cps(-1)
cps(110/60)

Una pregunta importante si se está trabajando con una canción:

¿Cuántos ciclos dura toda la canción? O más precisamente, ¿Cuántos ciclos en bps o cps le corresponden a una canción de x minutos que va a y beats por minuto?

Por ejemplo,

¿Cuántos ciclos en cps le corresponden a una canción de 4 minutos que va a 120bpm?

¿Cuántos ciclos en cps le corresponden a una canción de 4 minutos que va a 90bpm?

¿Cuántos ciclos en cps le corresponden a una canción de 4 minutos que va a 180bpm?

Si una canción va a 60 beats por minuto, entonces una canción de 4 minutos será recorrida en
60 x 4 = 240 beats.

Si una canción de 4 minutos va a 180bpm, entonces la canción completa será recorrida en
\begin{align}\frac{(180)(60)(4)}{60},\end{align} es decir en 720 beats.

Si una canción de 4 minutos va a 90bpm, entonces la canción completa será recorrida en
\begin{align}\frac{(90)(4)(60)}{60}, \end{align}es decir en 360 beats.

Y así sucesivamente.

Pues bien, sólo resta hacer una o más piezas en Tidal, aplicando estos conceptos.

18 de julio de 2017

El 20 de julio es la fecha límite para mandar propuestas de artículos a ICLC. Hoy es dieciocho y sigo considerando más prioritario el hecho de mejorar el código de mi propia página web, que intentar escribir un artículo para dentro de un día y medio, con todo y referencias.

Pero voy a hacer el intento de poner mis ideas en claro. Mis observaciones acerca de la práctica del live coding, con toda la franqueza que pueda.

Primeramente, considero que no tengo material suficiente para escribir un artículo, porque no tengo ganas de ser la poeta o la apasionada dentro de un conjunto de artículos que, en su mayoría describen los programas computacionales que están en vías de desarrollo.

Y por otro lado, mi propia obra artística no es lo suficientemente completa como para que yo la considere digna de relatarse en un artículo académico. Creo que lo que yo llevo hecho, es algo que, en cuanto a técnicas y modos de llevar a cabo, tampoco es muy relevante. Y lo establece la misma crítica a mi propuesta de live coding que yo hice hace ya casi tres años: “mi propuesta no era lo suficientemente novedosa técnicamente hablando”…, “aunque la forma en que describí los acontecimientos relatados en mi propuesta eran interesantes.”

Un poco refiriéndome a esto, establezco que no estoy tan peleada con la academia y su organización, que mucho de jerárquico tiene. Pero justamente me cayó gorda la observación de que mi propuesta no era lo suficientemente propositiva, técnicamente hablando.

Creo que, siendo el live coding un espacio para la interdisciplina, sería de esperarse que hubiera más apertura hacia los aspectos músicales, o hacia el significado de crear una obra, utilizando una herramienta particular. Los músicos, por ejemplo, suelen dedicarse a explorar lo sonoro, dar giras y realizar grabaciones, y hay varias maneras de apreciar los tecnicismos. Bajo el criterio de “entregar una serie de grabaciones,” no hay novedad. Pero también está el criterio de apreciar los contenidos, ver “cómo está ejecutado lo que está dentro de esa grabación,” si es bueno o malo, y bajo qué parámetros.

Alex Mclean es de los que ven a Tidal como un instrumento musical. Y entonces tendría sentido abrir los ojos a ver a Tidal como un instrumento musical, explorar sus posibilidades musicales, abrirse a la comprensión de ese espectro, independientemente de hacer crecer a Tidal como un lenguaje de programación. De momento, casi todo lo que he visto que rodea a Tidal, es una sed de sus usuarios por programar más y más, y en especial seguir construyendo “la expresividad digital.”

Hay “excepciones”, como el caso de 65daysofstatic, la banda de rock. O como “kindohm,” que tiene la habilidad de improvisar “demasiada” música, a la par que colaborar en la programación de Tidal.

Yo misma también me considero excepción.

Por ejemplo, leía una entrevista a Alexandra Cárdenas, que dice: “De momento me considero una usuaria de TidalCycles, pero lo que yo quiero hacer en algún momento, es construir mi propio lenguaje de programación que funcione exactamente de la manera en que quiero.”

Yo más bien soy de la opinión de que el lenguaje Tidal, fue un descubrimiento para mí, y para las propias preguntas que yo misma me hacía. Descubrí una máquina para hacer música interesante, y no me dan ganas de construir otra por mí misma, sino de hacer música con el hallazgo.

“¿Se puede hacer un programa de computadora que improvise en vivo y que sea musicalmente agradable, con mucha estructura y no consista únicamente de hacer ruidos?”,

“¿Se puede construir un programa que improvise música y con posibilidades que reten al intelecto?,”

“¿Cómo se mejoraría la improvisación con una computadora a algo más que Ableton Live?”

“¿Existe una persona que entienda mis abstracciones músico-matemáticas y las pueda responder?”

El paquete Tidal-Alex Mclean – Dave Griffiths respondió estas preguntas, y puso en claro una manera de abordar estos cuestionamientos propios, más prácticamente. En general, el encuentro Vivo 2012 ocurrido en el Centro Multimedia, en la Ciudad de México, reunió a gente igualmente interesante, ya conocedora del live coding; por ejemplo, Julian Rohrhuber o Alberto De Campo.

Aunque por mucho, me inspiró la presentación en vivo de Slub (el grupo de live coding de Alex y Dave), al igual que el taller de estos cuates, que se llamó “El tiempo como funciones en el espacio.” Era gente que había aplicado ciertos conceptos matemáticos, y los había implementado en un par de programas para hacer música (ciertos conceptos de teoría de gráficas por ejemplo). Gente que es buena en matemáticas, aunque ambos son programadores.

Desde ese entonces pensé. “¡Yo quisiera tener acceso a este programa (Tidal), para hacer música!” Y hasta años después fue que me cayó el veinte de que el programa es abierto al público, sencillo de descargar y usar. Pero dominar las estructuras musicales de las que Tidal nos provee, no es tan sencillo. Y tampoco es sencillo hacer un ensamble musical que lo incluya, cosa que ya he intentado. Intenté juntar Tidal y un bajo.

El dueto tuvo buenos momentos, y otros no tanto, y pudimos haber sido más persistentes con los ensayos; tomar las cosas más en serio. Es una dificultad que compete a la creación musical.

También quiero poner sobre la mesa que tengo un objetivo muy claro, y es el de incorporar a Tidal como algo que forme parte de mis canciones. Porque soy cantante ocasional, he estudiado canto y suelo escribir canciones y grabarlas.

Durante mi trayectoria como cantante, me interesé por hacer música con otras personas, por aprender a hacer un home studio y producir música profesionalmente. Creo que es deducible que, si encontré en Tidal una forma de hacer música interesante, también me interese el tema de incorporarlo en mis canciones género pop-alternativo. Y tengo observaciones objetivas sobre la dificultad que implica lograr esto, pero estoy abierta a la lucha.

Con esto último me refiero a que, cuando una persona como yo, quiso hacer canciones con Tidal, hubieron dos grandes problemas, que fueron: el de separar la señal de Tidal, y el de intentar sincronizar un programa que es Open Source, con uno que no lo es; Ableton Live. Pues, de no poder lograr lo primero, se tendría que, a pesar de que los ritmos creados en Tidal fueran interesantes, una imposibilidad de mezcla evitaría la grabación profesional de un proyecto musical.

Ahora, no está bien documentado cómo sincronizar Tidal y Ableton Live de la manera más eficiente. Utilizando de por medio Max/MSP ha sido lo más cercano a lograr esto, que yo conozca. Y es comprensible que no haya buena documentación, porque para muchos programadores es muy importante mantener la cualidad OpenSource de Tidal. Pero desde mi perspectiva de músico, y conociendo a personas apegadas a grabar sus obras sin muchas más complicaciones que la propia música e ingeniería de audio, soy de las que ciertamente sacrificarán la idea de crear algo puramente basado en la cultura Open Source. Me da gusto saber de la existencia de proyectos como Gibberwocky, sistema que combina las posibilidades creativas de Ableton, con el live coding.

Opino que, si bien es cierto que en SuperCollider se puede grabar todo un proyecto, yo prefiero otorgar mis esfuerzos en conseguir una mejor expresividad con Tidal y conocer este lenguaje. Pero Tidal no es el centro de toda mi atención.

Como la cantante interior que aún no satisface completamente sus deseos solistas, el live coding me presenta un dilema, y de momento adoptaré como solución el utilizarlo para componer música, y no para mejorar su funcionamiento con otras interfaces.

“Establecer lo que voy a hacer”, no es tan digno de compartirse en un artículo académico según yo. Sería más ilustrativo si presentara en unas páginas el proceso mediante el cual llevé a cabo una canción, y el lugar que al final fue otorgado al live coding. Pero claramente, esto no sucederá, porque el cierre de propuestas para el próximo ICLC es el veinte.

Hay momentos en que el live coding sí llama mi atención como un movimiento, porque en el medio, es donde me he topado con personas con intereses y preguntas muy afines a los míos y con gran visión. Pero otra parte mía no toma el live coding como un movimiento, sino simplemente como una forma de hacer música y arte, que está en vías de desarrollo. “Si me gusta esta técnica, la uso.” Pero si no se está en el mismo medio que otros live coders, muy frecuentemente habrán errores con la computadora, que retrasarán una obra artística, por lo que no me puedo mantener muy relegada de la comunidad. Y muy frecuentemente sucedería que gente desconocedora del live coding, su potencial, y actual ideología, sean despectivas de esta forma creativa.

Yo siempre termino encontrando pros y contras muy pronunciados a la hora de adoptar este camino creativo. En mi caso, forzosamente tiene que haber una combinación.

Shelly Knotts estudió violín. Y ahora es programadora. Pero a ella, a diferencia mía, lo que le parece atractivo del live coding es la capacidad que esta práctica aporta para generar música o ruido, de una forma desapegada a las reglas tradicionales de composición musical.

Yo, como fan del rock, me siento atraída por ciertas estructuras comunes. Conceptos como tonalidad, cadencias, estrofas, coros, puentes y desenlaces. Me gusta cantar, hacer canciones, y encontrar dentro de eso un espacio para la programación. Se puede. Björk hizo eso.

Hace casi tres años, cuando mandé mi propuesta en ICLC, yo afirmaba que mi intervención de tweets a Denise Maerker formaba parte de mi experiencia como live coder, pero ahora pienso que no estoy tan de acuerdo, o que no tengo comentarios. Porque cuando una entra al Facebook, es exactamente lo mismo: gente está al tanto de otra gente a través de una red social, y la diferencia es que yo me tomé muy en serio mi trabajo y mis tweets, que finalmente hablan de matemáticas. Fue un poco la época en que aprendía a programar, y tenía mucha energía especial por todas partes, que estaba combinada. Hice unos live codings guiados por esa energía. Pero esos mismos live codings, y esa intención, resultó motivo de confusión en mi propuesta. Y ya dije, y lo repito: No es como poeta, como yo me veo en los artículos del ICLC.

Es un problema, pues realmente no tengo qué escribir, que yo considere sea digno de un artículo sobre live coding.

La comunidad abre la posibilidad de compartirme en el aspecto de la música y las matemáticas, pero de momento, mi cerebro tiene muy delimitado que una cosa es programación, y otra es matemáticas. Y que suele ser muy redundante incluir mis abstracciones matemáticas, si no están bien expresadas.

Una abstracción que me gusta es la de los grupos y el sonido multicanal, o más sencillamente, los grupos en un sonido estéreo. O los grupos en el ritmo, y Tidal se presta para eso, porque con él se pueden crear ritmos que yo no soy capaz de ejecutar en una batería, además de que la abstracción matemática ya viene incluida en el código a la hora de programar. Pero todo eso forma más bien parte de un sentimiento muy personal al momento de crear y organizar la música para ser ejecutada, y no tanto como una aspiración a un proyecto de investigación.

Podría intentar describir mejor esta idea, primero en palabras, hasta llegar a escribir las abstracciones matemáticas asociadas, pero no tengo mucho tiempo para eso. Creo que ciertamente se pueden encontrar analogías entre permutaciones de grupos y mezclar música, o la acción de poder separar ciertos sonidos y ubicarlos en unas bocinas.

Pero me guío más por el sentimiento de crear una música, que incluya la programación, y que la pueda compartir con la gente.

También estoy al tanto de que existen libros sobre teoría de grupos y música, como el de Julio Estrada, del cual tengo una copia.

En estas épocas, la cultura de la programación es importante, pues hay una gran diferencia entre estar frente a una computadora, siendo creativa con ella, y estar frente a una computadora, siempre viendo Netflix o el timeline de Facebook. Y en ese sentido, sí considero al live coding como una contraparte importante ante la pasividad y el confort. Es una buena forma de enterarse cómo funcionan las nuevas tecnologías, y una puerta para aprender a utilizarlas de modos más inteligentes.

Hay quienes establecen que la programación está cerrando las brechas de género, en pos de la equidad. Yo de momento no tengo mucho que opinar al respecto, pero también ese tema me interesa y un poco puedo percibir por qué lo dicen.

Criba

En una ocasión escuché unas cribas de Xenakis y me entusiasmé mucho; porque sonaban como el teorema chino del residuo. Aunque en ese entonces no me lo describí a mí misma de esa manera, sino como “eso suena a un sistema de ecuaciones con congruencias.”

Las cribas en cuestión eran rítmicas, y esto debe mencionarse, pues investigando en la red, una seguro se topa con artículos académicos que describen cómo se construyen éstas y las hay de varios tipos.

Hace una semana, finalmente me decidí a tomar un libro de álgebra superior y programar una criba en Tidal.

Teorema Chino del Residuo:

El sistema de congruencias
\begin{align}
& x \equiv a_1\pmod {m_1} \\
& x \equiv a_2\pmod {m_2} \\
& \phantom{10} \vdots \\
& x \equiv a_k\pmod {m_k} \\
\end{align}
tiene solución si \begin{equation}(m_i, m_j) = 1 , \phantom{10} i \neq j \end{equation}
y en este caso, todas las soluciones son congruentes módulo \begin{equation} m_1 \cdot m_2 \cdot … \cdot m_k \end{equation}

.

En particular tomando el siguiente sistema,

\begin{align}
& x \equiv 1\pmod {3} \\
& x \equiv 2\pmod {5} \\
& x \equiv 3\pmod {7} \\
\end{align}

 

su criba correspondiente (en Tidal) sería:

d1 $ stack [sound "{~ bd ~}%4",
sound "{~ ~ cr ~ ~}%4",
sound "{~ ~ ~ sd:1 ~ ~ ~ }%4"]

Algofive

Cada vez se aleja más y más la fecha del 17 de marzo de 2017, fecha en la cual ocurrió la celebración de los primeros cinco años del “Algorave.” Y más que haberme emocionado mucho, es una buena ocasión para compartir ejemplos de cosas que yo no hice, pero que se relacionan con la forma en la que recientemente hago música. Sirva esto también para defender un poco ese proceso creativo, antes de que otro más llegue y diga: “¿Pero para qué te metes en tanto rollo? ¿Acaso no sería más fácil que sólo uses Ableton?”

Esto del Algorave, en gran medida forma parte de una corriente Open Source, e incluso hay un “Live Coding Manifesto.”

Hay quienes están en esto porque tienen una posición política muy bien definida, y en ocasiones, puede ser chocante que alguien te insinúe que para producir música hay que: o piratear un software, o comprarlo a precio de doce mil pesos (aproximadamente).

Yo para nada que estoy en contra de tal inversión. Creo que Ableton es una maravilla. Pero con decir esto podría dar al traste con el objetivo de este post. Difundir el Algorave es el objetivo. Mostrar un círculo en donde hay músicos, artistas visuales, programadores, filósofos y científicos, entre otros.

Me emocionó descubrir recientemente un libro electrónico dedicado a SuperCollider, que se puede ver en este link: https://www.gitbook.com/book/thormagnusson/scoring/details

A continuación pego videos que me resultaron interesantes, ocurridos en Algofive (si gustas ver más, no sería difícil llegar al canal de EulerRoom).

 

TidalCycles

Estuve trabajando en hacer un screencast de un live coding, que a continuación presento:

Y no ando en un plan muy explicativo, pero me acordé de un blog que tengo abandonado, y tal vez es un buen antecedente a esto:

http://dudasmusicomatematicas.blogspot.mx/

Habla, entre otras cosas, sobre cómo conocí el live coding y este programa que se llama Tidal.