2011-11-06 4 views
7

Para determinar la riqueza de un sonido, me gustaría determinar el número de armónicos en una muestra de música. Para eso, estoy usando Procesando con la biblioteca Minim que me da un espectro completo con FFT. Me pregunto cómo contar todos los picos en el espectro producido por el FFT, ni siquiera estoy interesado en la frecuencia fundamental.Los armónicos cuentan en una muestra de música

Respuesta

3

Hay muchas maneras de lograr esto dependiendo de sus necesidades.

Si desea contar cada pico, debe recorrer todas las frecuencias del espectro para recordar si la intensidad ha aumentado o disminuido. Cada vez que note el cambio en la dirección de aumento a disminución, aumentará el contador de picos. Sin embargo, tenga en cuenta que esto incluirá picos muy tenues que pueden ser o no lo que necesita. Puede establecer un límite mínimo sobre cuánto de un aumento y disminución tiene que ocurrir para que se registre un pico.

Alternativamente, puede encontrar una línea de base para la intensidad de su señal (utilizando el promedio en el caso más simple) y luego contar el número de valores atípicos positivos (con alguna desviación mínima configurable desde la línea base). Probablemente obtendrá mejores resultados si modifica este enfoque para usar la base de referencia dependiente de la frecuencia y el mínimo para tener en cuenta la caída gradual en la intensidad a frecuencias más altas (de nuevo, depende de su señal particular y necesita si esto fuera útil). Una forma simple de hacer esto es dividir el espectro en bandas (lo suficientemente pequeñas como para poder asumir una distribución de energía más o menos uniforme a lo largo de cada banda) y usar una línea base y un mínimo diferentes para cada banda.

Cuestiones relacionadas