# Décodeur du protocole MIDI 1.0 / MIDI 2.0 UMP (paquets universels, Channel Voice, SysEx 7/8 bits) et compteur d'octets

Collez un flux hexadécimal : décodage d'un flux d'octets MIDI 1.0 (running status, System Common/Real Time, SysEx) ou d'un flux UMP MIDI 2.0 — 0x0 Utility, 0x1 System, 0x2 Channel Voice MIDI 1.0, 0x3 SysEx 7 bits, 0x4 Channel Voice MIDI 2.0 (vélocité 16 bits + attribut de hauteur 7.9), 0x5 SysEx 8 bits / Mixed Data, 0xD Flex Data, 0xF UMP Stream ; comptage octets/paquets/mots, validation des champs réservés et des machines d'états SysEx, et traduction entre MIDI 1.0 et UMP.

> Page canonique: https://elysiatools.com/fr/tools/midi-1-0-midi-2-0-ump-universal-midi-packet-cib-channel-voice-2-0-sysex-7-bit-8-bit-byte-counter

- **Catégorie:** Media

- **Mots-clés:** paquet MIDI universel, UMP, MIDI 2.0, protocole MIDI 1.0, SysEx, Channel Voice, hauteur 7.9, décodeur

## Présentation

Les paquets UMP ont une longueur fixe par type (0x0/0x1/0x2 : 1 mot de 32 bits ; 0x3/0x4 : 2 mots ; 0x5/0xD/0xF : 4 mots ; 0x6-0xE réservés en UMP 1.1), le type occupant le quartet haut du premier octet. Table des états Channel Voice MIDI 2.0 (MT 0x4) : 0x0/0x1 contrôleurs par note enregistré/assignable, 0x2 RPN, 0x3 NRPN, 0x4/0x5 RPN/NRPN relatifs, 0x6 pitch bend par note (32 bits), 0x8/0x9 Note Off/On (vélocité 16 bits + type d'attribut 1 = hauteur 7.9 : 7 bits de demi-ton + 9 de fraction, 512 pas par demi-ton), 0xA pression polyphonique, 0xB control change (32 bits), 0xC program change (bit de banque + programme + MSB/LSB), 0xD pression de canal, 0xE pitch bend de canal (32 bits, centre 0x80000000), 0xF gestion par note. SysEx7 : toujours 2 mots (jusqu'à 6 octets) ; SysEx8 : toujours 4 mots (1 octet stream id + jusqu'à 13 octets). Le décodage MIDI 1.0 suit la spécification d'origine : running status réservé aux messages de canal, System Real Time interplicable sans l'annuler, System Common/SysEx l'annulent. Dispositions vérifiées croisées avec le noyau Linux, JUCE et cmidi2.

## Entrées

- **Flux hexadécimal (octets MIDI 1.0 ou mots UMP)** (textarea): 40 90 3C 01 D2 00 0B 00 … (spaces, commas, 0x prefixes and newlines are all accepted)
- **Protocole** (select)
- **Traduire MIDI 1.0 → UMP** (checkbox)
- **Groupe UMP des paquets traduits (0-15)** (number)

## Quand l'utiliser

- Pour analyser et déboguer les trames hexadécimales émises ou reçues par un pilote ou équipement MIDI 2.0 UMP.
- Pour inspecter un flux MIDI 1.0 utilisant le running status, des octets System Real Time intercalés ou des messages SysEx.
- Pour convertir et encapsuler un flux d'octets MIDI 1.0 brut en paquets UMP 32 bits assignés à un groupe spécifique.

## Fonctionnement

- Collez votre flux d'octets hexadécimaux avec ou sans préfixes (ex. 0x), séparateurs ou retours à la ligne.
- Sélectionnez le protocole correspondant au flux d'entrée : MIDI 2.0 UMP (paquets de 32 bits) ou flux d'octets MIDI 1.0.
- Activez l'option de conversion vers UMP et définissez le numéro de groupe cible (0 à 15) si vous souhaitez traduire un flux MIDI 1.0.
- Consultez le tableau détaillé listant les types de messages, valeurs décomposées (vélocités 16 bits, attributs de hauteur 7.9, statuts SysEx) et les statistiques d'octets.

## Cas d'usage

- Débogage de pilotes audio/MIDI sous Linux (ALSA), Windows ou macOS lors de l'implémentation de la norme MIDI 2.0.
- Validation des machines d'états SysEx (démarrage, continuation, fin) dans les firmwares de synthétiseurs et contrôleurs.
- Vérification de la conformité des messages MIDI 1.0 convertis en paquets UMP dans les passerelles logicielles.

## Questions fréquentes

### Quels types de messages MIDI 2.0 UMP sont reconnus ?

L'outil décode les types 0x0 (Utility), 0x1 (System), 0x2 (Channel Voice MIDI 1.0), 0x3 (SysEx7), 0x4 (Channel Voice MIDI 2.0), 0x5 (SysEx8 / Mixed Data), 0xD (Flex Data) et 0xF (UMP Stream).

### Comment est décodé l'attribut de hauteur 7.9 de MIDI 2.0 ?

L'attribut Pitch 7.9 décompose les 16 bits en 7 bits de demi-ton et 9 bits de fraction, offrant une résolution de 512 pas par demi-ton.

### Le running status en MIDI 1.0 est-il conservé lors d'une horloge intercalée ?

Oui, conformément à la norme, les octets System Real Time (comme Timing Clock 0xF8) n'annulent pas l'état du running status.

### Quelle est la différence de longueur entre les paquets SysEx7 et SysEx8 en UMP ?

Les paquets SysEx7 occupent 2 mots de 32 bits (jusqu'à 6 octets de données), tandis que les paquets SysEx8 occupent 4 mots (1 octet de stream ID et jusqu'à 13 octets de données).

### Quels formats d'entrée hexadécimale sont acceptés ?

Vous pouvez coller des octets avec des espaces, des virgules, des préfixes '0x' ou des sauts de ligne sans altérer l'analyse.

## Outils associés

- [Convertisseur DSD vers PCM](https://elysiatools.com/fr/tools/dsd-to-pcm): Convertir les fichiers audio DSD (Direct Stream Digital) au format PCM WAV avec profondeur et taux d'échantillonnage sélectionnables
- [Tone mapper HDR AVIF vers PNG SDR](https://elysiatools.com/fr/tools/hdr-avif-to-sdr-png): Décode l’AVIF PQ ou HLG, convertit BT.2020 vers sRGB et mappe les hautes lumières en PNG SDR.
- [Atelier A1Z26 lettre-nombre](https://elysiatools.com/fr/tools/a1z26-letter-number-workbench): Convertit entre lettres et nombres (A=1…Z=26) avec séparateur et casse configurables, décode les nombres en lettres et calcule la somme des lettres.
- [Tuteur microtonal blues/raga/maqam (encodage MIDI 2.0 et MPE + export Scala)](https://elysiatools.com/fr/tools/blues-ragas-modes-microtonal-pitch-bend-midi-2-and-maqam-tuning-tutor): Applique 11 accordages du monde à des encodages MIDI concrets : blues en intonation juste à limite 7 (tierce 7/6, tritone 7/5, septième 7/4), maqamat arabes en 24-EDO (Rast/Bayati/Hijaz/Saba), la table complète des 22 shrutis, slendro ≈5-EDO et pelog du gamelan, 31/53-EDO et la grille harmonique de A440 ; produit la note la plus proche + le réglage fin RPN, le pitch bend MPE 14 bits sur ±2/24/48/96 demi-tons, le bend 32 bits MIDI 2.0 et l'attribut de note Pitch 7.9, plus un fichier Scala .scl.
- [Décodeur de certificats X.509](https://elysiatools.com/fr/tools/certificate-decoder): Analyse un certificat X.509 SSL/TLS (coller PEM ou téléverser .pem/.crt) et inspecte sujet, émetteur, période de validité avec statut d'expiration, clé publique, algorithme de signature, série, SAN, usage de clé et empreinte. Comme openssl x509 -text, en visuel. Local.
- [Décodeur de factures d'énergie et détecteur de frais cachés (riders CSR/CFL/MHC/HFA · demande heure pleine/creuse · conversion kWh/Btu/therm)](https://elysiatools.com/fr/tools/csr-cfl-cfl-mhc-hfa-btu-ton-hours-utility-bill-line-item-validator-and-rgp-peak-explainer): Collez les lignes de votre facture : classification et explication du fixed customer charge, de la demande, des prix heures pleines/creuses, des riders transport/distribution, fonds renouvelables, découplage, capacity tag ; conversion kWh↔Btu↔therm↔Ccf↔m³↔tonne-heure aux facteurs EIA ; détection des frais fixes cachés et projections d'économies.
- [Decodeur de traces distribuees et waterfall](https://elysiatools.com/fr/tools/distributed-trace-decoder-waterfall-visualizer): Analyse des traces JSON Jaeger, Zipkin ou OpenTelemetry et affiche spans, latence et erreurs en waterfall
- [Codecs texte étendus (Base65536 + netstring)](https://elysiatools.com/fr/tools/extended-text-base-codecs): Codez et décodez avec des codecs moins courants : Base65536 (binaire → Unicode dense) et netstring (encadrement auto-délimité).

## Exemples

- [Exemples Protocole QUIC](https://elysiatools.com/fr/samples/quic-protocol-samples): Exemples complets du protocole QUIC couvrant implémentation HTTP/3, transport UDP fiable, migration de connexion et optimisation des performances
- [Protocole de Messages AMQP](https://elysiatools.com/fr/samples/amqp-samples): Exemples du protocole AMQP (Advanced Message Queuing Protocol) pour la messagerie d'entreprise avec RabbitMQ, files d'attente, exchanges et patterns de routage avancés
- [Échantillons MIDI](https://elysiatools.com/fr/samples/midi-viewer-samples): Fichier MIDI d'exemple pour la visionneuse MIDI
- [Protocole de Messages MQTT](https://elysiatools.com/fr/samples/mqtt-samples): Exemples du protocole MQTT (Message Queuing Telemetry Transport) pour IoT et messagerie en temps réel avec des modèles publication/abonnement
