Dado que existen mensajes de tempo y note_on/off, ¿cuál es el objetivo de los metamensajes midi key_signature y time_signature?

Estoy escribiendo un generador midi usando python y la biblioteca mido. Solo estoy luchando por entender el punto de los metamensajes key_signature y time_signature. Los he guardado en mis datos, pero si los elimino de los mensajes de las canciones y los reproduzco, suenan idénticos. Anteriormente pensé que los mensajes key_signature eran importantes para definir qué notas estaban nítidas, etc. Sin embargo, al consultar https://www.inspiredacoustics.com/en/MIDI_note_numbers_and_center_frequencies , veo que los mensajes note_on ya especifican si es sostenido o bemol. Del mismo modo, pensé que los mensajes de firma de tiempo eran importantes para establecer el tiempo general (sé poco sobre teoría musical), pero luego descubrí que mid.ticks_per_beat parece hacer esto en su lugar.

Todo lo que estoy tratando de determinar es si es importante mantener estos mensajes si se genera nueva música que busca patrones entre muchas canciones. Del mismo modo, si alguien pudiera dar más detalles sobre la importancia de mid.ticks_per_beat y cómo debo combinar estos valores en varias canciones al generar música nueva, se lo agradecería mucho.

Gracias

Respuestas (1)

En lo que respecta a los datos MIDI, ninguno de los metamensajes es necesario , pero son útiles cuando se convierte el MIDI en notación de pentagrama musical.

La armadura de clave es importante para definir la "ortografía" correcta de las notas; por ejemplo, si la nota MIDI 61 debe escribirse como Do sostenido o Re bemol. No hace ninguna diferencia en el sonido, pero la ortografía "incorrecta" en la notación del pentagrama parece musicalmente analfabeta y es difícil de leer porque ofusca la identificación de los acordes y escalas utilizados en la música.

El compás es importante para definir el ritmo general (por ejemplo, si la pieza es una marcha o un vals) que es independiente del tempo e indica la posición de las líneas de compás en la notación del pentagrama.

Los ticks por negra definen hasta qué punto puede subdividir un tiempo de manera uniforme. En la música popular es poco probable que encuentre subdivisiones mucho más allá de 3 o 4, y un número relativamente bajo de pulsos por tiempo puede (ligeramente) reducir el tamaño del archivo MIDI al reducir el número de bytes necesarios para almacenar los "tiempos delta" entre las notas.

Originalmente, 60 o 120 TPQN eran opciones bastante comunes, que se dividían uniformemente en 2, 3, 4, 5 y 6 subdivisiones (y 120 también en 8). 72 TPQN se divide en 2, 3, 4, 6, 8 y 9. Un estándar común para el software moderno es 480 TPQN, que es un compromiso razonable entre permitir subdivisiones más finas sin aumentar demasiado el tamaño del archivo. Algunos programas usan valores más altos como 5040 TPQN y/o permiten al usuario elegir qué valor usar. El software que lee archivos MIDI debería poder manejar cualquier número (razonable) de TPQN. A menos que tenga una razón para hacer algo diferente, usaría 480.