JSFiddle - React, Tailwind, and code Playground

by also

HTML

<p><button onclick="play()">Play</button>
   <button onclick="pause()">Pause</button></p>

<script>if (!window.AudioContext) { document.write("<p>Your browser doesn't support the Web Audio API.</p>"); }</script>

JavaScript

var node;
var p = 0;

function play() {
  var context = new AudioContext();
  node = context.createScriptProcessor(1024, 1, 1);
  node.onaudioprocess = function(e) {
    var data = e.outputBuffer.getChannelData(0);

    for (var i = 0; i < data.length; i++) {
      data[i] = Math.sin(p++ * 0.1);
    }
  };
  node.connect(context.destination);
}

function pause() {
  node.disconnect();
}

// see http://ryanberdeen.com/2011/03/19/web-audio-api-generating-sound.html