Algoreve: como os programadores fazem festas


Fonte

Os futuros desenvolvedores não estão apenas escrevendo código - eles estão criando uma rave algorítmica. Algorave é a escrita e o uso de algoritmos que geram dance music em tempo real, diante de um público fisicamente presente.

Música generativa não é um fenômeno novo. Sabe-se que mesmo uma rede neural é capaz de criar músicas difíceis de distinguir do trabalho de um compositor talentoso. No entanto, Algorave tem suas próprias características distintas.

Se o trabalho de um DJ tradicional é construído em torno da mixagem correta de faixas (é claro, se ele não distorcer a mixagem final de um pen drive), os algo-rios improvisam, cometem erros e os corrigem corretamente durante a apresentação. Ao mesmo tempo, os codificadores ao vivo transmitem o que está acontecendo na tela do laptop.

Subcultura de Programadores




A comunidade de codificadores de música ao vivo é diversificada e ansiosa para se envolver em uma ampla gama de práticas artísticas, incluindo arte audiovisual, robótica, dança, pesquisa e educação, misturando essas práticas.

E se, em vez de perceber uma "delírio" como um "evento", "entretenimento" ou uma "festa da música", a tratasse como um fluxo de informações às quais você pode se conectar em tempo real? Os ravers de Algo nem sempre são "ravers" como tais, eles não se consideram "o futuro da dance music", mas são inspirados pelo espírito de tocar "semi-anônimo" pela unificação cultural de uma multidão sem nome.

Por exemplo, os músicos Aphex Twin e Autechre há muito tempo usam abordagens algorítmicas em suas músicas, mas em um sentido mais tradicional. Assim, em suas performances, os espectadores, além do código projetado, podem observar efeitos visuais e até robôs dançantes. Todos os elementos do show não precisam ser gravados ao vivo - a tarefa principal é trabalhar em um componente musical diversificado.

Quase todos os representantes desta subcultura usam software de código aberto gratuito. Em círculos estreitos, os aplicativos que comemoram o 15º aniversário estão evoluindo lentamente. No entanto, alguns músicos preferem escrever programas para si mesmos.

Algoreyv gradualmente se torna um ambiente para a troca de idéias - qualquer pessoa pode usar todo o software disponível ou escrever algo.

Efeitos visuais e sonoros



A plataforma Hydra gera efeitos de falha visual na viagem.

Do ponto de vista prático, tudo acontece de maneira simples: ele carrega, por exemplo, kitBleepFtech, fornece o comando highGlobalDensity e a sala está cheia de graves estrondosos. O músico cria ruídos separados (bateria, baixo) em seu computador, e um software especial combina sons baseados em algoritmos.

Em tal simbiose entre homem e máquina, resta um enorme espaço para a criatividade. Se você tentar criar a mesma faixa outra vez, usando os mesmos elementos, a composição parecerá familiar, mas obterá uma estrutura diferente.

Além da música, muita atenção é dada ao VJ. Escrever mixagens de vídeo interagindo harmoniosamente com a música é uma forma de arte separada dentro de uma subcultura.

Portanto, o Hydra, criado usando o WebRTC e o WegGL, permite que cada navegador, dispositivo ou pessoa conectado produza um sinal ou fluxo de vídeo, além de receber e alterar fluxos de outros navegadores, dispositivos ou pessoas. A API é baseada na síntese modular analógica, na qual muitas fontes visuais (osciladores, câmeras, janelas de aplicativos) podem ser convertidas, moduladas e combinadas.

Transmissão ao vivo da Times Square + transmissão do aquário + código no Hydra: https://ojack.imtqy.com/articles/hydra/times-square.mp4

No Hydra, o elemento básico é a conversão de coordenadas em cores. Outras funções convertem coordenadas ou cores.

Demonstração da "hidra" durante o Algorave na conferência internacional sobre codificação ao vivo, Espanha, Madri, 2019:



Os ambientes de programação habilitados para codificação ao vivo exigem a capacidade de criar, copiar e duplicar rapidamente conteúdo audiovisual, além de fornecer feedback para artistas e audiências. Por esses motivos, muitos ambientes de codificação ao vivo usam linguagens específicas, exclusivas e flexíveis. Abaixo, veremos vários programas principais de Algorev.

Fazendo música




O SuperCollider é um mecanismo de áudio de código aberto de plataforma cruzada incrivelmente poderoso e uma linguagem de programação usada para criar música, gerar efeitos visuais e codificação ao vivo. A primeira versão apareceu em 1996. Agora ele é suportado e desenvolvido pela comunidade sob a GNU General Public License.

A linguagem é orientada a objetos, com base no Smalltalk com sintaxe C. O servidor de síntese SuperCollider funciona de forma independente e pode ser controlado usando outros idiomas, por exemplo, Haskell.

O SuperCollider possui três componentes principais:

  • Scsynth é um servidor de áudio em tempo real. Possui centenas de geradores (UGens) para analisar, sintetizar e processar áudio. Você pode escrever seus próprios UGens em C ++ e adicioná-los ao repositório.
  • Sclang é uma linguagem de programação interpretada que se concentra no som, mas não se limita a nenhuma área específica. Sclang controla o Scsynth através do protocolo de pacote Open Sound Control. Ele pode ser usado para procurar novos métodos de síntese sonora, para conectar o aplicativo a equipamentos externos, incluindo controladores MIDI, para escrever interfaces gráficas e displays visuais, bem como para experimentos de programação. Possui um conjunto de extensões personalizadas chamado Quarks.
  • Scide é um editor para Sclang com um sistema de ajuda integrado.

Chuck


Linguagem de programação multiplataforma para síntese sonora em tempo real e produção musical. O ChucK suporta visualização, MIDI, Open Sound Control, dispositivos HID, som multicanal, e também tem a capacidade de adicionar e alterar código sem interromper o processo de geração de música.

É fácil de aprender e oferece uma poderosa ferramenta de programação para criar e experimentar programas complexos de síntese e análise de som em tempo real.

Fluxus


Um ambiente de prototipagem rápida para gráficos, som e jogos em 3D. Estende os recursos do Racket de linguagem de múltiplos paradigmas com a ajuda de comandos gráficos, pode ser usado em seu próprio ambiente de codificação ao vivo ou no IDE DrRacket.

Al-jazari


O ambiente de programação escrito em Fluxus é codificação ao vivo dentro da codificação ao vivo. É controlado usando um gamepad, usando uma linguagem gráfica simples. É possível enviar comandos para robôs na tela para interação entre si e movimentação no terreno preenchido com acionadores de áudio. O código de trabalho é exibido na forma de bolhas acima de cada robô e pode ser editado.

Vários usuários podem trabalhar (ou se divertir) no programa ao mesmo tempo (na primeira versão, que apareceu em 2008, quatro pessoas poderiam estar ao mesmo tempo).

O código, os modelos e as texturas de Al-Jazari são liberados gratuitamente; no entanto, o programa não se destina a ser usado como software finalizado; portanto, para configurar, você precisa compilar e instalar vários programas do usuário (consulte a página do projeto para obter mais detalhes).

Da teoria à prática


Algorev é uma arte na qual os elementos de hackers, game dev e cyberpunk estão entrelaçados. A comunidade de codificação ao vivo incentiva o auto-aperfeiçoamento, para que todas as ferramentas estejam disponíveis e sejam constantemente atualizadas. Nos links fornecidos no artigo, você encontrará mais informações sobre como se programar ao vivo. Você também pode tentar trabalhar com o TidalCycles , uma ferramenta para criar padrões algorítmicos.

Source: https://habr.com/ru/post/pt464713/


All Articles