//waveform
float frequencyA,frequencyB,frequencyC,
frequencyD,frequencyE,frequencyF,
noteOffset,amplitude;
void setup(){
size(500,500);
frameRate(12);
smooth(8);
}
void draw(){
background(255);
for (int i=0; i<width; i++){
noteOffset = cos(millis()*(0.005*sin(i/6)));
frequencyA = pow(2,noteOffset/12)*440;
frequencyB = (height/2)+(height/2-frequencyA);
frequencyC = pow(2,noteOffset/12)*220;
frequencyD = (height/2)+(height/2-frequencyC);
frequencyE = pow(2,noteOffset/12)*880;
frequencyF = (height/2)+(height/2-frequencyE);
pushMatrix();
translate(i,0);
stroke(frequencyD-frequencyF,frequencyC,frequencyE);
line(0,height,0,0);
stroke(frequencyD-frequencyB,frequencyE,frequencyA);
line(0,frequencyB,0,frequencyA);
stroke(0,frequencyC);
line(0,frequencyD,0,frequencyC);
popMatrix();
}
}