# Decoder für das MIDI-1.0-/MIDI-2.0-UMP-Wire-Protokoll (Universal MIDI Packet, Channel Voice, SysEx 7/8 Bit) und Bytezähler

Fügen Sie einen Hex-Strom ein: Dekodierung eines MIDI-1.0-Bytestroms (Running Status, System Common/Real Time, SysEx) oder eines MIDI-2.0-UMP-Stroms — 0x0 Utility, 0x1 System, 0x2 MIDI-1.0-Channel-Voice, 0x3 SysEx 7-Bit, 0x4 MIDI-2.0-Channel-Voice (16-Bit-Velocity + 7.9-Pitch-Attribut), 0x5 SysEx 8-Bit/Mixed Data, 0xD Flex Data, 0xF UMP Stream; Zählung von Bytes/Paketen/Wörtern, Prüfung reservierter Felder und der SysEx-Zustandsautomaten sowie Übersetzung zwischen MIDI 1.0 und UMP.

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

- **Kategorie:** Media

- **Schlagwörter:** Universal MIDI Packet, UMP, MIDI 2.0, MIDI-1.0-Protokoll, SysEx, Channel Voice, Pitch 7.9, Paketdecoder

## Überblick

UMP-Pakete haben eine feste Länge pro Typ (0x0/0x1/0x2: 1×32-Bit-Wort; 0x3/0x4: 2 Wörter; 0x5/0xD/0xF: 4 Wörter; 0x6-0xE in UMP 1.1 reserviert), der Typ steht im hohen Nibble des ersten Bytes. Statustabelle MIDI 2.0 Channel Voice (MT 0x4): 0x0/0x1 Registered/Assignable Per-Note Controller, 0x2 RPN, 0x3 NRPN, 0x4/0x5 Relative RPN/NRPN, 0x6 Per-Note Pitch Bend (32 Bit), 0x8/0x9 Note Off/On (16-Bit-Velocity + Attributtyp 1 = Pitch 7.9: 7 Bit Halbton + 9 Bit Fraktion, 512 Schritte pro Halbton), 0xA Poly Pressure, 0xB Control Change (32 Bit), 0xC Program Change (Bank-Bit + Programm + MSB/LSB), 0xD Channel Pressure, 0xE Channel Pitch Bend (32 Bit, Zentrum 0x80000000), 0xF Per-Note Management. SysEx7: stets 2 Wörter (bis 6 Bytes); SysEx8: stets 4 Wörter (1 Byte Stream-ID + bis 13 Bytes). Die MIDI-1.0-Dekodierung folgt der Original-Spezifikation: Running Status nur für Channel-Nachrichten, System Real Time ist interpolierbar ohne Aufhebung, System Common/SysEx heben ihn auf. Layouts kreuzgeprüft mit Linux-Kernel, JUCE und cmidi2.

## Eingaben

- **Hex-Datenstrom (MIDI-1.0-Bytes oder UMP-Wörter)** (textarea): 40 90 3C 01 D2 00 0B 00 … (spaces, commas, 0x prefixes and newlines are all accepted)
- **Protokoll** (select)
- **MIDI 1.0 → UMP übersetzen** (checkbox)
- **UMP-Gruppe für übersetzte Pakete (0-15)** (number)

## Wann verwenden

- Beim Debuggen von MIDI-2.0-Treiberimplementierungen oder Audio-Plug-ins zur Überprüfung von UMP-Paketstrukturen und 32-Bit-Wörtern.
- Zur detaillierten Inspektion von MIDI-1.0-Byteströmen mit Running Status, System Real-Time-Interleaving und System-Exclusive-Dumps.
- Bei der Entwicklung von Übersetzungsschichten zwischen herkömmlichen MIDI-1.0-Nachrichten und UMP-Gruppen.

## Funktionsweise

- Fügen Sie die Hexadezimaldaten mit oder ohne Präfixe (z. B. 0x) und Trennzeichen in das Eingabefeld ein.
- Wählen Sie das gewünschte Protokoll (MIDI-2.0-UMP-Strom oder MIDI-1.0-Bytestrom) und optional die Konvertierungsoption inklusive Ziel-UMP-Gruppe aus.
- Das Tool parst die Datenstruktur, zählt Bytes, Wörter sowie Pakete, validiert reservierte Bits und gibt eine aufgeschlüsselte Protokolltabelle aus.

## Anwendungsfälle

- Verifikation von 32-Bit-High-Resolution-Parametern wie Controllerwerten oder Channel Pitch Bend in MIDI-2.0-Hardware.
- Analyse fragmentierter SysEx-Meldungen über mehrere UMP-Pakete hinweg zur Validierung von Endgeräte-Firmware.
- Berechnung des tatsächlichen Byte- und Wort-Overheads beim Vergleich von MIDI-1.0- und UMP-Datenströmen.

## Häufig gestellte Fragen

### Welche UMP-Nachrichtentypen (Message Types) werden unterstützt?

Unterstützt werden Utility (0x0), System (0x1), MIDI 1.0 CV (0x2), SysEx 7-Bit (0x3), MIDI 2.0 CV (0x4), SysEx 8-Bit (0x5), Flex Data (0xD) und UMP Stream (0xF).

### Wie wird das Pitch-7.9-Attribut bei MIDI 2.0 Note On interpretiert?

Es teilt die 16-Bit-Angabe in 7 Bit Halbtonschritt und 9 Bit Bruchteil auf, was 512 Teilschritte pro Halbton ergibt.

### Wie verhält sich der Decoder bei MIDI 1.0 Running Status?

Er behält den Status für Kanalnachrichten bei, erlaubt unverändertes Interleaving von System Real-Time-Bytes und bricht den Status bei System Common oder SysEx korrekt ab.

### Worin unterscheiden sich SysEx7- und SysEx8-Pakete im UMP-Format?

SysEx7 nutzt stets 2 Wörter (bis zu 6 Datenbytes), während SysEx8 stets 4 Wörter umfasst (1 Byte Stream-ID plus bis zu 13 Datenbytes).

### Können MIDI-1.0-Byteströme direkt in UMP konvertiert werden?

Ja, durch Aktivierung der Übersetzungsoption werden MIDI-1.0-Bytes automatisch in UMP-Pakete einer wählbaren Gruppe (0–15) übersetzt.

## Ähnliche Tools

- [DSD-zu-PCM-Konverter](https://elysiatools.com/de/tools/dsd-to-pcm): Konvertiert DSD-(Direct Stream Digital)-Audiodateien in das PCM-WAV-Format mit wählbarer Bittiefe und Abtastrate
- [HDR-AVIF-zu-SDR-PNG-Tonemapper](https://elysiatools.com/de/tools/hdr-avif-to-sdr-png): Dekodiert PQ- oder HLG-AVIF, konvertiert BT.2020 nach sRGB und bildet Lichter in SDR-PNG ab.
- [A1Z26 Buchstaben-Zahlen-Werkstatt](https://elysiatools.com/de/tools/a1z26-letter-number-workbench): Wandelt zwischen Buchstaben und Zahlen um (A=1…Z=26) mit Trennzeichen/Groß-Klein, dekodiert Zahlen zu Buchstaben und summiert Buchstaben.
- [Mikrotonaler Tutor für Blues/Raga/Maqam (MIDI-2.0- und MPE-Kodierung + Scala-Export)](https://elysiatools.com/de/tools/blues-ragas-modes-microtonal-pitch-bend-midi-2-and-maqam-tuning-tutor): Kodierung: Jede Stufe nimmt die nächstgelegene MIDI-Note; die Abweichung wird ausgedrückt als (a) RPN-1-Feinstimmung (±100 Cent auf 14 Bit, ~0,0061 ¢/LSB; in MPE hat jede Note ihren Kanal, also Stimmung pro Note); (b) 14-Bit-MPE-Bend = 8192 × Abweichung in Halbtönen ÷ Bereich (MPE-Standard ±48 pro Note und ±2 Master, über RPN 0); (c) der 32-Bit-Bend von MIDI 2.0 wird vom Zentrum 0x80000000 im selben Bereich skaliert (32-Bit-Feld, nicht 64); (d) das Pitch-7.9-Notenattribut (Typ 1) ist ein vorzeichenloses 7-Bit-Halbton- + 9-Bit-Fraktions-Festkomma (512 LSB pro Halbton), gewählt ab der note unterhalb des Ziels. Die 22-Shruti-Verhältnisse nach Thakur (2015); Maqamat sind auf das arabische 24-EDO quantisiert, die lebendige Praxis ist freier; jedes Gamelan stimmt anders — die Tabelle gibt Untersuchungsnäherungen; A440-Raster: ¢ = 1200·log₂(n/8). Die .scl folgt der Huygens-Fokker-Norm (1/1 implizit, Verhältnis- oder Cent-Zeilen, Periode am Ende).
- [X.509-Zertifikats-Decoder](https://elysiatools.com/de/tools/certificate-decoder): Analysiert ein X.509-SSL/TLS-Zertifikat (PEM einfügen oder .pem/.crt hochladen) und zeigt Subject, Issuer, Gültigkeitszeitraum mit Ablaufstatus, öffentlichen Schlüssel, Signaturalgorithmus, Seriennummer, SAN, Schlüsselverwendung und Fingerabdruck. Wie openssl x509 -text, visualisiert. Lokal.
- [Strom-/Gas-/Wasserrechnungs-Decoder und Detektor versteckter Gebühren (CSR/CFL/MHC/HFA-Rider · Spitzenlast · kWh/Btu/therm-Umrechnung)](https://elysiatools.com/de/tools/csr-cfl-cfl-mhc-hfa-btu-ton-hours-utility-bill-line-item-validator-and-rgp-peak-explainer): Fügen Sie Rechnungspositionen ein: Klassifizierung und Erklärung von Grundpreis, Leistungsentgelt, Hoch-/Niedertarif, Transport-/Verteilungs-Ridern, Erneuerbaren-Fonds, Decoupling, Capacity Tag; Umrechnung kWh↔Btu↔therm↔Ccf↔m³↔Tonnenstunden nach EIA-Faktoren; versteckte Fixkosten und Einsparprojektionen.
- [Decoder fuer Distributed Traces und Waterfall-Ansicht](https://elysiatools.com/de/tools/distributed-trace-decoder-waterfall-visualizer): Analysiert Jaeger-, Zipkin- oder OpenTelemetry-Trace-JSON und visualisiert Spans, Laufzeiten und Fehler
- [Erweiterte Text-Codecs (Base65536 + netstring)](https://elysiatools.com/de/tools/extended-text-base-codecs): Kodiere/Dekodiere mit selteneren Codecs: Base65536 (binär → dichtes Unicode) und netstring (selbstbegrenzendes Framing).

## Beispiele

- [QUIC-Protokoll-Beispiele](https://elysiatools.com/de/samples/quic-protocol-samples): Umfassende QUIC-Protokoll-Beispiele, einschließlich HTTP/3-Implementierung, zuverlässigem UDP-Transport, Verbindungsmigration und Performance-Optimierung
- [AMQP Nachrichtenprotokoll](https://elysiatools.com/de/samples/amqp-samples): AMQP (Advanced Message Queuing Protocol) Beispiele für Enterprise Messaging mit RabbitMQ, Queues, Exchanges und erweiterten Routing-Patterns
- [MIDI-Beispiele](https://elysiatools.com/de/samples/midi-viewer-samples): Beispiel-MIDI-Datei für den MIDI-Viewer
- [MQTT Nachrichtenprotokoll](https://elysiatools.com/de/samples/mqtt-samples): MQTT (Message Queuing Telemetry Transport) Protokollbeispiele für IoT und Echtzeit-Nachrichtenübermittlung mit Publish/Subscribe-Patterns
