WebAudio - Attack/Decay

Introducing Attack/Decay using hardcoded values

by Chinmay Pendharkar

HTML

<script src="https://rawgit.com/kylestetz/AudioKeys/master/dist/audiokeys.js"></script>

JavaScript

window.AudioContext = window.AudioContext || window.webkitAudioContext;

var audioContext = new AudioContext();

var keyboard = new AudioKeys();

keyboard.down(playNewSound)

function playNewSound(note) {
  var osc = audioContext.createOscillator();
  var gain = audioContext.createGain();
  osc.connect(gain);
  gain.connect(audioContext.destination);
	osc.frequency.value = note.frequency
  
  var ct = audioContext.currentTime;
  
  osc.start(0);
  gain.gain.setValueAtTime(0,ct);
  gain.gain.linearRampToValueAtTime(1,ct+0.05);
  gain.gain.linearRampToValueAtTime(0,ct+0.5);
  osc.stop(ct + 0.5);
}