Search code examples
javascriptaudiosignal-processinghtml5-audioweb-audio-api

Web Audio API analyser node getByteFrequencyData returning blank array


I'm trying to access FFT data from the analyser node using analyser.getByteFrequencyData(array) but it seems to return a blank array:

var array = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(array);

However using analyser.getFloatFrequencyData(array) returns an array of data:

var array = new Float32Array(analyser.frequencyBinCount);
analyser.getFloatFrequencyData(array);

I'm using a signal chain as follows:

Source -> Analyser -> ScriptProcessor -> Context Destination

So why can I not get frequency data in byte form?

Thanks in advance.


Solution

  • Without seeing more of your code, my best guess is that you have the minDecibels and maxDecibels set to a range that is over the data you're pumping through the analyser, so it's getting zeroed out.