sound.vis() devuelve una tabla de 255 valores numéricos que van desde 1 hasta 31 (Creo), sound.fft() tambien, pero solo los 16 primeros tienen un valor asociado, los otros devuelven un valor nulo (nil).
Puedes usar un bucle for para leer la tabla y hallar la media de todas las frecuencias así:
media =0
espectro = misonido:vis()for i=1,#espectro do
media = media+espectro[i]end
media = media/#espectro
Y ya lo tendrías, experimenta un poco con las funciones, yo en la visualización Supernova dividía 360 (Número de veces que se repetía el bucle) por un número para convertirlo en 255 y leer bien la tabla sound.vis(), si necesitaras hayar ese número haces una simple ecuación y la resuelves.
Porqué si lo pones fuera, lo que consiguirías son las frecuencias de un determinado momento, o puedes ponerlo en una función y llamarla cada 4 o 5 ciclos, así le quitas carga a la PSP.
Pues
sound.vis() devuelve una tabla de 255 valores numéricos que van desde 1 hasta 31 (Creo), sound.fft() tambien, pero solo los 16 primeros tienen un valor asociado, los otros devuelven un valor nulo (nil).
Puedes usar un bucle for para leer la tabla y hallar la media de todas las frecuencias así:
Y ya lo tendrías, experimenta un poco con las funciones, yo en la visualización Supernova dividía 360 (Número de veces que se repetía el bucle) por un número para convertirlo en 255 y leer bien la tabla sound.vis(), si necesitaras hayar ese número haces una simple ecuación y la resuelves.
Saludos!
Esto lo debería poner como:
Esto lo debería poner como: una funcion o dentro del bucle o ??
Dentro del bucle
Porqué si lo pones fuera, lo que consiguirías son las frecuencias de un determinado momento, o puedes ponerlo en una función y llamarla cada 4 o 5 ciclos, así le quitas carga a la PSP.
Salu2!