つよくなりたいなあ

地に足をつけず世界を生きぬくブログです

ProcessingでAudio Visualつくりたい #001

以前からVJしたいなと思っていたので、学生の時から使ってるprocessingとminimの組み合わせでオーディオヴィジュアル的な絵作りの勉強をしていきます。
processing以外だとTouchDesignerがやりやすいのでそちらも合わせて使っていきたい。

目標は、つくったものをアウトプットした結果チャネルとかでVJすること。

参考にするサイトはこちら。

yoppa.org

yoppa先生の講義スライドを元に勉強していきます。 できたやつを動画書き出しにしてyoutubeかvimeoに流していきます。 twitterには動画投稿できないので、他にアウトプットする場が必要かな〜 tumblrをもう一回つくろうかなと考えています。3個くらいできたらつくろう。

きのう作ったpointで音の可視化。point使ってるから弾ける表現がいい。これをもっとマルとか四角で表現したい〜〜〜

f:id:heyassy:20180607093227j:plain f:id:heyassy:20180607093242j:plain

import ddf.minim.*;
import ddf.minim.analysis.*;
import ddf.minim.effects.*;
import ddf.minim.signals.*;
import ddf.minim.spi.*;
import ddf.minim.ugens.*;

Minim minim;
AudioPlayer player;
FFT fft;

void setup() {
  size(500, 500, P3D);

  minim = new Minim(this);

  player = minim.loadFile("Viking.mp3", 1024);

  player.loop();
  fft = new FFT(player.bufferSize(), player.sampleRate());

  stroke(255);
  noFill();
  strokeWeight(1.5);
}

void draw() {
  background(0);

  for (int i = 0; i < player.bufferSize() - 1; i++) {

    float x = map(i, 0, player.bufferSize(), 0, width);
    float y = map(player.left.get(i), -1, 1, 0, height/2);
    point(x, y);
  }

  translate(0, height/2);
  for (int i =0; i < player.bufferSize() - 1; i++) {
    float x = map(i, 0, player.bufferSize(), 0, width);
    float y = map(player.left.get(i), -1, 1, 0, height/2);
    point(x, y);
  }
}