Pregunta

Tengo una pregunta con respecto al uso de la FFT. Usando getBand(int i) función con Minim i puede extraer la amplitud de una frecuencia específica y hacer más o menos planos de él. Funciona muy bien.

Sin embargo, esta es una más una cuestión de curiosidad. Cuando miro a los valores extraídos de tocar la misma canción dos veces utilizando la misma frecuencia (por lo que la amplitud debe ser idéntica) pero me da valores muy diferentes - ¿por qué es esto

0.0,0.0,0.0,0.0,0.0,0.08706585,0.23708777,0.83046436,0.74603105,0.30447206
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08706585,0.4790409,0.9608221,0.83046436,0.74603105
¿Fue útil?

Solución

¿está seguro de las entradas son exactamente los mismos en ambos casos? Si acaba de tomar un segmento al azar de una canción, la salida de una FFT será muy diferente para diferentes puntos de partida en la canción.

Otros consejos

La decodificación mp3 podría ser en forma de escamas y / o el plomo-en la amortiguación de la rutina fft podría ser flakey, (diferente longitud de silencio que precede a la serie). En este caso parece que el conductor de entrada es de alrededor de 2 pasos mayores en la segunda salida.

A continuación, si el intervalo de tiempo en el que se realizan las FFT es mayor que el tamaño de la ventana FFT, una diferencia en el lead-in puede causar las ventanas FFT a tierra en muy diferentes partes de la serie, lo que podría explicar el diferentes valores más adelante en las salidas.

La situación debería ser más claro si se puede aumentar la 'resolución de tiempo' (cantidad de FFT realizadas por tiempo determinado) -o aumentar el tamaño de la ventana FFT, por lo que las mediciones FFT enviaban hecho escasamente. Idealmente deben superponerse antes de que pudiéramos esperar para que coincida con un patrón entre las exploraciones realizadas fuera de paso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top