Description
Join MIDI least-significant then most-significant seven-bit data bytes into an unsigned fourteen-bit integer.
MIDI 1.0 channel messages use a status byte identifying a message type and a channel, followed by one or two seven-bit data bytes. This family uses channel indexes 0–15 and raw program values 0–127. Raw message bytes do not include musical timing, instrument state or a MIDI file container.1
Join MIDI least-significant then most-significant seven-bit data bytes into an unsigned fourteen-bit integer.
When to use this tool
Use this tool to join MIDI least-significant then most-significant seven-bit data bytes into an unsigned fourteen-bit integer.
How to use the tool and how it works
- Enter lsb, msb using the field definitions below.
- Run the operation. Correct input errors before interpreting an output.
- Read result.value. Use the ordering, boundary rules and absence conditions described below.
Require two seven-bit data bytes and return lsb + 128 × msb.2
| Input field | Meaning and units | Accepted input |
|---|---|---|
| lsb | Least-significant seven-bit component, integer 0–127. | A finite safe integer within the operation’s stated bounds. |
| msb | Most-significant seven-bit component, integer 0–127. | A finite safe integer within the operation’s stated bounds. |
| Output field | Interpretation |
|---|---|
| result | Object containing the named fields below. |
| result.value | Unsigned fourteen-bit value or caller-range pressure mapping, as described above. |
{
"input": {
"lsb": 1,
"msb": 64
},
"output": {
"result": {
"value": 8193
}
}
} Limitations and assumptions
- The order is least-significant byte first; the result is an unsigned integer from 0 through 16383.
- Message data bytes must be integers 0–127 and channel statuses 128–239. Channels are zero-based; this family does not implement MIDI 2.0 UMP, audio synthesis or a complete timed MIDI file.
- Every declared top-level input field is required and unexpected fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
- Numeric outputs must be finite and no larger in absolute magnitude than the safe-integer limit; operations returning exact large integers use decimal text. Positions are zero-based and spans end exclusively unless the operation explicitly states a different convention.
Alternative or Complementary methods
Separate channel-message encoding from timing, running status and device interpretation. Use a MIDI sequencer or full file/stream parser when those additional layers matter.
References
-
Summary of MIDI 1.0 Messages — The MIDI Association
-
Tool behavior and example: MIDI Seven Bit Pair Fourteen Bit Join — tool.io
Similar or alternative tools
- MIDI Fourteen Bit Seven Bit Pair Split
Split an unsigned MIDI fourteen-bit value into its least-significant and most-significant seven-bit data bytes.
- MIDI Fourteen Bit Controller Pair Audit
Audit explicit MSB/LSB controller-pair occurrences per channel; only a unique pair yields a fourteen-bit value, no temporal pairing guesses.