fbpx
Skip to main content

MIDI Forum

Reading a MIDI Syse...
 
Notifications
Clear all

Reading a MIDI Sysex message

3 Posts
3 Users
0 Reactions
7,278 Views
Dominik
Posts: 3
Active Member
Topic starter
 

While I've been able to deduce that a MIDI Sysex message starts with F0 and ends with F7, is there any way to know the rest of the message and what it does?

Say there is a MIDI message being sent with the following: F0 00 20 1c 7f 04 02 01 F7

I think the bytes in the message above for 00 20 1c are the Manufacturer's ID. Which leaves the following bytes: 7f 04 02 0

 
Posted : 06/05/2021 10:21 am
Geoff
Posts: 1041
Noble Member
 

Hello,

The type of message you describe here is a SysEx (System Exclusive) message. Yes, it is a 'midi message', but it's a specific sub-section of midi messages. The majority of midi messages are smaller, and relate to Note On/Off instructions, and other messages relating to musical data. These are standard, and their function is described in the Midi File specification.

Relating to your question, the big problem with SysEx data is that it is specific to indiv manufacturers, and specific devices, and messages may be created however required, and may not fit any specific pattern. There are some general SysEx messages which may be used by different makers, for example a GS Reset, but otherwise you might study a manual for, say, a Roland device, and find that a specific instruction does xxx, but the same instruction (or even similar) might do something different on a Yamaha device.

Geoff

 
Posted : 06/05/2021 10:41 am
Mike Kent
Posts: 86
Trusted Member
 

Yes, the first 3 bytes are the manufacturer. However, there are several special values for the first byte of those 3:
7D = Non-commercial, not released to the public. For educational, research, etc. You should not find these "in the wild".
7E = Universal Exclusive ID (Non-Real Time)
7F = Universal Exclusive ID (Real Time)
Data for the 2 Universal Exclusive ID types are found in MIDI Specifications.

When you have 3 bytes to identify a specific manufacturer, the manufacturer gets to define all bytes that follow, then close with the F7.
A list of manufacturer IDs is here: https://www.midi.org/specifications-old/item/manufacturer-id-numbers
From that table, your example message is apparently meant for use by Artisan Classic Organ Inc.
You can only discover the meaning of the bytes after that ID in any information that Artisan might publish.
Products designed by Artisan Classic Organ and any products designed specifically to work with a product by Artisan will know what the data means.
Other MIDI products which do now "know" the message design by Artisan are not supposed to act in response to the message.

Mike.

Chair of MIDI 2.0 Working Group

 
Posted : 07/05/2021 5:05 pm
Share: