JSFiddle - React, Tailwind, and code Playground
by Chinmay Pendharkar
HTML
<button type="button" id="button1">Good</button>
JavaScript
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();
var noiseGain = context.createGain();
var oscillator = context.createOscillator();
var oscillator2 = context.createOscillator();
var delay = context.createDelay();
var leftDelay = context.createDelay();
var rightDelay = context.createDelay();
var feedback = context.createGain();
var merger = context.createChannelMerger(2);
oscillator.type = 'sine';
oscillator.start(context.currentTime);
oscillator2.start(context.currentTime);
noiseGain.gain.value = 0;
leftDelay.delayTime.value = 0.1;
rightDelay.delayTime.value = 0.1;
leftDelay.connect(rightDelay);
leftDelay.connect(merger, 0, 0);
rightDelay.connect(merger, 0, 1);
merger.connect(noiseGain);
oscillator.connect(feedback);
oscillator2.connect(feedback);
feedback.connect(leftDelay);
rightDelay.connect(feedback);
feedback.gain.value = 0.6;
leftDelay.connect(rightDelay);
noiseGain.connect(context.destination);
oscillator2.frequency.value = 50;
function time() {
noiseGain.gain.setValueAtTime(0, context.currentTime);
noiseGain.gain.linearRampToValueAtTime(0.8, context.currentTime + 0.2);
noiseGain.gain.linearRampToValueAtTime(0.0, context.currentTime + 0.5);
}
function goodPSIglobal() {
console.log("PSI Level < 50");
oscillator.frequency.value = 523.25;
oscillator2.frequency.value = 329.63;
// source = context.createBufferSource();
// source.buffer = myAudioBuffer;
// source.connect(sampleGain);
// source.start();
//time();
noiseGain.gain.value = 1;
}
var btnOne = document.getElementById('button1');
btnOne.addEventListener('click', goodPSIglobal);