L'API Web Audio ha un nodo dell'analizzatore che consente di ottenere dati FFT sull'audio con cui si sta lavorando e ha modi byte e variabili per ottenere i dati. La versione di byte ha un po 'di senso, restituendo quello che sembra uno spettro di intensità normalizzato (in base ai valori di decibel minimo e massimo) con 0 che non è un componente dell'audio in uno specifico scomparto di frequenza e 255 è il massimo.Interpretazione dei risultati FFT dell'API Web
Ma mi piacerebbe un po 'più di dettaglio di 8 bit, tuttavia la versione float fornisce risultati strani.
freqData = new Float32Array(analyser.frequencyBinCount);
analyser.getFloatFrequencyData(freqData);
Questo mi dà valori compresi tra -891,048828125 e 0. -891 si presenta corrispondente al silenzio, quindi è in qualche modo il valore minimo, mentre io sto indovinando 0 è equivalente al valore massimo.
Cosa sta succedendo? Perché è significativo il -891.048828125? Perché un grande negativo è il silenzio e lo zero è massimo? Sto usando il FloatArray sbagliato o c'è una configurazione errata? Float64 fornisce 0 valori.
Sottraendo minDecibels dal valore float, a volte non ottengo numeri positivi. L'impostazione del valore minDecibels in realtà non limita nulla nel mio caso, continuo a ottenere valori più piccoli. qualche idea? – nevos