Processing: uma ferramenta para o seu processo criativo

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:

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 ;)

 

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/overview

Não esqueça de dar um alô para algum de nós criadores: tiago.brizolara@gmail.com e marcosmoritz@gmail.com

E 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.

 

Como sua mãe acha que você é X Como o SoMo acha que você é

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 (5×5) 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).

Da região onde está havendo movimento, seu centro, sua largura e distâncias verticais ao centro são passados para o sintetizador

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 AQUI

Obrigado, 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.

 

  • Tiago Brizolara da Rosa

    Mestre em Física, músico, especialista em Jogos Digitais, entre os anos de 2010 e 2011 desenvolveu jogos em conjunto da empresa TimeWave Gam...

    CONHEÇA MAIS

DEIXE SEU COMENTÁRIO...