The buffer property of the AudioBufferSourceNode interface provides the ability to play back audio using an AudioBuffer as the source of the sound data. 
  If the buffer property is set to the value null, the node generates a single channel containing silence (that is, every sample is 0). 
 
 An AudioBuffer which contains the data representing the sound which the node will play. 
 
 
const myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);
button.onclick = () => {
  
  
  for (let channel = 0; channel < channels; channel++) {
    
    const nowBuffering = myArrayBuffer.getChannelData(channel);
    for (let i = 0; i < frameCount; i++) {
      
      
      nowBuffering[i] = Math.random() * 2 - 1;
    }
  }
  
  
  const source = audioCtx.createBufferSource();
  
  source.buffer = myArrayBuffer;
};