JSFiddle - React, Tailwind, and code Playground

by Ehsan Ziya

JavaScript

window.AudioContext = (window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.msAudioContext);

window.offlineAudioContext = (window.offlineAudioContext || window.webkitOfflineAudioContext || window.mozOfflineAudioContext || window.msOfflineAudioContext);

var context = new AudioContext();
var offline = new offlineAudioContext(1, 44100 * 10, 44100);

var osc = offline.createOscillator();
var scp = offline.createScriptProcessor(1024, 1, 1);
var analyser = offline.createAnalyser();
analyser.fftSize = 1024;
analyser.smoothingTimeConstant = 0.5;

var freqData = new Uint8Array(analyser.frequencyBinCount);

osc.connect(scp);
osc.connect(analyser);
scp.connect(offline.destination);

scp.onaudioprocess = function(e){
       
    analyser.getByteFrequencyData(freqData);
    console.log(freqData);
    
};

offline.oncomplete = function(e){
    console.log('renderComplete');
    
};

offline.startRendering();
osc.start(0.5);