Explicaciones del procedimiento de cálculo de la frecuencia de referencia

Desarrollo una herramienta web para detectar clave armónica en un nodo <audio>/<video> en una página web. Encontré en wikipedia, los "Perfiles de clase de tono armónico" .

Es un procedimiento para extraer la clave armónica de una canción, así:

  • 1 - Señal musical de entrada (OK).
  • 2 - Hacer análisis espectrales para obtener los componentes de frecuencia de la señal musical. (OK)
  • 3 - Utilice la transformada de Fourier para convertir la señal en un espectrograma. (OK)
  • 4 - Hacer filtrado de frecuencia. Se utiliza un rango de frecuencia de entre 100 y 5000 Hz.
  • 5 - Hacer detección de picos. Solo se consideran los valores máximos locales del espectro.

Estos pasos se realizan con el AnalyserNode de WebAudioApi.

Entonces, mi problema está aquí , no entiendo el punto 6; "procedimiento de cálculo de la frecuencia de referencia". Alguien tiene un ejemplo o algo? No entiendo lo que se supone que debo hacer en este paso.

Aquí el resto del procedimiento:

  • 6 - Realice el procedimiento de cálculo de la frecuencia de referencia. Estime la desviación con respecto a 440 Hz.
  • 7 - Hacer mapeo de clases de tono con respecto a la frecuencia de referencia estimada. [...]
  • 8 - Normalice la función cuadro por cuadro dividiendo el valor máximo para eliminar la dependencia del volumen global. [...]

Espero haber hecho mi pregunta en el lugar correcto. Gracias por tu ayuda !

¿Has leído las referencias en tu enlace Wiki? Probablemente haya más información en esos trabajos académicos de la que puede esperar que alguien escriba en una respuesta aquí. Si tiene preguntas más específicas después de leer los documentos, puede hacerlas aquí (o posiblemente en otro sitio de SE como "procesamiento de señales").

Respuestas (1)

Este es un proceso bastante complicado y, a menos que nos limitemos a hablar solo del paso 6, creo que su pregunta es demasiado amplia. Así que solo voy a hablar sobre el paso 6.

El desafío que el paso 6 pretende abordar es el siguiente: no existe una correlación fija entre el tono y la frecuencia . Una frecuencia es un concepto principalmente científico. Cuando se reproduce o graba un sonido musical, el aire o el medio de grabación se excita de una manera específica un cierto número de veces por segundo, es decir, a frecuencias específicas. Cuando los oídos humanos escuchan esas frecuencias, pueden generar la sensación de un tono (asumiendo que las frecuencias juntas forman un cierto patrón). Entonces, el tono es la interpretación subjetiva del cerebro de frecuencias científicamente medibles. Comparar con volumen (subjetivo) e intensidad (científico).

Debido a que el tono es subjetivo, la mente humana puede interpretar más de un conjunto de frecuencias como si fueran el mismo tono. Más allá de eso, en teoría musical, hay un número finito de tonos discretos, pero la frecuencia es un continuo. Entonces, un músico o un teórico de la música puede describir una nota como "A4" cuando tiene una frecuencia fundamental de entre 425 y 450 Hz. De alguna manera, su software tiene que verificar esa posibilidad y ajustar su asignación de frecuencias a tonos en consecuencia.

Ahora a los músicos les gusta tocar juntos en grupos, y va a sonar terrible si uno de nosotros piensa que A4 es de 435 Hz y otro piensa que A4 es de 440 Hz, así que desde hace algunos siglos hemos desarrollado frecuencias de referencia . Eso solo significa que estamos de acuerdo en que vamos a afinar nuestros instrumentos (la afinación es el ajuste de qué frecuencia toca cada nota nominal que toca el instrumento) en torno a una sola frecuencia para que todos podamos tocar juntos cuando queramos (más o menos).

En este momento, la referencia de tono más popular con diferencia es A4, que debería tener una frecuencia fundamental de 440 Hz, y lo llamamos "A-440". En el pasado, las frecuencias más bajas para A4 han sido populares, como 435 Hz. Una vez que un instrumento ha sido afinado a A-440, todas sus notas deben estar relacionadas con la afinación A4 de una manera específica. Esta tabla muestra la frecuencia fundamental de cada nota cuando se basa en la afinación A-440.

Aunque ese es un estándar, los instrumentos son del mundo real y los humanos son falibles, por lo que es prácticamente imposible que cualquier instrumento esté a la altura de la afinación del A-440 para todas sus notas. Aún más complicado es el hecho de que algunos instrumentos producen espectros de frecuencia donde es necesario deliberadamente desafinar ciertas notas para que las frecuencias "desafinadas" generen la sensación de tono correcta (el piano es un ejemplo famoso y esta desafinación se llama "estiramiento de octava"). .

Entonces, cuando su software comienza a decodificar frecuencias que no coinciden con la tabla de frecuencias A-440, tendrá que hacer una mejor estimación de qué sensación de tono se pretende y asignar esos tonos a esas frecuencias. Eso es lo que es el paso 6. La razón por la que desea estimar la desviación de 440 Hz es que si toma algunas notas, descubre que no coinciden con la tabla pero encuentra que son equivalentemente demasiado altas o demasiado bajas, entonces puede adivinar que todo el instrumento está en sintonizarse consigo mismo, simplemente no está sintonizado correctamente con el A-440. Eso significa que puede refinar sus asignaciones de tonos esperando que todas las notas de ese instrumento sean demasiado altas o demasiado bajas en aproximadamente la misma cantidad.

Calcular la frecuencia de referencia es encontrar qué A4 en el instrumento dado probablemente esté realmente sintonizado en función de las frecuencias decodificadas. Por ejemplo, si decodificas las frecuencias de 435, 870, 1305 y 1740, puedes estar bastante seguro de que el patrón debía ser A4 sintonizado a 435 Hz en lugar de 440, y esa es tu frecuencia de referencia para esa grabación.