¿Qué es el formato de archivo MID?
Los archivos .mid están estrechamente relacionados con el formato .midi; ambos son secuencias de Archivo MIDI Estándar (SMF).
Los archivos .mid almacenan eventos de interpretación musical organizados con una sincronización precisa. Estos eventos pueden describir:
- el tono de la nota, la velocidad y la duración de la reproducción,
- el volumen, la expresión y otros valores de controlador,
- cambios de instrumento (programa) en hasta 16 canales.
Cabe señalar que los archivos .mid no contienen datos de audio, solo las instrucciones de eventos necesarias para una reproducción adecuada por parte de un sintetizador o motor de soundfont. Debido a que no se almacenan muestras de audio, el mismo archivo .mid puede sonar notablemente diferente en distintos dispositivos.
Los archivos con la extensión .mid pueden ser utilizados por aplicaciones de software de edición musical, así como por dispositivos de hardware MIDI y sintetizadores. Los archivos .mid sirven como una forma universal de compartir composiciones musicales entre programas: las estaciones de trabajo de audio digital, los editores de notación y los secuenciadores son compatibles con el formato. En los dispositivos de hardware, los archivos .mid pueden usarse para disparar instrumentos, cambiar parámetros de salida de audio como el tono o la duración, y dirigir interpretaciones automatizadas.
Internamente, un archivo .mid utiliza una estructura binaria basada en fragmentos (chunks): un fragmento de cabecera MThd establece el tipo de formato (0, 1 o 2), el recuento de pistas y la resolución de tiempo, seguido de uno o más fragmentos de pista MTrk que almacenan eventos con marcas de tiempo delta. La variante .rmi envuelve el mismo contenido en un contenedor RIFF, mientras que el formato .kar extiende el .mid con letras de karaoke integradas.
Seguridad y protección
RIESGO: LOWUn Archivo MIDI Estándar contiene datos de eventos pasivos sin código ni macros incrustados, por lo que el formato en sí es de bajo riesgo. Preocupación histórica: en 2012, un fallo de análisis de MIDI en Windows (CVE-2012-0003) permitió la ejecución de código a través de un MIDI manipulado en Windows Media Player; esto fue parcheado hace mucho tiempo, así que mantenga actualizados su sistema operativo y reproductores. Por lo demás, el principal «riesgo» es la decepción: un MIDI puede sonar pobre o incorrecto porque la reproducción depende del soundfont del dispositivo, no del archivo.
Detalles del formato
en pocas palabras- Karaoke MIDI (.kar) - Misma estructura de Archivo MIDI Estándar con metaeventos de letras incrustados para karaoke; a menudo se guarda también con la extensión .mid.
- RMID (RIFF MIDI) - Una secuencia MIDI envuelta en un contenedor RIFF, a veces con un banco de sonidos DLS incrustado; utiliza .rmi pero ocasionalmente .mid.
Programas que abren archivos MID
Detalles técnicos
especificación profunda| Codificación de archivo | Binario, orden de bytes big-endian |
| Firma de archivo (magic bytes) | `4D 54 68 64` - ASCII `MThd` en el desplazamiento de byte 0, seguido de una longitud de fragmento de 4 bytes (`00 00 00 06`) |
| Estructura del contenedor | Basada en fragmentos: fragmento de cabecera `MThd` seguido de uno o más fragmentos de pista `MTrk` |
| Tipos de formato | Formato 0 - pista única multicanal; Formato 1 - múltiples pistas síncronas; Formato 2 - secuencias de patrones independientes |
| Capacidad de canales MIDI | Hasta 16 canales simultáneos por archivo, cada uno asignable a un instrumento o voz diferente |
| Resolución de tiempo | Establecida por el campo `division` en `MThd`; expresada como tics por nota negra (p. ej., 480 PPQ) o fotogramas de código de tiempo SMPTE |
| Codificación de tiempo delta de eventos | Cantidad de longitud variable (VLQ): codifica los intervalos de tiempo entre eventos utilizando 7 bits por byte con un indicador de continuación MSB |
| Tipo MIME | `audio/midi`; también reconocido como `audio/x-midi` y `audio/sp-midi` |
| Tamaño de archivo típico | 1 KB - 100 KB; unos pocos minutos de música suelen estar muy por debajo de los 50 KB porque no se almacenan muestras de audio |
| Compresión | Ninguna; los eventos son intrínsecamente compactos mediante códigos de operación binarios y codificación de tiempo delta VLQ |
| Metaeventos | Metadatos sin sonido incrustados en las pistas: tempo (microsegundos por pulso), firma de tiempo, armadura, nombre de la pista, letras, derechos de autor y marcadores de fin de pista |
| Desarrollador / mantenedor | MIDI Manufacturers Association (MMA) y AMEI (Association of Musical Electronics Industry) |
| Compatibilidad con MIDI 2.0 | `.mid` codifica mensajes MIDI 1.0; el protocolo MIDI 2.0 (2020) utiliza diferentes formatos de contenedor; los archivos `.mid` siguen en uso activo generalizado |
| Lanzado | Standard MIDI File 1.0 published 1988 (MIDI protocol 1983) |
| Última versión | SMF 1.0 (stable since 1988); MIDI 2.0 protocol 2020 uses .midi2/clips, not .mid |
| Estándar abierto | Sí · libre de regalías |
| Especificación | midi.org |
Conversiones de MID
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos MID.