[sdiy] MIDI control syntax to debug 16 bits values on the MIDI steam using MIDI-OX MIDI monitor ?
brianw
brianw at audiobanshee.com
Sun Jan 12 00:04:07 CET 2025
On Jan 11, 2025, at 2:50 PM, Gordonjcp wrote:
> On Sat, Jan 11, 2025 at 04:49:26PM -0500, Jean-Pierre Desrochers via Synth-diy wrote:
>> I’m debugging a PIC program that normally sends MIDI data on one of the micro’s UART port.
>>
>> And that works fine.
>>
>> But I’m in a debugging section where I’d like to use this MIDI output port
>> to output 16 bits datas (2 consecutives bytes) wired on my Windows MIDI-OX MIDI stream monitor.
>> The thing is that this program check the incoming MIDI command data values
>> and do not show those that would exceed standard MIDI specs..
>>
>> So my question is :
>>
>> Is there a MIDI command (SYSEX or whatever..) that I could put 2 consecutive 8 bits datas in
>> and would be accepted in the standard MIDI protocol ??
>
> Do what everyone else does and send it as sysex with the 8-bit bytes broken up into 4-bit nybbles
That works, and it's quite easy to implement, but not everyone does it that way. When there is a lot more than 16 bits, some manufacturers were more efficient in packing 7 bits per byte, or at least more than 4 bits.
Ensoniq packed 16-bit sample data into three SysEx bytes, with the 4 high bits in the first byte, 6 middle bits in the second byte, and the lowest 6 bits in the third byte. When sending a 16-bit wavesample, this was quite a bit faster than 4-bit chunks.
The one thing for certain is that nobody puts more than 7 bits in each byte, because that breaks the MIDI stream.
Brian
More information about the Synth-diy
mailing list