Basic audio analyser. Returns back waveform and FFT analysis. Use peakLevel if you want sound level, or freq if you just want FFT results.

const onData = (freq, wave, analyser) => {
// Demo: Get FFT results just for 100Hz-1KHz.
const freqSlice = analyser.sliceByFrequency(100,1000,freq);

// Demo: Get FFT value for a particular frequency (1KHz)
const amt = freq[analyser.getIndexForFrequency(1000)];
}
basic(onData, {fftSize: 512});

An Analyser instance is returned and can be controlled:

const analyser = basic(onData);
analyser.paused = true;

Note: Browers won't allow microphone access unless the call has come from a user-interaction, eg pointerup event handler.