|
Un problema que
surge es la detección automática del tempo, una
posible solución consiste en realizar un análisis
previo de la señal y seleccionar el trozo de señal más
largo que haya con la misma nota sonando y suponer que
ese periodo de tiempo corresponde a una negra, si, por
ejemplo después de un análisis el número máximo de
segmentos es de 15 y cada segmento tiene 500 muestras
a una frecuencia de muestreo de 22050
muestras/segundo, una negra equivale a 15∙500/22050
segundos, es decir 2940 microsegundos por negra.
El algoritmo que se ha utilizado para el cálculo automático del tempo del
archivo .wav de entrada es una modificación del
algoritmo de conversión anteriormente comentado, como
se puede ver en el esquema que se presenta en la
página siguiente. Las diferencias con el algoritmo de
conversión del capítulo anterior se encuentran
listadas a continuación:
• El parámetro 'avance' que en el algoritmo de
conversión es libre, aquí se hace igual al tamaño del
segmento, de esta forma se consigue un análisis más
rápido aunque menos detallado.
• Cuando las notas se van activando y desactivando, en
el algoritmo de conversión se modifica un archivo MIDI,
sin embargo, en este caso se acumula en una variable
temporal el número total de segmentos consecutivos que
tienen la misma frecuencia fundamental (obviando los
que tienen silencio).

|