JSFiddle - React, Tailwind, and code Playground

JavaScript

// Create audio context (Chrome/Firefox)
var context;
if (window.AudioContext) {
    context = new AudioContext(); 
} else {
    context = new webkitAudioContext(); 
}

// Create oscillator and start it
oscillator = context.createOscillator();
oscillator.start(0);

// Set up a script node that sets output to white noise
var myscriptnode = context.createScriptProcessor(4096, 1, 1);
myscriptnode.onaudioprocess = function(event) {
    console.log('Processing buffer');
    var output = event.outputBuffer.getChannelData(0);
    for (i = 0; i < output.length; i++) {
        output[i] = Math.random() / 10;
    }
};

// Connect oscillator to script node and script node to destination
// (should output white noise)
oscillator.connect(myscriptnode);
myscriptnode.connect(context.destination);

// NOTE: This commented-out code connects oscillator directly to
// destination, which works in Chrome as well as Firefox.
//oscillator.connect(context.destination);