Talk to other MIDI Designer users about MIDI Designer, iOS MIDI and related topics. Or share layouts, pages, and ideas.

Check out our Facebook Group.

Of course, if you want to send us an email, feel free.

Open problem reports

Summary of user requests

MIDI Designer
Design your perfect MIDI controller for iPad, iPhone, and Mac
SysEx with values over than 7F - MIDI Designer Q&A

SysEx with values over than 7F

+1 vote
related to an answer for: Sysex command in ascii
asked Dec 24, 2012 in Suggestions by anonymous
Hmmm, Well sorry but you are wrong, there are higher values in a sysex string. The start and stop value confirms this. And I cant send a control message or note to a seperate device in a midichain without the sysex with any mididevice. Every device in that chain with the same midichannel active will excecute the command....

As you recomended late in the message to send sysex, well that's the problem... You can't type anyting higher than 127(7F) it won't work. And that's what the question was all about in the first place...
Dear sigglung,
Please, I am not wrong...

Maybe you mean simple MIDI commands (Note ON, Start/Stop, Control Change, etc), not SysEx message string.

YES, as you wrote, there are higher values as for example 0xFA (start), 0xFC (stop), etc.
BUT, these values are not included in a SysEx message string. These midi commands are not a part of SysEx message string. These midi commands are emitted individually, following a little bit different (easier) rules from the side of the midi player.

Also controllers and program changes (0xBn and 0xCn) are over as values BUT the transmission of these data follow completely different way - rules, mean are NOT between 0xF0...0xF7, mean are NOT inside a SysEx message string.

When we say SysEx message string, we mean something like this:
0xF0, Manufacturer ID, Device ID, Model ID, Command ID, Address (MSB...LSB), Data (0x00-0x7F), CheckSum, 0xF7
On the above example is not possible to have value (e.g. Data) over 0x7F. All values between 0xF0 and 0xF7 must be from 0x00 to 0x7F (0 to 127).

In some special cases where we need values over 0x7F, we must divide these values using MSB and LSB, depending the case and the specification of the receiver (Midi Device, e.g. sound module).

In the MIDI protocol we have some different types of commands - messages e.g.:
Note On/Off = 3 bytes length fixed
Control Change = 3 bytes length fixed
Program Change = 2 bytes length fixed
Start/Stop = 1 byte length fixed
SysEx = vary length <<< not fixed

In each of the above, the "Midi player" handle - manipulate the command - message in different way. Especially the SysEx message string, because its length is not fixed.

Thanks.

♪♫♪
Ok, fair enough. I guess I'm wrong. =) I'm not an experienced programmer in that way.

I guess I believed that channel messages and MTC and like, could be individually adressed(To a single mididevice) via a sysex string. And that is not possible then i guess?

//Sigge
Depending the case...

Basically, channel messages received by all midi devices are in the same midi chain and have open (Receive ON) the specific midi channel without any midi filtering from midi device side (e.g. Note, CC, SysEx, e.t.c.).

If you send channel messages to more than one midi device (in the same midi chain), you can filter the messages that will be accepted or ignored by the midi device itself, using his filtering midi options.
Of course, depending the programming capabilities of the (each) midi device.

Example of "same midi chain":
Controller Midi Out > Device 1 Midi In > Device 1 Midi Thru > Device 2 Midi In > Device 2 Midi Thru > Device 3 Midi In > e.t.c.

♪♫♪

1 Answer

0 votes
=) Well yes that´s basic midi, and that I understand. We can leave this subject now if there are no other interrested in this matter. I got the questions I wanted answered, and since its a very special device I'm trying to make a controller to, I have to figure out adifferent way.
answered Jan 14, 2013 by sigglund (360 points)
...