xxxxxxxxxx
262
let players = [];
let sliders = [];
let meters = [];
let quiet = -50;
let loud = 10;
players[0] = new Tone.Player("abiior/Living/bass.mp3");
players[0].toDestination();
meters[0] = new Tone.Meter();
meters[0].normalRange = true;
meters[0].channels = 1;
players[0].connect(meters[0]);
players[1] = new Tone.Player("abiior/Living/drums.mp3");
players[1].toDestination();
meters[1] = new Tone.Meter();
meters[1].normalRange = true;
meters[1].channels = 1;
players[1].connect(meters[1]);
players[2] = new Tone.Player("abiior/Living/guitars.mp3");
players[2].toDestination();
meters[2] = new Tone.Meter();
meters[2].normalRange = true;
meters[2].channels = 1;
players[2].connect(meters[2]);
players[3] = new Tone.Player("abiior/Living/piano.mp3");
players[3].toDestination();
meters[3] = new Tone.Meter();
meters[3].normalRange = true;
meters[3].channels = 1;
players[3].connect(meters[3]);
players[4] = new Tone.Player("abiior/Living/synth.mp3");
players[4].toDestination();
meters[4] = new Tone.Meter();
meters[4].normalRange = true;
meters[4].channels = 1;
players[4].connect(meters[4]);
players[5] = new Tone.Player("abiior/Living/vocals.mp3");
players[5].toDestination();
meters[5] = new Tone.Meter();
meters[5].normalRange = true;
meters[5].channels = 1;
players[5].connect(meters[5]);
let analyzer = new Tone.Waveform(256);
players[0].connect(analyzer);
players[1].connect(analyzer);
players[2].connect(analyzer);
players[3].connect(analyzer);
players[4].connect(analyzer);
players[5].connect(analyzer);
function setup() {
createCanvas(800, 800);
let button = createButton("Play");
button.mousePressed(() => {
if (loaded) {
players[0].start();
players[1].start();
players[2].start();
players[3].start();
players[4].start();
players[5].start();
}
});
sliders[0] = createSlider(quiet, loud, -15);
sliders[0].input(volumeInput);
sliders[1] = createSlider(quiet, loud, -15);
sliders[1].input(volumeInput);
sliders[2] = createSlider(quiet, loud, -15);
sliders[2].input(volumeInput);
sliders[3] = createSlider(quiet, loud, -15);
sliders[3].input(volumeInput);
sliders[4] = createSlider(quiet, loud, -15);
sliders[4].input(volumeInput);
sliders[5] = createSlider(quiet, loud, -15);
sliders[5].input(volumeInput);
}
function volumeInput() {
players[0].volume.value = sliders[0].value();
//players[0].volume.rampTo(sliders[0].value());
//console.log("Bass Volume" + sliders[0].value());
players[1].volume.value = sliders[1].value();
//players[1].volume.rampTo(sliders[1].value());
//console.log("Drum Volume" + sliders[1].value());
players[2].volume.value = sliders[2].value();
//players[2].volume.rampTo(sliders[2].value());
//console.log("Guitar Volume" + sliders[2].value());
players[3].volume.value = sliders[3].value();
//players[3].volume.rampTo(sliders[3].value());
//console.log("Piano Volume" + sliders[3].value());
players[4].volume.value = sliders[4].value();
//players[4].volume.rampTo(sliders[4].value());
//console.log("Fill Volume" + sliders[4].value());
players[5].volume.value = sliders[5].value();
//players[5].volume.rampTo(sliders[5].value());
//console.log("Fill Volume" + sliders[5].value());
}
function keyTyped() {
if (loaded) {
if (key == "1") {
if (players[0].volume.value != -50) {
players[0].volume.value = -50;
sliders[0].value(-50);
} else {
players[0].volume.value = -15;
sliders[0].value(-15);
}
}
if (key == "2") {
if (players[1].volume.value != -50) {
players[1].volume.value = -50;
sliders[1].value(-50);
} else {
players[1].volume.value = -15;
sliders[1].value(-15);
}
}
if (key == "3") {
if (players[2].volume.value != -50) {
players[2].volume.value = -50;
sliders[2].value(-50);
} else {
players[2].volume.value = -15;
sliders[2].value(-15);
}
}
if (key == "4") {
if (players[3].volume.value != -50) {
players[3].volume.value = -50;
sliders[3].value(-50);
} else {
players[3].volume.value = -15;
sliders[3].value(-15);
}
}
if (key == "5") {
if (players[4].volume.value != -50) {
players[4].volume.value = -50;
sliders[4].value(-50);
} else {
players[4].volume.value = -15;
sliders[4].value(-15);
}
}
if (key == "6") {
if (players[5].volume.value != -50) {
players[5].volume.value = -50;
sliders[5].value(-50);
} else {
players[5].volume.value = -15;
sliders[5].value(-15);
}
}
}
}
function draw() {
background(255);
noStroke();
rectMode(CENTER);
if (loaded) {
if (players[0].state == "started") {
//console.log(meter.getValue()*100);
fill(156, 45, 140);
rect(500, 660, meters[0].getValue() * 500);
}
if (players[1].state == "started") {
//console.log(meter.getValue()*100);
fill(255, 255, 15);
rect(320, 520, meters[1].getValue() * 500);
}
if (players[2].state == "started") {
//console.log(meter.getValue()*100);
fill(240, 2, 7);
rect(500, 350, meters[2].getValue() * 500);
}
if (players[3].state == "started") {
//console.log(meter.getValue()*100);
fill(32, 169, 50);
rect(320, 420, meters[3].getValue() * 500);
}
if (players[4].state == "started") {
//console.log(meter.getValue()*100);
fill(3, 3, 3);
rect(200, 350, meters[4].getValue() * 500);
fill(247, 200, 226);
rect(210, 350, meters[4].getValue() * 500);
}
if (players[5].state == "started") {
//console.log(meter.getValue()*100);
fill(120, 200, 223);
rect(320, 110, meters[5].getValue() * 500);
}
let waveform = analyzer.getValue();
strokeWeight(6);
fill(255);
stroke(0);
beginShape();
for (let i = 0; i < waveform.length; i++) {
let x = map(i, 0, waveform.length, 0, width);
let y = map(waveform[i], -1, 1, 815, 785);
vertex(x, y);
}
endShape();
beginShape();
for (let i = 0; i < waveform.length; i++) {
let x = map(i, 0, waveform.length, 0, width);
let y = map(waveform[i], -1, 1, 15, -15);
vertex(x, y);
}
endShape();
fill(0);
noStroke();
text("(MFC)", 40, 750);
textStyle(BOLD);
textSize(17);
angleMode(DEGREES);
translate(740, 40);
rotate(90);
text("THE 1975", 0, 0);
text("A BRIEF INQUIRY INTO ONLINE RELATIONSHIPS", 320, 0);
textStyle(NORMAL);
textSize(10);
text("**THE 1975**GIVE YOURSELF A TRY**TOOTIMETOOTIMETOOTIME", 0, 40);
text("**HOW TO DRAW/PETRICHOR**LOVE IT IF WE MADE IT**BE MY MISTAKE", 0, 53);
text("**SINCERITY IS SCARY**I LIKE AMERICA & AMERICA LIKES ME", 0, 66);
text("**THE MAN WHO MARRIED A ROBOT/LOVE THEME**INSIDE YOUR MIND", 0, 79);
text("**IT'S NOT LIVING (IF IT'S NOT WITH YOU)**SURROUNDED BY HEADS AND BODIES", 0, 92);
text("**MINE**I COULDN'T BE MORE IN LOVE**I ALWAYS WANNA DIE (SOMETIMES)", 0, 105
);
}
}
//function play(){
//Tone.start();
//for(let i = 0; i < players[i].length; i++){
// players[i].start();
//}
//}
let loaded = false;
Tone.loaded().then(function () {
loaded = true;
});