<button type="button" onclick="august()">August</button>
<button type="button" onclick="september()">September</button>
<button type="button" onclick="october()">October</button>
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var audioContext = new AudioContext();
var delay = audioContext.createDelay();
var leftDelay = audioContext.createDelay();
var rightDelay = audioContext.createDelay();
var feedback = audioContext.createGain();
var merger = audioContext.createChannelMerger(2);
function october() {
play(0, 58, 0.2); //Day 1
play(0.2, 113, 0.2); //Day 2
play(0.4, 128, 0.2); // Day 3
play(0.6, 110, 0.2); // Day 4
play(0.8, 139, 0.2); // Day 5
play(1.0, 139, 0.2); // Day 6
play(1.2, 106, 0.2); // Day 7
play(1.4, 69, 0.2); // Day 8
play(1.6, 78, 0.2); // Day 9
play(1.8, 81, 0.2); // Day 10
play(2.0, 75, 0.2); // Day 11
play(2.2, 98, 0.2); // Day 12
play(2.4, 114, 0.2); // Day 13
play(2.6, 97, 0.2); // Day 14
play(2.8, 74, 0.2); // Day 15
play(3.0, 90, 0.2); // Day 16
play(3.2, 92, 0.2); // Day 17
play(3.4, 79, 0.2); // Day 18
play(3.6, 130, 0.2); // Day 19
play(3.8, 95, 0.2); // Day 20
play(4.0, 98, 0.2); // Day 21
play(4.2, 87, 0.2); // Day 22
play(4.4, 89, 0.2); // Day 23
play(4.6, 185, 0.2); // Day 24
play(4.8, 123, 0.2); // Day 25
play(5.0, 137, 0.2); // Day 26
play(5.2, 131, 0.2); // Day 27
play(5.4, 91, 0.2); // Day 28
};
function september() {
play(0, 57, 0.2); //Day 1
play(0.2, 74, 0.2); //Day 2
play(0.4, 79, 0.2); // Day 3
play(0.6, 76, 0.2); // Day 4
play(0.8,81, 0.2); // Day 5
play(1.2, 88, 0.2); // Day 6
play(1.4, 75, 0.2); // Day 7
play(1.6, 89, 0.2); // Day 8
play(1.8, 79, 0.2); // Day 9
play(2.0, 98, 0.2); // Day 10
play(2.2, 144, 0.2); // Day 11
play(2.4, 73, 0.2); // Day 12
play(2.6, 124, 0.2); // Day 13
play(2.8, 121, 0.2); // Day 14
play(3.0, 128, 0.2); // Day 15
play(3.2, 96, 0.2); // Day 16
play(3.4, 77, 0.2); // Day 17
play(3.6, 71, 0.2); // Day 18
play(3.8, 61, 0.2); // Day 18
play(4.0, 121, 0.2); // Day 19
play(4.2, 81, 0.2); // Day 20
play(4.4, 74, 0.2); // Day 21
play(4.6, 76, 0.2); // Day 22
play(4.8, 80, 0.2); // Day 23
play(5.0, 173, 0.2); // Day 24
play(5.2, 248, 0.2); // Day 25
play(5.4, 93, 0.2); // Day 26
play(5.8, 66, 0.2); // Day 27
play(6.0, 126, 0.2); // Day 28
play(5.2, 162, 0.2); // Day 29
play(5.4, 131, 0.2); // Day 30
}
function august() {
play(0, 57, 0.2); //Day 1
play(0.2, 48, 0.2); //Day 2
play(0.4, 33, 0.2); // Day 3
play(0.6, 42, 0.2); // Day 4
play(0.8, 53, 0.2); // Day 5
play(1.2, 52, 0.2); // Day 6
play(1.4, 54, 0.2); // Day 7
play(1.6, 54, 0.2); // Day 8
play(1.8, 51, 0.2); // Day 9
play(2.0, 57, 0.2); // Day 10
play(2.2, 53, 0.2); // Day 11
play(2.4, 53, 0.2); // Day 12
play(2.6, 59, 0.2); // Day 13
play(2.8, 48, 0.2); // Day 14
play(3.0, 51, 0.2); // Day 15
play(3.2, 47, 0.2); // Day 16
play(3.4, 48, 0.2); // Day 17
play(3.6, 53, 0.2); // Day 18
play(3.8, 57, 0.2); // Day 19
play(4.0, 64, 0.2); // Day 20
play(4.2, 71, 0.2); // Day 21
play(4.4, 76, 0.2); // Day 22
play(4.6, 71, 0.2); // Day 23
play(4.8, 71, 0.2); // Day 24
play(5.0, 76, 0.2); // Day 25
play(5.2, 75, 0.2); // Day 26
play(5.4, 63, 0.2); // Day 27
play(5.8, 64, 0.2); // Day 28
play(6.0, 69, 0.2); // Day 29
play(5.2, 61, 0.2); // Day 30
play(5.4, 54, 0.2); // Day 31
}
function play(delay, pitch, duration) {
var startTime = audioContext.currentTime + delay;
var endTime = startTime + duration;
var oscillator = audioContext.createOscillator();
var oscillator2 = audioContext.createOscillator();
//var oscillator3 = audioContext.createOscillator();
var gain = audioContext.createGain();
var oscGain1 = audioContext.createGain();
var oscGain2 = audioContext.createGain();
//var oscGain3 = audioContext.createGain();
leftDelay.delayTime.value = 0.4;
rightDelay.delayTime.value = 0.4;
leftDelay.connect(rightDelay);
leftDelay.connect(merger, 0, 0);
rightDelay.connect(merger, 0, 1);
merger.connect(gain);
oscillator.connect(oscGain1);
oscillator2.connect(oscGain2);
// oscillator3.connect(oscGain3);
oscGain1.connect(feedback);
oscGain2.connect(feedback);
//oscGain3.connect(feedback);
feedback.connect(leftDelay);
rightDelay.connect(feedback);
feedback.gain.value = 0.1;
leftDelay.connect(rightDelay);
gain.connect(audioContext.destination);
gain.gain.value = 0.2;
oscGain1.gain.value = 0.1;
oscGain2.gain.value = 0.2;
//oscGain3.gain.value = 0.1;
oscillator.start(startTime);
oscillator2.start(startTime);
//oscillator3.start(startTime)
oscillator.stop(endTime);
oscillator2.stop(endTime);
//oscillator3.stop(endTime)
oscillator.frequency.value = pitch * 10;
oscillator2.frequency.value = pitch * 2;
//oscillator3.frequency.value = pitch * 100;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.