Processing: uma ferramenta para o seu processo criativo

0022-GameArt-RPG-capa-evento-face-1920x1080px-1-1.png

Essa é a feliz história de seres humanos que fizeram seus corpos cantarem.E se você ler até o fim, quem sabe o mesmo não acontece com você…!

 O Processing (www.processing.org) é aquela coisa que faz você exclamar: “por que eu só conheci isso agora? Eu tenho tantas ideias!”Ao mergulhar nesse ambiente de programação para criativos (artistas visuais, músicos, designers, qualquer um mesmo!), logo me veio a seguinte vontade: “E se eu pudesse criar um instrumento musical a partir da minha movimentação?”Um instrumento mesmo, que tivesse riqueza como tem meu violão, sem firulas, que me absorvesse. Em pouco tempo o grande parceiro Marcos Moritz comprou a bronca e éramos uma dupla no projeto.Vamos adiantar pra você que:Conseguimos!;Disponibilizamos tudo (código-fonte também) de graça;Seu corpo pode cantar lindo com uma câmera de R$ 40,00 (ou menos);O R.I.S.C.O. tem levado isso para os palcos com o reforço da Mhirley Lopes;Estou dando um curso de Processing n’O Sítio! Esse instrumento, o SoMo, pode ser visto em ação no vídeo abaixo:https://www.youtube.com/watch?v=SHhqdaUqi8Y

Pode estar se perguntando: como vocês fizeram isso?

A interpretação do movimento e as projeções foram feitas em Processing (e, acredite, os conceitos envolvidos são bem simples! Vem pro curso de Processing n’O Sítio, poxa!! Começa dia 19/8. Ó: http://bit.ly/computacaocriativacomprocessing). O Processing também envia essa interpretação para um pequeno programa em Pure Data, que gera o áudio na hora.

O Processing e o Pure Data são gratuitos ;)

 [gallery ids="2246,2247"]

O Processo Criativo

Papo de criatividade agora. As nossas diretrizes foram:

1 - O instrumento não deve ser um simples sonificador de dados

Busque por sonification no YouTube para ver o que não quisemos fazer. Uma parte importante do trabalho criativo é estabelecer novas relações - e é exatamente nisso que a sonificação consiste: transformar uma imagem, um vídeo, planilhas cheias de dados, etc, em áudio. Há trabalhos incríveis usando sonificação, mas não conheço nenhum bom trabalho que consista somente na sonificação - porque criar relações é só uma parte...

2 - O som deve ser vir do movimento e não somente pela presença

Você conhece algum instrumento musical bem-sucedido que gera som enquanto você está parado? Fora o theremin (mesmo com ele, não fazer pelo menos um vibrato deixa a experiência bem chata), não conheço nenhum… é muito importante lembrar que a percepção não é um processo somente passivo. A mente do ouvinte, com suas associações e expectativas, deve ser levada em conta - os bons compositores sabem que música é mais psicologia que matemática!No SoMo, quanto mais movimento em frente à câmera, maior o volume.

3 - O som deve ser construído e não disparado

Isto aqui tem muito a ver com a última diretriz da lista. Disparar sons através do movimento é muito legal, mas é uma experiência mais próxima do DJ do que do instrumentista. Um instrumentista não dispara sons, ele convive com um instrumento musical para desenvolver sua forma de extraí-lo.

4 - A experiência de tocar não deve se esgotar facilmente

Instrumentistas se dedicam uma vida inteira a melhorar sua performance, explorar as possibilidades conhecidas do instrumento e criar novas. Há uma profundidade no tocar um instrumento. 

Um depoimento de quem vem usando nos palcos:

Quero usar!

Você pode baixar o necessário e aprender a usar no link: https://bitbucket.org/mmoritz/somo/overviewNão esqueça de dar um alô para algum de nós criadores: tiago.brizolara@gmail.com e marcosmoritz@gmail.comE compre uma câmera como a PSEye, que custa uns R$ 40,00 e tem o que a gente precisa nesse projeto: velocidade. Ela é pequena e conecta via USB. Uma dessas aparece na imagem aí do ator Fábio Yokomizu (a primeira pessoa a se apresentar com o SoMo):Mas, calma, tem um monte de coisas legais na postagem ainda!

É muito responsivo!

Para atingirmos os objetivos, ficou claro que o grande dragão a matar era a velocidade. O movimento em frente à câmera teria que ser interpretado muito rapidamente. Foi por isso que não utilizamos a ferramenta de excelência em captura de movimento para aplicações criativas, o Microsoft Kinect. Ele nos dá apenas 30 quadros por segundo (ou FPS - frames per second), o que tira todo o detalhe dos movimentos rápidos. Não existe nenhum sensor de profundidade que nos dê pelo menos 60 FPS que tenha um preço acessível. Mas há câmeras de vídeo rápidas e baratas. A PSEye é uma pechincha e dá 60 FPS. No Linux, chega a 100!Claro que daí não temos toda a vantagem que o Kinect daria de identificar a pessoa e suas partes. Bom, foi uma escolha bem informada!Escolhido isso, o objetivo agora seria interpretar as variações no vídeo de forma rápida para gerar uma projeção rapidamente e atualizar o sintetizador rapidamente. E nós realmente conseguimos, tudo está rodando a 100 FPS, dando uma experiência fluida que o Kinect jamais conseguiria proporcionar.

Não quero só usar, quero entender mais como funciona!

Então, o básico de analisar movimento em vídeo é simples. Você simplesmente compara o quadro atual com o quadro anterior e vê quais pontos (pixels) mudaram.Só que se qualquer pequena mudança afetasse o som, o instrumento ia ficar incontrolável. Porque ninguém consegue ficar completamente parado, porque nem todo movimento é relevante e porque a câmera não é perfeita - sempre tem um pouco de ruído na imagem, que varia quadro a quadro. Para matar esses coelhos na mesma cajadada, nós não analisamos todos os pixels dos quadros consecutivos, mas de versões em menor resolução desses quadros (nós sub-amostramos as imagens, em termos técnicos).No exemplo abaixo, por exemplo, ao invés de trabalharmos com todos os pixels da imagem, trabalhamos com setores onde cada um tem 25 pixels (5x5) e aos quais atribuímos uma cor igual à média desses 25 pontos (pra falar a verdade, a gente pega menos pontos ainda. Na imagem abaixo, pegamos só 4 pixels de 25! São 21 pixels que deixamos de visitar, isso é uma baita economia de processamento para o computador, deixando nosso programa mais rápido)! Fazer essa média nos livra, como pretendíamos, de mudanças muito pequenas vindas de movimentos mínimos ou ruído.Depois, pegamos a região onde houve mudança e determinamos seu centro, a largura, as distâncias desse centro aos extremos superior e inferior e mandamos tudo isso como valores de parâmetros para sintetizador cantar pra gente.A projeção gerada são os próprios setores que mudaram de um quadro para outro - ou seja, nos quais houve movimento - com um efeito de rastro que nós mesmo criamos e que vai ficar para a próxima postagem. E mais um efeito de suavização pra ficar bem bonito!As cores e a quantidade de rastro do movimento podem ser ajustadas ao vivo, via atalhos no teclado ou com seu celular, tablet ou outro computador via OSC (Open Sound Control. É o que usamos para nos comunicarmos com o Pure Data também).

Para saber mais

Tem nosso artigo publicado no Simpósio Brasileiro de Computação Musical em 2015 e todo o código-fonte em https://bitbucket.org/mmoritz/somo/E tem o curso de Processing n’O Sítio, não esqueça, começa 19/8! =) O Tiago preparou tudo bem cuidadosamente pra ser acessível a qualquer um! Clique AQUIObrigado, gente!!A Élder Sereni por testes iniciais e ideias. A Dimi Camorlinga e Fabio Yudi Yokomizu por testes, ideias e uso do SoMo. Ao pessoal do R.I.S.C.O. - Rodrigo Ramos, André Dão (Obtuso), Kaue Costa - e à Mhirley Lopes pela confiança e parceria nos belos trabalhos que temos produzido. Ao pessoal que tem acreditado na força dos nossos artistas, como O Sítio Arte Educação Coworking; Museu da Imagem e do Som de Santa Catarina; Armazém Cultural.