Java
processing
Resolume

ProcessingとResolumeを連携させて、映像作ってみた時の話

こんにちは。
VJの話します……!!!

VJ(Visual Jockey)という言葉自体の流行りは、少し過ぎ去ってしまったような気がしますが、
近年、音楽と映像がより一体化するようになってきている中で、もはや、当たり前の技術になりつつあるといえるのではないでしょうか?

そんなVJを行うためのアプリケーションの有名どころの一つが「Resolume」です。

オランダ発のアプリケーションで、リアルタイムに映像を編集したり、プロジェクションマッピング等もできます。

他の有名なVJのツールはMacのみにしか対応していないものが多いですが、ResolumeはWinにも対応しているので、Winしか持ってない人もこれでVJがやれるわけです。

さて、今回は、Processing で作った映像をResolumeにリアルタイムで送ってみようと思います。

連動にはSyphon(Mac)、Spout(Win)を使うのですが、これはProcessing以外にもUnity、MadMapper、vvvv、openFrameworks、Processing等々、多くのアプリケーションと連携させることができます。

私は3D系のアプリをWindowsに入れており、ResolumeもWinに入っているため、Spoutを使って行きます。
SpoutはここからDownloadできます。

まずは、Processingを起動し、Spoutのライブラリ「Spout for Processing」をダウンロードします。

スクリーンショット 2017-12-18 23.54.38.png

まず、spoutをimportします。

import spout.*;

Spoutのクラス変数もつくっておきましょう。

Spout spout;

processingの描写のための定義を行うsetupメソッド内で、spoutのインスタンスを作成し、senderを作成しておきます。

void setup()
{
 size(1920, 1080, P2D);
 frameRate(30);
 fill(0, 60);
 .
 .
 省略
 .
 .
 spout = new Spout(this);
 spout.createSender("SP")
}

そして、描写内容を記述するdrawメソッド内で、送信用のメソッドを記載。

void draw()
{
 
 
 省略
 
 
 spout.sendTexture();
}

Processingの方のプログラムを完成させた後は、Resolumeを起動した上でProcessingのコードを実行して下さい。

そうすると、下図のようにSourcesの中で、Spoutで受信したデータを選択できるようになります。

Res_Pro_Spout.png

後は、エフェクトをかけてあげるだけ。

ではでは、今日はこの辺にて