-
BrownianoHTML: sonorización y visualización de una simulación del movimiento browniano.
Para correrlo desde la terminal hay que cambiar de directorio (cd) a la carpeta, luego usar "python3 -m http.server" y acceder desde un navegador a la dirección http://localhost:8000.
-
Transformer: el código que utilicé para crear una composición con un modelo de transformer alimentado con la obra de Mozart. Fue para el proyecto de Réquiem IA en conjunto con la OJUEM y el TCUNAM para el festival El Aleph 2024. Trabajé con Jaime Lobato, Iván Paz, Pablo Padilla y Michel Soto.
-
MarkovDiscreta: una simulación de una cadena de Markov en donde los estados son notas. La intención es crear una pieza sonora en donde se pueda identificar la distribución estacionaria de una cadena a través del sonido.
-
PerronFrobenius: una visualización de los valores propios de un conjunto de matrices (parametrizadas) en donde se puede ver que el valor propio más grande es real. Inspirado en el trabajo de Simone Conradi.
-
Erdős-Renyi: una vizualicación de gráficas aleatorias vistas como un proceso estocástico indizado por la probabilidad de que una arista esté en la gráfica.
Si la gráfica tiene 12 vértices la podemos pensar como el círculo de quintas. PercolationCircleOfFifths es una sonorización del círculo de quintas usando el modelo de Erdős-Renyi. Cada vez que aparezca una arista, las dos notas sonarán simultaneamente.
Códigos para visualizar el espectro de matrices aleatorias (o una muestra aleatoria de un conjunto muy grande) inspirado en el proyecto de Western University en Canadá y también por Simone Conradi.
-
Histograma fijo: este código permite visualizar la función de densidad de probabilidad del espectro de una matriz con entradas aleatorias. Para esto, usa el método de Monte Carlo para aproximar la función de densidad con un histograma. Notemos que si las entradas de la matriz son variables aleatorias entonces su valores propios son variables aleatorias también. Así, podemos analizar en qué regiones del plano complejo es más probable que estén. El resultado es un histograma en el plano complejo donde la fucnión se aproxima mediante un mapa de color.
-
Sparse Matrix Animation: siguiendo la idea del código anterior, si ahora hacemos que una entrada se mueva en el tiempo, obtenemos una animación. Las funciones de densidad van a cambiar suavemente porque el determinante es una función continua. Como en general las matrices que dan resultados más agradables son ralas (sparse), entonces aprovechamos eso para ahorrar memoria.