# Decodificador de protocolo MIDI 1.0 / MIDI 2.0 UMP (paquetes universales, canal de voz, SysEx 7/8 bits) y contador de bytes

Pega un flujo hexadecimal y decodifica un bytestream MIDI 1.0 (running status, System Common/Real Time, SysEx) o un flujo UMP MIDI 2.0: 0x0 Utility, 0x1 System, 0x2 Channel Voice MIDI 1.0, 0x3 SysEx 7 bits, 0x4 Channel Voice MIDI 2.0 (velocidad de 16 bits + atributo de tono 7.9), 0x5 SysEx 8 bits / Mixed Data, 0xD Flex Data, 0xF UMP Stream; cuenta bytes/paquetes/palabras, valida campos reservados y la máquina de estados de SysEx, y traduce entre MIDI 1.0 y UMP.

> Página canónica: https://elysiatools.com/es/tools/midi-1-0-midi-2-0-ump-universal-midi-packet-cib-channel-voice-2-0-sysex-7-bit-8-bit-byte-counter

- **Categoría:** Media

- **Palabras clave:** paquete MIDI universal, UMP, MIDI 2.0, protocolo MIDI 1.0, SysEx, channel voice, tono 7.9, decodificador

## Descripción general

Los paquetes UMP tienen longitud fija por tipo (0x0/0x1/0x2: 1 palabra de 32 bits; 0x3/0x4: 2 palabras; 0x5/0xD/0xF: 4 palabras; 0x6-0xE reservados en UMP 1.1), con el tipo en el nibble alto del primer byte. Tabla de estados del Channel Voice MIDI 2.0 (MT 0x4): 0x0/0x1 controladores per-nota registrados/asignables, 0x2 RPN, 0x3 NRPN, 0x4/0x5 RPN/NRPN relativos, 0x6 per-note pitch bend (32 bits), 0x8/0x9 Note Off/On (velocidad de 16 bits + tipo de atributo 1 = tono 7.9: 7 bits de semitono + 9 de fracción, 512 pasos por semitono), 0xA polypressure, 0xB control change (32 bits), 0xC program change (bit de banco + programa + MSB/LSB), 0xD channel pressure, 0xE pitch bend de canal (32 bits, centro 0x80000000), 0xF gestión per-nota. SysEx7: siempre 2 palabras (hasta 6 bytes); SysEx8: siempre 4 palabras (1 byte de stream id + hasta 13 bytes). El decodificador MIDI 1.0 sigue la especificación original: running status solo para mensajes de canal, System Real Time puede intercalarse sin cancelarlo, System Common/SysEx lo cancelan. Diseños verificados de forma cruzada con el kernel de Linux, JUCE y cmidi2.

## Entradas

- **Flujo hexadecimal (bytes MIDI 1.0 o palabras UMP)** (textarea): 40 90 3C 01 D2 00 0B 00 … (spaces, commas, 0x prefixes and newlines are all accepted)
- **Protocolo** (select)
- **Traducir MIDI 1.0 → UMP** (checkbox)
- **Grupo UMP para paquetes traducidos (0-15)** (number)

## Cuándo usarlo

- Cuando necesitas inspeccionar tramas hexadecimales capturadas de interfaces MIDI para verificar la estructura de paquetes UMP o el estado de mensajes MIDI 1.0.
- Al depurar controladores de audio o sintetizadores para validar atributos de afinación fraccional 7.9, velocidad de 16 bits o controladores per-note de MIDI 2.0.
- Para convertir secuencias de bytes tradicionales MIDI 1.0 con running status a paquetes UMP asignados a un grupo específico (0-15).

## Cómo funciona

- Pega la secuencia hexadecimal de bytes o palabras UMP en el campo de entrada, admitiendo prefijos 0x, comas, espacios o saltos de línea.
- Selecciona el protocolo de origen (UMP MIDI 2.0 o Flujo de bytes MIDI 1.0) y activa la opción de traducción a UMP si deseas mapear los mensajes a un grupo UMP (0-15).
- El analizador procesa el flujo validando tipos de mensaje, palabras de 32 bits, estados de continuación SysEx y campos reservados.
- Se genera un informe detallado con el desglose de cada mensaje, conteo de bytes, palabras y paquetes, junto con las advertencias de protocolo si existen.

## Casos de uso

- Depuración de firmware en controladores MIDI USB que transmiten paquetes UMP nativos de 32 bits.
- Verificación de tramas SysEx de configuración y volcados de memoria para sintetizadores hardware y sintetizadores virtuales.
- Auditoría y traducción de secuencias MIDI 1.0 heredadas hacia paquetes universales MIDI 2.0 asignados a grupos de canales específicos.

## Preguntas frecuentes

### ¿Qué tipos de paquetes UMP MIDI 2.0 reconoce la herramienta?

Reconoce los tipos 0x0 (Utility/JR Clock), 0x1 (System), 0x2 (MIDI 1.0 Channel Voice), 0x3 (SysEx7), 0x4 (MIDI 2.0 Channel Voice), 0x5 (SysEx8), 0xD (Flex Data) y 0xF (UMP Stream).

### ¿Cómo se interpreta el atributo de tono 7.9 en MIDI 2.0?

Descompone el campo de atributo en 7 bits de semitono entero y 9 bits de fracción, proporcionando una resolución de 512 subdivisiones por semitono.

### ¿El decodificador MIDI 1.0 gestiona running status y mensajes de tiempo real intercalados?

Sí, mantiene el running status para mensajes de canal, permite intercalar System Real Time sin cancelarlo y lo reinicia ante mensajes System Common o SysEx.

### ¿Cuál es la diferencia entre los paquetes SysEx de 7 bits y 8 bits en UMP?

SysEx7 utiliza 2 palabras de 32 bits y transporta hasta 6 bytes de 7 bits, mientras que SysEx8 utiliza 4 palabras y transporta un ID de flujo junto con hasta 13 bytes limpios de 8 bits.

### ¿Qué formatos de entrada hexadecimal son válidos?

Acepta cadenas hexadecimales continuas o separadas por espacios, comas, saltos de línea o con prefijos 0x.

## Herramientas relacionadas

- [Convertidor DSD a PCM](https://elysiatools.com/es/tools/dsd-to-pcm): Convierte archivos de audio DSD (Direct Stream Digital) a formato PCM WAV con profundidad y tasa de muestreo seleccionables
- [Mapeador HDR AVIF a PNG SDR](https://elysiatools.com/es/tools/hdr-avif-to-sdr-png): Decodifica AVIF PQ o HLG, convierte BT.2020 a sRGB y mapea luces a un PNG SDR visible.
- [Banco de trabajo A1Z26 letra-número](https://elysiatools.com/es/tools/a1z26-letter-number-workbench): Convierte entre letras y números (A=1…Z=26) con separador y mayúsculas configurables, decodifica números a letras y suma letras.
- [Tutor de microtonalismo blues/ragas/maqam (codificación MIDI 2.0 y MPE + exportación Scala)](https://elysiatools.com/es/tools/blues-ragas-modes-microtonal-pitch-bend-midi-2-and-maqam-tuning-tutor): Mapea 11 afinaciones mundiales a codificaciones MIDI concretas: blues en entonación justa límite 7 (tercera 7/6, tritono 7/5, séptima 7/4), maqamat árabes en 24-EDO (Rast/Bayati/Hijaz/Saba), la tabla completa de los 22 shrutis, slendro ≈5-EDO y pelog del gamelán, 31/53-EDO y la rejilla armónica de A440; entrega nota más cercana + ajuste fino RPN, pitch bend MPE de 14 bits en ±2/24/48/96 semitonos, bend de 32 bits MIDI 2.0 y el atributo de nota Pitch 7.9, más un archivo Scala .scl.
- [Decodificador de certificados X.509](https://elysiatools.com/es/tools/certificate-decoder): Analiza un certificado X.509 SSL/TLS (pegar PEM o subir .pem/.crt) e inspecciona sujeto, emisor, periodo de validez con estado de caducidad, clave pública, algoritmo de firma, serie, SAN, uso de clave y huella. Como openssl x509 -text, visualizado. Local.
- [Descodificador de facturas de servicios y detector de cargos ocultos (riders CSR/CFL/MHC/HFA · demanda punta-valle · conversión kWh/Btu/therm)](https://elysiatools.com/es/tools/csr-cfl-cfl-mhc-hfa-btu-ton-hours-utility-bill-line-item-validator-and-rgp-peak-explainer): Pegue las partidas de su factura: clasifica y explica cargo al cliente, demanda, precios por franjas TOU, riders de transporte/distribución, fondos renovables, desacople, capacity tag; convierte kWh↔Btu↔therm↔Ccf↔m³↔toneladas-hora con factores EIA; detecta cargos fijos ocultos y proyecta ahorros por gestión de demanda.
- [Decodificador de trazas distribuidas y waterfall](https://elysiatools.com/es/tools/distributed-trace-decoder-waterfall-visualizer): Analiza JSON de Jaeger, Zipkin u OpenTelemetry y muestra spans, tiempos y errores en un waterfall
- [Códecs de texto extendidos (Base65536 + netstring)](https://elysiatools.com/es/tools/extended-text-base-codecs): Codifica y decodifica con códecs menos comunes: Base65536 (binario → Unicode denso) y netstring (encuadre auto-delimitante).

## Ejemplos

- [Ejemplos Protocolo QUIC](https://elysiatools.com/es/samples/quic-protocol-samples): Muestras completas del protocolo QUIC cubriendo implementación HTTP/3, transporte UDP fiable, migración de conexión y optimización de rendimiento
- [Protocolo de Mensajes AMQP](https://elysiatools.com/es/samples/amqp-samples): Ejemplos del protocolo AMQP (Advanced Message Queuing Protocol) para mensajería empresarial con RabbitMQ, colas, exchanges y patrones de enrutamiento avanzados
- [Muestras MIDI](https://elysiatools.com/es/samples/midi-viewer-samples): Archivo MIDI de muestra para el visor MIDI
- [Protocolo de Mensajes MQTT](https://elysiatools.com/es/samples/mqtt-samples): Ejemplos del protocolo MQTT (Message Queuing Telemetry Transport) para IoT y mensajería en tiempo real con patrones de publicación/suscripción
