Actualmente estoy escribiendo un generador midi usando archivos midi preexistentes. Me estoy confundiendo porque cada archivo midi que descargo parece estar guardado en un formato ligeramente diferente. Particularmente me confundo en cuanto a qué pistas son y cómo afectan el tiempo. En los documentos de archivos midi dice:
File Types
There are three types of MIDI files:
type 0 (single track): all messages are saved in one track
type 1 (synchronous): all tracks start at the same time
type 2 (asynchronous): each track is independent of the others
When creating a new file, you can select type by passing the type keyword argument, or by setting the type attribute:
mid = MidiFile(type=2)
mid.type = 1
Type 0 files must have exactly one track. A ValueError is raised if you attempt to save a file with no tracks or with more than one track.
Mis preguntas son
1. Cuando hace la distinción entre pistas sincrónicas y asincrónicas, ¿significa esto que sincrónico significa que el tiempo delta 'reinicia desde 0' para cada nueva pista mientras que las asincrónicas son consecutivas en términos de tiempo? Si no, ¿qué significa esto?
2. Si mi suposición anterior es correcta, ¿en qué situación usaría archivos asincrónicos?
3. ¿Cómo se dividen las pistas si el tipo 2?
Esencialmente, estoy tratando de regularizar todas las diferentes formas de formatear archivos midi para poder manipular los datos más fácilmente entre tipos. Cualquier ayuda con esto sería apreciada.
Salud
asíncrono en el tipo 2 significa que cada pista es una secuencia independiente: las pistas del tipo 2 no están pensadas para reproducirse simultáneamente. Esto difiere del tipo 1 en el que las pistas están destinadas a reproducirse simultáneamente. En el tipo 1, el tiempo de cada pista comienza en el tiempo cero. El tipo 1 a menudo tiene una "pista de tempo" como primera pista que contiene toda la información de tempo.
No he visto que el tipo 2 se use con mucha frecuencia. Es solo una forma de almacenar múltiples secuencias en un solo archivo midi. Piense en ello como un archivo midifile.
No destinado a eso.
Entonces, creo que el tipo 0 es lo que necesita, ya que solo tiene que hacer la operación de unión dividida para una sola pista.
piiperi Reincorporar a Monica
grapadora
piiperi Reincorporar a Monica