Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

511
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!