18 changed files with 60 additions and 0 deletions
@ -0,0 +1,60 @@ |
|||
import processing.sound.*; |
|||
|
|||
SoundFile[] file; |
|||
|
|||
// Define the number of samples |
|||
int numsounds = 5; |
|||
int bpm = 280; |
|||
int divider = 16; |
|||
int duration = int((60/float(bpm))*1000); |
|||
int beat = 0; |
|||
|
|||
int[][] samples = { |
|||
{0, 0, 0, 3, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0}, |
|||
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, |
|||
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, |
|||
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} |
|||
}; |
|||
|
|||
void setup() { |
|||
size(640, 360); |
|||
background(255); |
|||
|
|||
// Load sound files |
|||
file = new SoundFile[numsounds]; |
|||
for (int i = 0; i < numsounds; i++) { |
|||
file[i] = new SoundFile(this, "bank1/" + (i+3) + ".wav"); |
|||
} |
|||
|
|||
} |
|||
|
|||
void draw() { |
|||
background(255); |
|||
stroke(255); |
|||
|
|||
for(int i=0; i<4; i++) { |
|||
fill(90); |
|||
for(int y=0; y<divider; y++) { |
|||
rect((width/divider)*y,(height/4)*i, width/divider, height/4); |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
for(int i=0; i<4; i++) { |
|||
|
|||
fill(150); |
|||
if(samples[i][beat] != 0) { |
|||
fill(0, 200, 0); |
|||
file[samples[i][beat]+1].play(); |
|||
} |
|||
rect((width/divider)*beat,(height/4)*i, width/divider, height/4); |
|||
|
|||
} |
|||
|
|||
beat++; |
|||
if(beat>=divider){beat=0;} |
|||
|
|||
delay(duration); |
|||
|
|||
} |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue