language-agnostic midi

language agnostic - ¿Cuál es la estructura de un archivo MIDI?



language-agnostic (2)

Quiero tener una función manualmente que cree un archivo MIDI según las demandas de los usuarios, por ejemplo.

El usuario escribe 2 parches que contienen 8 barras de 4 cuartos de A4 (Concierto A - 440hz) y C4 (cada uno como un canal separado) a 120 velocidades, a velocidad 100, instrumento de piano (01) y parche 49 o lo que sea.

¿Cómo debería ser el archivo MIDI de acuerdo con lo anterior? Mi objetivo es aprender a crear una función que genere datos MIDI, y luego escribir todo en un archivo MIDI.

Así que primero tengo que entender cómo crear esta función o entender el ''lenguaje de archivos MIDI'' para poder escribirlo.

Gracias por adelantado.



De toda la información MIDI que leí recientemente, este parece ser el tutorial más completo, por otro lado, los siguientes dos enlaces son los mejores para empezar:

Estructura MIDI en el sitio web oficial de MIDI
Sonic Spot - formato de archivo MIDI

Además, NAudio es una biblioteca .NET que funciona con archivos MIDI de Mark Heath.
También encontré este enlace muy útil, pensé por qué no compartirlo con la gente aquí .

Creo que esta es la mejor API .NET para jugar con archivos MIDI.