P.O.O, Estructura de Datos, Tópicos Selectos de Programación, Fundamentos de Programación, Teoría de la Computación, Matemáticas para Computadoras, Fundamentos de Desarrollo de Sistemas, Programación Web, Graficación.
Mostrando entradas con la etiqueta Graficación. Mostrar todas las entradas
Mostrando entradas con la etiqueta Graficación. Mostrar todas las entradas
viernes, 1 de junio de 2018
viernes, 9 de marzo de 2018
jueves, 16 de marzo de 2017
Música y dibujo.
Usando la librería sound de Processing.
import processing.sound.*;
TriOsc triOsc;
Env env;
float attackTime = 0.001;
float sustainTime = 0.004;
float sustainLevel = 0.2;
float releaseTime = 0.2;
int[] midiSequence = {61,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75};
int duration = 300;
int trigger = 0;
int note = 0;
int a;
float x,y,r,g,b;
void setup(){
size(640,360);
background(255);
triOsc = new TriOsc(this);
env = new Env(this);
}
void draw(){
println(millis());
if((millis()>trigger) && (note<midiSequence.length)){
//triOsc.play(midiToFreq(midiSequence[note]),0.8);
triOsc.play(midiToFreq((int)random(50,85)),0.8);
env.play(triOsc, attackTime, sustainTime, sustainLevel, releaseTime);
trigger = millis() + duration;
note++;
duration = (int)random(100,200);
x = (float)random(0,640);
y = (float)random(0,360);
r = (float)random(0,255);
g = (float)random(0,255);
b = (float)random(0,255);
a = (int)random(0,100);
fill(r,g,b,a);
noStroke();
ellipse(x,y,(float)random(20,100),(float)random(20,100));
//if(duration == 100){ duration = 300;}
if(note == 15){
note = 0;
}
}
}
float midiToFreq(int note){
return(pow(2,((note-69)/12.0)))*440;
}
domingo, 19 de febrero de 2017
Suscribirse a:
Entradas (Atom)

























