Cómo implementar el espectro visual mientras se reproducen las músicas.

iTunes EQ

Hola,

Me gustaría implementar efectos visuales similares a los de iTunes cuando reproduce música. Estoy usando AVAudioPlayer, mis files de sonido son locales. Jugué los mismos files en iTunes y capturé esta captura de pantalla.

Actualizado:

  1. Investigué la muestra de Apple de Apple. En cuanto a la visualización, tengo una idea aproximada. pero esta muestra es sobre medición de volumen
  2. alguien me dijo que tenía que usar FFT, pero eso es demasiado por encima de mi cabeza
  3. Encontré después de iOS 4.1, el marco del Acelerómetro contiene funciones FFT DSP
  4. Parece que tengo que tocar Audio Core (Audio Queue?) Para get el buffer de muestra y luego FFT it

Gee, solo quiero implementar un espectro simple para mi reproducción, ¿alguien puede ayudar?

El FFT "I" o input real es n muestras del buffer de muestra (preferiblemente con una ponderación de window aplicada antes de la transformación). Establezca la input "Q" o imaginaria en ceros al.

La salida es el espectro complejo con DC en el índice = 0 position. El índice = 1 corresponde a la frecuencia de muestreo dividida por la longitud FFT N, el índice = 2 el doble de esa frecuencia y así sucesivamente hasta el índice N / 2. Para get la potencia a una cierta frecuencia, debe agregar las partes reales e imaginarias al cuadrado.

Generalmente, desea mostrar la potencia en una escala de dB, que se calcula como 10 * log10 (potencia), cada bloque en la pantalla corresponde a, por ejemplo, 3dB. También puede agregar una detección de promedio o pico.

Las pantallas más avanzadas tienen también un eje de frecuencia logarítmico, p. Ej., Cada columna corresponde a 1/12 octava. Idealmente, cada salida tiene su propio filter, pero puede lograr algo similar agregando las salidas de índice FFT más altas en lugar de mostrarlas todas.