processing_やってみた_011
音のビジュアル化の仕組みを理解しようと調べたらとにかく色んな知識が必要だってことを知った。。
フーリエ変換とかいうものが特によくわからない。
がとにかくやってみた。
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;//Minim型変数であるminimの宣言
AudioPlayer player;//サウンドデータ格納用の変数
FFT fft;
int fftSize;
int waveH = 100;//波形の高さ
void setup() {
size(1024, 480, P2D);
//minim初期化
minim = new Minim(this);
fftSize = 512;
//サウンドファイル読み込み
player = minim.loadFile("disent.mp3", fftSize);
//サウンドファイルループ再生
player.loop();
fft = new FFT(player.bufferSize(), player.sampleRate());
}
void draw() {
background(0);
stroke(255);
strokeWeight(2.0);
fft.forward( player.mix );
for (int i = 0; i < fft.specSize(); i++) {
float x = map(i, 0, fft.specSize(), 0, width);
float y = map(fft.getBand(i), 0, 5.0, height, 0);
//グラフ描画
line(x, height, x, y);
;
}
}
void stop() {
player.close();
minim.stop();
super.stop();
}
なんというか音波を音の種類ごとの大きさとしてビジュアルに出しているってことなのかな???
難し。
この記事が気に入ったらサポートをしてみませんか?