スポンサーリンク

Processing

Minimを使う、サイン波の表示(テルミン風)

投稿日:

Mini2
単純にMinimでのサイン波の表示に加えてマウスを上下すると音が変更される
テルミン風のスケッチ。これも復習がてらに記述。

import ddf.minim.*;
import ddf.minim.signals.*;

Minim minim;
AudioOutput out;
SineWave sine;

void setup()
{
  size(800, 230);
  frameRate(60);
  smooth();
  strokeWeight(2);

  minim = new Minim(this);
  out = minim.getLineOut(Minim.STEREO);
  sine = new SineWave(440, 1.0, out.sampleRate());
  out.addSignal(sine);
}

void draw()
{
  background(0);
  stroke(255, 255, 255);
  translate(0, height/2);

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

void mouseMoved()
{
  float freq = map(mouseX, 0, width, 40, 2000);
  sine.setFreq(freq);
  float amp = map(mouseY, 0, height, 1.0, 0.0);
  sine.setAmp(amp);
}

void keyPressed() {
  if ( key == ' ' ) {
    save( "Mini2.png" );
  }
}
 


void stop()
{
  out.close();
  minim.stop();
  super.stop();
}

Originally posted 2015-12-23 14:36:27.

スポンサーリンク

-Processing
-,

Copyright© office606 , 2017 All Rights Reserved Powered by STINGER.