Intentando hacer un visualizador, los valores en fft.getEnergy() (una función de biblioteca de sonido p5.js) devuelven la cantidad de volumen en cada frecuencia. Me gustaría tomar los primeros 1024 de estos volúmenes y almacenarlos en una matriz para poder asignar cada número a un gráfico. El problema es que cuando trato de agregarlos a la matriz, la matriz almacena solo 1 valor 1024 veces y no los primeros 1024 valores diferentes.
Esta es una instantánea de los valores de getEnergy(): https://imgur.com/a/7zSV9DK
Y esta es una instantánea de la matriz que estoy tratando de hacer mientras trato de impulsar los primeros 1024 valores: https://imgur.com/a/cs3FA0U que muestra que está imprimiendo un valor 1024 veces.
var arrays = [] for(var i = 0; i < 1024; i++) { arrays.push(energy) //energy = fft.getEnergy("bass") } console.log(arrays)Por lo que leí en esta página https://p5js.org/reference/#/p5.FFT/getEnergy
getEnergy("bass") devuelve un "rango de frecuencia predefinido" que supongo que es una matriz de energías de frecuencias predefinidas desde 0 hasta bass max limit .
Lo que hace en su ciclo for es empujar la matriz de frecuencias resultante a su matriz de resultados 1024 veces (no 1024 valores individuales como desea).
entonces lo que estás tratando de hacer es
const resultArray = []; for (let i=0; i<1024; i++) { resultArray.push(energy[i]); } console.log(resultArray); (Tenga en cuenta que no uso var . Le sugiero que observe la diferencia entre var | let | const y que también aprenda sobre la noción de alcance).
Sin embargo, este código anterior tampoco es del todo bueno. Le sugiero que mire qué es el objeto Array en JS y mire todas las formas de manipularlo. Usar el método de slice sería mejor. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
const resultArray = energy.slice(1024); Y luego, para ordenar su matriz, puede usar el método de sort https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
(Aunque tenga cuidado de que "el orden de clasificación predeterminado sea ascendente, basado en la conversión de elementos en cadenas")