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

Escuta de máquina, transmitida ao portal

Um dispositivo de Max for Live lê o estado do set ao vivo (andamento, cena, energia, tom) e transmite para este site, que o transforma na tela SYSTEM ONLINE.

Problema

Quando um set é transmitido, o site em volta dele normalmente não sabe nada sobre a música. Tem um player, um chat, às vezes uma contagem regressiva. A página fica igual durante uma subida de vinte minutos e durante um breakdown, o que é estranho de aceitar numa música cujo sentido inteiro é se mover.

Eu queria que este site soubesse o que o set está fazendo enquanto ele faz, e que mostrasse isso como uma tela que muda com a música porque de fato está sendo informada sobre que música é essa. Um painel de engenharia com medidores e gráficos responderia a outra pergunta.

Hipótese

O set ao vivo já contém quase tudo o que o site precisa saber. O Ableton tem o andamento e a cena atual, e o próprio áudio carrega a energia e, aproximadamente, o tom. Se um dispositivo dentro do set ler esse estado e mandar para fora algumas vezes por segundo, o portal pode desenhar direto a partir dele, e os visitantes vão sentir a conexão sem que ninguém precise explicar.

Uma segunda hipótese, mais discreta: um número pequeno de valores bem escolhidos basta. Andamento, cena, energia e tom devem transmitir mais da sensação do que um espectro completo, porque estão mais perto de como as pessoas descrevem um set de verdade.

Montagem

  • Um dispositivo de Max for Live fica na faixa master do set ao vivo. Ele lê do Live o andamento e a cena ativa, mede a energia RMS na saída e estima o tom.
  • Os valores passam por node.script dentro do dispositivo para uma conexão WebSocket com o servidor do portal. A conexão é autenticada com um token, então só o set pode escrever nela.
  • O servidor retransmite o estado para todo mundo que está com a página aberta.
  • No site, o estado move a tela SYSTEM ONLINE: o terreno, a luz e o movimento respondem aos valores que chegam. Quando não há set rolando, a tela diz isso e volta para o modo calmo.

Deixado de fora de propósito, por enquanto: dados por faixa, áudio bruto e qualquer coisa que permitisse reconstruir o set a partir do fluxo.

Resultado

Provisório.

  • O canal do dispositivo para o servidor e para a página: em andamento; status de ponta a ponta TBD.
  • Latência entre uma mudança no set e uma mudança na página: TBD, vai ser medida quando o canal funcionar de ponta a ponta. O que importa é se parece simultâneo, mais do que o número em si.
  • Detecção de tom em material denso e filtrado: TBD. Espero que seja o menos confiável dos quatro valores e pretendo tratá-lo como uma pista.
  • Se os visitantes leem a tela como “a música está aqui” sem explicação: TBD, só dá para saber numa sessão real.

O que mudou

A principal mudança até agora está no escopo. Seria fácil transmitir muito mais, o nível de cada faixa e cada movimento de parâmetro. Ficar em quatro valores deixa o dispositivo mais simples e a tela mais clara, e combina com a ideia por trás do projeto inteiro: um set é um único estado contínuo, e não um monte de eventos separados.

A outra mudança é o modo de reserva. A página precisa parecer intencional quando o sistema está offline, o que acontece quase sempre. SYSTEM ONLINE só quer dizer alguma coisa se existir uma versão crível da página em que ele não está.

silêncio
Nobody Quits