Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

519
Vistas
¿Cómo puedo agregar cada elemento de fourier.getEnergy() en una matriz?

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)
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

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")

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda