Menu
Home
Forums
New posts
Search forums
What's new
Featured content
New posts
New media
New media comments
New resources
Latest activity
Media
New media
New comments
Search media
Resources
Latest reviews
Search resources
Misc
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Menu
Log in
Register
Install the app
Install
Home
Forums
Labrish
Nalij
Jinaral kantent
Standard MIDI files drop your per-note expression
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
[QUOTE="Queen, post: 90556, member: 27"] Ableton's Export MIDI Clip command writes a single track with every event on channel 1, which is the exact opposite of what MPE needs to survive. That is not a bug. A standard MIDI file is a MIDI 1.0 container, and it stores a list of note events with timing. It was never designed to hold a performance in the sense you mean when you play a touch surface. None of this matters while the data stays inside the session. It starts mattering the second you move it, and [B][URL='https://goldmidi.com/community/threads/your-daw-can-record-desktop-audio-without-a-virtual-cable.75926/']MIDI you captured without arming a track[/URL][/B] is exactly the kind of material you move, because you grabbed it to use somewhere else. [HEADING=2]MPE only works if the channels survive[/HEADING] MPE has no special message for expression. It borrows the channel system instead. In a standard lower zone, channel 1 acts as master and channels 2 through 16 hold the notes. Every sounding note gets its own channel for the length of its note-on and note-off, which is why the practical polyphony is fifteen. The pitch bend on that channel belongs to that note and nothing else. Collapse everything to channel 1, and the notes still play. [B]Per-note pitch and pressure data[/B] stops being addressable, because fifteen independent bend streams now share one lane and the last one written wins. You get the right pitches at the right times with the performance sanded off. Pitch bend range is the second casualty. Member channels are commonly set to 48 semitones either way, four octaves, configured by an RPN message at the start. Lose that message on export and every bend arrives at the receiving instrument scaled to its default of two semitones. A gentle slide becomes almost nothing, or a subtle vibrato becomes a siren, depending on which end got it wrong. Cubase handles this by writing note expression out as ordinary controller data, which is honest about the limitation rather than pretending. Multiple notes bending at once still collapse into one pitch bend track. [HEADING=2]Seven bits is the ceiling on everything else[/HEADING] Controller resolution is where the losses get quieter and harder to spot. A MIDI 1.0 continuous controller carries seven bits. That is 128 steps for brightness, for pressure, for anything you moved with your finger. Pitch bend gets fourteen bits and is the one comfortable parameter in the format. MIDI 2.0 moved controllers to 32 bits and velocity to sixteen, which is roughly 4.2 billion steps against 128, and 65,000 velocity levels against the same 128. Per-note controllers became a first-class message rather than a channel trick. None of that fits in a .mid. Universal MIDI Packets are not represented in the standard MIDI file format, so anything captured at high resolution is scaled down to 7 bits on the way out. The file opens everywhere. It just holds a coarser version of what you played. Timing gets rounded too. Ableton writes exported events to a 96-tick-per-quarter grid and shifts them to fit, which is fine for quantized parts and audible on anything you played loosely. [HEADING=2]The companion file is the only lossless copy[/HEADING] The MIDI Association published a clip file specification in 2023 that stores UMP messages natively, 32-bit aligned, keeping per-note controllers and attribute data intact. It is deliberately narrow. The spec represents one track's worth of material, roughly an alternative to a single track in a standard MIDI file, so it is not a replacement for a multi-track arrangement. A container format for that is still pending. Tools that capture high-resolution MIDI tend to solve this locally by writing two files. A .mid that anything can open, and a proprietary companion holding the full stream, sitting next to it with the same name. The two files serve different jobs. A .mid goes to the collaborator on a different system, the arranger who needs notes and nothing more, and the archive that has to still open in fifteen years. The companion goes back into the same tool with everything you actually recorded, and it is worthless anywhere else. [/QUOTE]
Insert quotes…
Name
Post reply
Home
Forums
Labrish
Nalij
Jinaral kantent
Standard MIDI files drop your per-note expression
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.
Accept
Learn more…
Top