【Processing】minimを使ってみる(4)〜フィードバックを見る〜
#Processing #minim フィードバックを見る pic.twitter.com/qDKzn5FNdG
— 94 (@_94_94) November 4, 2018
フィードバックを見る
公式サンプルのディレイをいじって遊んだ。
オーディオインして、ディレイしてフィードバック。
気がついたら1時間くらい遊んでた。
マシンのスピーカーとマイクだからローファイだけど、
ちゃんとオーディオインターフェース噛ませたら綺麗なフィードバックがおこるのかな。
や、ローファイだからこんな感じなのかな。
最近仕事がつらいので、コメントアウトはお休み。
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; AudioOutput out; LiveInput in; Delay myDelay; void setup() { size( 1000, 500 ); blendMode(ADD); minim = new Minim(this); out = minim.getLineOut(); AudioStream inputStream = minim.getInputStream( Minim.MONO, out.bufferSize(), out.sampleRate(), out.getFormat().getSampleSizeInBits() ); in = new LiveInput( inputStream ); //in.patch( out );直で出力はしない myDelay = new Delay( 0.1, 0.1, true, true ); in.patch( myDelay ).patch( out ); } void draw() { background( 0 ); stroke(255, 150); strokeWeight(1); for ( int i = 0; i < out.bufferSize() - 1; i++ ) { float x1 = map( i, 0, out.bufferSize(), 0, width ); float x2 = map( i+1, 0, out.bufferSize(), 0, width ); line( x1, height/2 + out.left.get(i)*50, x2, height/2 + out.left.get(i+1)*50); } text( "Delay time is " + myDelay.delTime.getLastValue(), 5, 15 ); text( "Delay amplitude (feedback) is " + myDelay.delAmp.getLastValue(), 5, 30 ); } void mouseMoved() { float delayTime = map( mouseX, 0, width, 0.0001, 5.0 ); myDelay.setDelTime( delayTime ); float feedbackFactor = map( mouseY, 0, height, 0.99, 0.0 ); myDelay.setDelAmp( feedbackFactor ); }
フルはこちら
https://www.youtube.com/watch?v=aycuunfimo8&feature=youtu.be