¿Qué es MIDI?
MIDI (Musical Instrument Digital Interface) es un protocolo de comunicación y formato de archivo estandarizado en 1983 que permite a instrumentos electrónicos, ordenadores y software intercambiar datos de interpretación musical. A diferencia de formatos de audio como MP3 o WAV, MIDI no almacena sonido — almacena instrucciones: qué nota tocar, con qué intensidad, durante cuánto tiempo, en qué canal de instrumento y con qué efectos. Una sinfonía de 3 minutos puede pesar solo 50 KB en MIDI pero 50 MB como audio sin comprimir.
El estándar fue desarrollado en colaboración por Roland, Yamaha, Korg, Sequential Circuits y Oberheim — un acuerdo sin precedentes entre fabricantes de hardware que dotó a la informática personal de un lenguaje musical universal. Más de 40 años después, MIDI sigue siendo la columna vertebral de la producción musical en todo el mundo.
Tipos de Mensajes MIDI
MIDI transmite mensajes a través de 16 canales independientes (numerados del 1 al 16). El canal 10 está universalmente reservado para percusión según la especificación General MIDI. Los mensajes se clasifican como:
Mensajes de Voz de Canal
Transportan los datos de interpretación reales:
| Byte de Estado | Mensaje | Parámetros |
|---|---|---|
0x8n |
Note Off | Nota (0–127), Velocidad (0–127) |
0x9n |
Note On | Nota (0–127), Velocidad (0–127) |
0xAn |
Aftertouch (Poly) | Nota, Presión |
0xBn |
Control Change (CC) | Nº Controlador, Valor |
0xCn |
Program Change | Nº de Programa (instrumento) |
0xDn |
Presión de Canal | Valor de presión |
0xEn |
Pitch Bend | LSB, MSB (14 bits combinados) |
Donde n = número de canal 0–15. Un Note On con velocidad 0 es funcionalmente idéntico a Note Off.
Mensajes de Control Change (CC)
Los mensajes CC (estado 0xBn) modulan parámetros continuos:
- CC 1: Rueda de modulación
- CC 7: Volumen de canal
- CC 10: Panorama (0=izquierda, 64=centro, 127=derecha)
- CC 11: Expresión (volumen secundario)
- CC 64: Pedal de sustain (0=apagado, 127=encendido)
- CC 91: Nivel de reverb
- CC 93: Nivel de chorus
Mensajes de Sistema
Los mensajes de sistema se aplican globalmente:
- System Exclusive (SysEx)
0xF0...0xF7: Datos específicos del fabricante (volcados de patches, tablas de afinación) - Timing Clock
0xF8: 24 pulsos por negra para sincronización - Start/Stop/Continue
0xFA/0xFC/0xFB: Control de transporte - System Reset
0xFF: Reinicio de todos los dispositivos
Estructura del Archivo MIDI Estándar (SMF)
Un archivo MIDI (.mid, .midi) es un Standard MIDI File con estructura binaria:
Chunk de Cabecera
4D546864 = "MThd" (4 bytes, número mágico)
00000006 = Longitud del chunk: siempre 6
0001 = Tipo de formato (0, 1 ó 2)
0002 = Número de pistas
00F0 = División (ticks por negra, aquí 240)
Chunk de Pista
4D54726B = "MTrk" (4 bytes)
XXXXXXXX = Longitud del chunk en bytes
[eventos] = Delta-time de longitud variable + datos de evento
Cada evento lleva prefijado un delta time de longitud variable — el número de ticks desde el evento anterior. La codificación variable usa 7 bits por byte con el MSB como indicador de continuación.
Meta Eventos
Los meta eventos (byte de estado 0xFF) transportan datos no-MIDI dentro de archivos SMF:
| Tipo | Significado |
|---|---|
0xFF 0x51 |
Establecer tempo (microsegundos por pulso) |
0xFF 0x58 |
Compás |
0xFF 0x59 |
Armadura de clave |
0xFF 0x03 |
Nombre de pista |
0xFF 0x2F |
Fin de pista (obligatorio) |
Tipos de Formato SMF
Tipo 0 — Pista Única
Todos los canales combinados en una pista. Máxima compatibilidad con dispositivos hardware. Preferido para canciones simples y sistemas embebidos.
Tipo 1 — Multi-Pista Síncrono
Múltiples pistas compartiendo el mismo mapa de tempo, tocando simultáneamente. El estándar industrial para exportación desde DAW. La pista 0 es siempre la pista de tempo; las siguientes contienen datos de instrumentos.
Tipo 2 — Multi-Pista Secuencial (Raro)
Múltiples pistas con su propio tempo, reproducidas secuencialmente. Apenas se usa en la práctica.
Temporización y Tempo
La temporización MIDI se basa en ticks. El campo de división de la cabecera especifica ticks por negra (PPQ — pulsos por negra). Valores comunes: 96, 120, 480, 960 PPQ.
La velocidad de reproducción se establece mediante meta eventos de tempo, especificados en microsegundos por negra. El valor por defecto es 500.000 µs/negra = 120 BPM.
Tempo (µs/negra) = 60.000.000 ÷ BPM
120 BPM → 60.000.000 ÷ 120 = 500.000 µs/negra
General MIDI (GM)
La especificación General MIDI Nivel 1 (1991) estandarizó 128 programas de instrumentos en 16 categorías: pianos, percusión cromática, órganos, guitarras, bajos, cuerdas, conjuntos, metales, maderas de lengüeta, maderas de flauta, leads de sintetizador, pads de sintetizador, efectos de sintetizador, étnicos, percusivos y efectos de sonido.
GM también estandarizó 47 sonidos de percusión en el canal 10 mapeados a números de nota MIDI (ej.: nota 36 = bombo, 38 = caja, 42 = hi-hat cerrado).
MIDI 2.0
Publicado en 2020, MIDI 2.0 añade comunicación bidireccional, resolución de datos de 32 bits (vs 7 bits en MIDI 1.0), controladores por nota, y exchange de perfiles/propiedades. Mejoras clave:
- Resolución: Valores de velocidad y controlador de 32 bits (vs 127 pasos en MIDI 1.0)
- Articulación por nota: Pitch bend y expresión por nota individual
- Perfiles: Los dispositivos se autodescripan con sus capacidades
- UMP (Universal MIDI Packet): Nuevo protocolo de cable
- Retrocompatible: Los dispositivos MIDI 2.0 retroceden a MIDI 1.0 cuando es necesario
Conversión de MIDI a Audio
MIDI requiere un soundfont (SF2/SF3) o sintetizador para renderizar audio:
# FluidSynth + soundfont SF2
fluidsynth -F salida.wav /ruta/al/soundfont.sf2 cancion.mid
# FFmpeg (usa sintetizador del sistema o soundfont)
ffmpeg -i cancion.mid salida.mp3
# TiMidity++
timidity cancion.mid -Ow -o salida.wav
La calidad del soundfont afecta drásticamente el resultado. Opciones gratuitas: FluidR3_GM (~141 MB), Musyng Kite (~330 MB).
MIDI vs Audio: ¿Cuándo Usar Cada Uno?
| Criterio | MIDI | Audio (WAV/MP3) |
|---|---|---|
| Tamaño de archivo | Diminuto (KB) | Grande (MB) |
| Editabilidad | Total (transponer, tempo, instrumento) | Limitada |
| Fidelidad | Depende del soundfont/sintetizador | Grabación exacta |
| Consistencia de reproducción | Varía según el sintetizador | Idéntica en todas partes |
| Mejor para | Composición, producción DAW | Entrega final, voz, acústico |
MIDI lleva más de 40 años como backbone de la producción musical — una prueba del excepcional diseño de la especificación original de 1983.
Conversiones relacionadas
Conversiones frecuentes del catálogo: