--:--:-- ·
← Lab
EXP. 002 · running

Escucha de máquina, transmitida al portal

Un dispositivo de Max for Live lee el estado del set en vivo (tempo, escena, energía, tonalidad) y lo transmite a este sitio, que lo convierte en la vista SYSTEM ONLINE.

Problema

Cuando se transmite un set, la web que lo rodea normalmente no sabe nada de la música. Hay un reproductor, un chat, a veces una cuenta atrás. La página se ve igual durante una subida de veinte minutos que durante un breakdown, lo cual es raro de aceptar en una música cuyo sentido entero es que se mueve.

Quería que este sitio supiera qué está haciendo el set mientras lo hace, y que lo mostrara como una vista que cambia con la música porque de verdad le están diciendo qué música es. Un panel de ingeniería con medidores y gráficas respondería a otra pregunta.

Hipótesis

El set en vivo ya contiene casi todo lo que el sitio necesita saber. Ableton tiene el tempo y la escena actual, y el propio audio lleva la energía y, aproximadamente, la tonalidad. Si un dispositivo dentro del set lee ese estado y lo envía varias veces por segundo, el portal puede dibujar directamente a partir de él, y los visitantes sentirán la conexión sin que nadie tenga que explicarla.

Una segunda hipótesis, más discreta: basta con un número pequeño de valores bien elegidos. Tempo, escena, energía y tonalidad deberían transmitir más de la sensación que un espectro completo, porque están más cerca de cómo la gente describe de verdad un set.

Montaje

  • Un dispositivo de Max for Live está en la pista máster del set en vivo. Lee de Live el tempo y la escena activa, mide la energía RMS en la salida y estima la tonalidad.
  • Los valores pasan por node.script dentro del dispositivo a una conexión WebSocket con el servidor del portal. La conexión se autentica con un token, así que solo el set puede escribir en ella.
  • El servidor retransmite el estado a todos los que tienen la página abierta.
  • En el sitio, el estado mueve la vista SYSTEM ONLINE: el terreno, la luz y el movimiento responden a los valores entrantes. Cuando no hay set, la vista lo dice y vuelve a su modo tranquilo.

Dejado fuera a propósito, por ahora: datos por tema, audio en bruto y cualquier cosa que permitiera reconstruir el set a partir del flujo.

Resultado

Provisional.

  • El canal del dispositivo al servidor y a la página: en curso; estado de extremo a extremo TBD.
  • Latencia entre un cambio en el set y un cambio en la página: TBD, se medirá cuando el canal funcione de extremo a extremo. Lo que importa es si se siente simultáneo, más que la cifra en sí.
  • Detección de tonalidad en material denso y filtrado: TBD. Espero que sea el menos fiable de los cuatro valores y pienso tratarlo como una pista.
  • Si los visitantes leen la vista como «la música está aquí» sin explicación: TBD, solo se puede saber en una sesión real.

Qué cambió

El cambio principal hasta ahora está en el alcance. Sería fácil transmitir mucho más, el nivel de cada pista y cada movimiento de parámetro. Quedarse en cuatro valores hace el dispositivo más simple y la vista más clara, y encaja con la idea detrás de todo el proyecto: que un set es un solo estado continuo y no un montón de eventos sueltos.

El otro cambio es el modo de reserva. La página tiene que parecer intencionada cuando el sistema está desconectado, que es casi siempre. SYSTEM ONLINE solo significa algo si existe una versión creíble de la página en la que no lo está.

silencio
Nobody Quits