Archivos MIDI: Interfaz Digital de Instrumentos Musicales
MIDI (Musical Instrument Digital Interface) es uno de los estándares técnicos más duraderos de la industria musical. Finalizado en 1983 por un consorcio de fabricantes de sintetizadores (Roland, Sequential Circuits, Yamaha, Korg, Oberheim), MIDI define tanto un protocolo de comunicación entre dispositivos de hardware como un formato de archivo para almacenar datos de interpretación musical. A diferencia de los formatos de audio (MP3, WAV, FLAC) que almacenan sonido grabado, MIDI almacena instrucciones — qué notas tocar, con qué volumen, en qué instrumento, con qué sincronización.
Lo Que MIDI Es (y No Es)
MIDI almacena datos de interpretación, no audio. Un archivo MIDI de la Sonata Claro de Luna de Beethoven puede ser de 15 KB. Una grabación WAV equivalente a calidad CD ocupa más de 40 MB. El archivo MIDI dice "toca la nota Do4 a velocidad 80 durante 1,2 segundos en el canal 1" — no dice nada sobre cómo suena realmente Do4. El dispositivo de reproducción o el sintetizador de software proporciona el sonido.
Esto tiene implicaciones profundas:
- Editabilidad: Cada nota, velocidad, tempo e instrumento es individualmente editable
- Transposición: Transponer toda la pieza cualquier intervalo sin pérdida de calidad
- Flexibilidad de tempo: Cambiar el tempo sin afectar la afinación
- Arreglo: Silenciar, hacer solo o reorganizar cualquier instrumento de forma independiente
- Tamaño de archivo diminuto: Composiciones complejas caben en pocos kilobytes
Lo que MIDI no puede hacer:
- Capturar sutiles variaciones tonales que tienen las interpretaciones en vivo
- Almacenar efectos de audio como reverb o distorsión
- Garantizar una reproducción idéntica en diferentes sintetizadores
Estructura del Archivo MIDI (SMF — Standard MIDI File)
Los archivos MIDI usan la extensión .mid o .midi y conforman el formato SMF:
Chunk de cabecera (14 bytes): magic MThd, formato (0=pista única, 1=multipista síncrono, 2=multipista independiente), número de pistas, ticks por negra.
Chunks de pista (MTrk): Secuencias de eventos prefijados por tiempo delta — el número de ticks desde el evento anterior.
Tipos de Eventos MIDI
Mensajes de Canal (interpretación musical):
9nNote On — comenzar a tocar nota8nNote Off — dejar de tocar notaBnControl Change — mensajes CC (volumen, panorama, modulación, pedal de sustain)CnProgram Change — cambiar instrumento (número de instrumento General MIDI)EnPitch Bend — rueda de afinación
Eventos Meta (FF):
FF 51— Establecer Tempo (microsegundos por negra)FF 58— CompásFF 59— Armadura de claveFF 2F— Fin de pista
Canales MIDI y General MIDI
MIDI tiene 16 canales. Cada canal puede asignarse a un instrumento diferente mediante mensajes Program Change. El canal 10 está universalmente reservado para la batería en General MIDI.
General MIDI (GM) define un conjunto estándar de 128 instrumentos que todos los sintetizadores compatibles con GM deben soportar:
- 0 = Piano de Cola Acústico
- 40 = Violín
- 56 = Trompeta
- 72 = Piccolo
Conversión de Archivos MIDI
MIDI a MP3 / WAV (Síntesis de Audio)
Esta es la conversión más común. Requiere un sintetizador de software para renderizar la interpretación MIDI a audio usando un soundfont o biblioteca de muestras.
Usando FluidSynth (gratuito, código abierto):
# Descarga primero un soundfont General MIDI (p.ej. FluidR3_GM.sf2)
fluidsynth -ni -F salida.wav -r 44100 /ruta/al/FluidR3_GM.sf2 entrada.mid
# Luego convierte WAV a MP3
ffmpeg -i salida.wav -c:a libmp3lame -q:a 2 salida.mp3
Usando TiMidity++ (gratuito, código abierto):
timidity -Ow -o salida.wav entrada.mid
Usando MuseScore (GUI): Archivo → Exportar → MP3 / WAV
Consejo de calidad: La calidad de salida depende casi por completo del soundfont. El FluidR3_GM.sf2 gratuito (141 MB) suena mucho mejor que el sintetizador MIDI integrado de Windows.
MIDI a Partitura / MusicXML
MuseScore: Archivo → Abrir (archivo MIDI) → cuantización automática → Editar → Exportar → MusicXML / PDF
midi2abc: Convierte MIDI a notación ABC:
midi2abc entrada.mid -o salida.abc
MIDI a JSON para Análisis
from mido import MidiFile
import json
mid = MidiFile('entrada.mid')
eventos = []
for pista in mid.tracks:
for msg in pista:
eventos.append({
'tipo': msg.type,
'tiempo': msg.time,
'canal': getattr(msg, 'channel', None),
'nota': getattr(msg, 'note', None),
'velocidad': getattr(msg, 'velocity', None),
})
with open('salida.json', 'w') as f:
json.dump(eventos, f, indent=2, ensure_ascii=False)
MIDI en la Producción Musical
DAWs (Estaciones de Trabajo de Audio Digital): Ableton Live, Logic Pro, Pro Tools, Cubase, FL Studio y Reaper usan MIDI como su lenguaje de interpretación central. Los productores graban MIDI desde teclados, cuantizan el tiempo, editan notas individuales en el editor de piano roll y enrutan cada pista MIDI a un sintetizador de software o plugin de instrumento virtual.
Interpretación en vivo: Los teclados MIDI, almohadillas de batería, controladores de viento y guitarras sintetizadoras envían datos MIDI a sintetizadores, computadoras o procesadores de efectos en tiempo real.
Software de notación: MuseScore, Sibelius, Finale y Dorico usan MIDI como entrada/salida para reproducción e importación/exportación.
MIDI vs. Archivos de Audio
| Característica | MIDI | Audio (WAV/MP3) |
|---|---|---|
| Tamaño de archivo | Diminuto (KB) | Grande (MB) |
| Notas editables | ✅ | ❌ |
| Suena como original | Depende del sintetizador | ✅ Exacto |
| Transposable | ✅ Sin pérdida de calidad | Requiere cambio de tono |
| Tempo modificable | ✅ | Requiere estiramiento temporal |
| Captura audio en vivo | ❌ | ✅ |
MIDI es un formato de composición e interpretación. El audio es un formato de reproducción. La producción musical profesional usa ambos: MIDI para arreglo y edición, audio para la mezcla final.
Conversiones relacionadas
Conversiones frecuentes del catálogo: