Web Audio API Introduction

Intro to the Web Audio API - more casts coming soon!
    var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
    
    var osc = audioCtx.createOscillator();
    
    osc.type = 'triangle';
    osc.frequency.value = 200; //Hz
    
    osc.connect(audioCtx.destination);
    
    osc.start();
    
    var startAudio = document.getElementById('audioStart');
    var endAudio = document.getElementById('audioEnd');
    
    var pitchOffsets = {
      'A': 0,
      'A#': 1,
      'BB': 1,
      'B': 2,
      'CB': 2,
      'B#': 3,
      'C': 3,
      'C#': 4,
      'DB': 4,
      'D': 5,
      'D#': 6,
      'EB': 6,
      'E': 7,
    // https://en.wikipedia.org/wiki/Piano_Phase
    
    var pitchOffsets = {
      'A': 0,
      'A#': 1,
      'BB': 1,
      'B': 2,
      'CB': 2,
      'B#': 3,
      'C': 3,
      'C#': 4,
      'DB': 4,
      'D': 5,
      'D#': 6,