fbpx
Skip to main content

MIDI Forum

System exclusive ev...
 
Notifications
Clear all

System exclusive events GM Reset

5 Posts
3 Users
0 Reactions
5,099 Views
Carlos
Posts: 86
Estimable Member
Topic starter
 

I know these system exclusive events that indicate system MIDI

[code type=markup]GM System On = F0 7E 7F 09 01 F7
GM System Off = F0 7E 7F 09 02 F7
GM2 System On = F0 7E 7F 09 03 F7
XG System On = F0 43 10 4C 00 00 7E 00 F7
GS System On = F0 41 10 42 12 40 00 7F 00 41 F7[/code]

But what are these others for? Are they equivalent?
[code type=markup]XG Works On = F0 43 76 1A 10 01 01 01 01 01 01 01 01 F7
Yamaha = F0 43 73 39 F1 00 46 00 F7
XG Reset = F0 43 10 4C 00 00 7F 00 F7[/code]
I found them in http://www.jososoft.dk/yamaha/articles/midi_10.htm

In http://www.studio4all.de/htmle/main91.html it says that I have to wait for 50 ms for XG and GS. Does this also apply to the others?

Another question, if I want to reset everything regardless of the system used, just GM off is enough?

 
Posted : 24/02/2023 4:28 pm
Geoff
Posts: 1043
Noble Member
 

Tread a bit carefully here.

SysEx messages are essentially exactly that. They are messages that should be regarded as being exclusive to a specific device.

However, certain SysEx messages have become standard, and other manufacturers have adopted them. But not necessarily ALL manufacturers.

The GM, XG and GS resets seem to have been very widely adopted. But there will still be similar messages about from earlier, that might still apply to certain systems ONLY. If you see other messages referred to, check when this information is dated. And if it might be referring to a specific manufacturer, or even device.

If you specifically need other messages, by all meant try others that might apply, they are unlikely to do any harm.

For example, the three 'extra' ones you refer to. The second byte is 43 (hex) and this I think is the code for Yamaha so any non-Yamaha device may disregard the message.

Geoff

 
Posted : 25/02/2023 10:31 am
Bavi_H
Posts: 267
Reputable Member
 

In this post:

1. "On" and "Reset"
2. About System Exclusive messages
3. "Microsoft"
3.1. About Meta Events and Sequencer-Specific Meta Events
3.2. About the Microsoft Sequencer-Specific Meta Event
4. XGworks
5. "Yamaha"
6. Wait
7. GM Off
7.1. Control Change Resets

__________

1. "On" and "Reset"

The System Exclusive messages to turn on GM/GS/XG modes also reset things to defaults, so you'll sometimes see them called names like "GM On", "GS On", or "XG On" and sometimes called names like "GM Reset", "GS Reset", or "XG Reset". Either kind of name is talking about the same System Exclusive message. In particular, notice that the "XG System On" message in your first block is exactly the same as the "XG Reset" message in your second block.

XG System On = F0 43 10 4C 00 00 7E 00 F7
XG Reset = F0 43 10 4C 00 00 7F 00 F7

2. About System Exclusive messages

To continue what Geoff was saying, System Exclusive messages can be used for lots of things, not just resets.

System Exclusive messages always begin with the byte F0 and end with the byte F7. After the beginning F0 byte, the next 1 byte or 3 bytes is a Manufacturer ID. (If it is 01 to 7F then it's a one-byte ID. If it begins with 00 then it's a three-byte ID.) The manufacturer assigned to the Manufacturer ID can decide what all the rest of the bytes in their System Exclusive messages mean. Any device can respond to a System Exclusive message defined by another manufacturer if they want to implement a similar feature, but they aren't allowed to create new or modified messages with another manufacturer's ID. A manufacturer has to purchase a Manufacturer ID assignment in order to make up their own new System Exclusive messages.

Universal System Exclusive messages are defined by the MIDI Manufacturers Association and are intended to be used by many devices, not a particular manufacturer. (It's kind of a weird name because it contains both "Universal" and "Exclusive" -- the "Universal" concept kind of cancels out the "Exclusive" concept.) In these messages, the "Manufacturer ID" byte is either 7E or 7F to indicate the category of Universal System Exclusive message, Non-Real Time or Real Time.

To relate this to the different systems...

General MIDI (GM) Level 1 and Level 2 are defined by the MIDI Manufacturers Association. Notice the GM Reset messages are Universal System Exclusive messages.

XG is defined by Yamaha. Notice the XG Reset message is a Yamaha System Exclusive message. XG modes are mainly found in Yamaha devices, but a device by another manufacturer might respond to some XG messages with partial compatibility.

GS is defined by Roland. Notice the GS Reset message is a Roland System Exclusive message. GS modes are mainly found in Roland devices, but a device by another manufacturer might respond to some GS messages with partial compatibility.

3. "Microsoft"

Your "Microsoft" System Exclusive message "F0 7F 00 00 41 7F" looks unusual. (F0 7F is for the beginning of Real Time Universal System Exclusive Messages which are defined by the MIDI Manufacturers Association, and not a particular manufacturer. Also, System Exclusive messages are supposed to end with F7.)

Instead, maybe you might mean this Microsoft Sequencer-Specific Meta Event:

FF 7F 03 00 00 41

Bytes Description
-------- ------------------------------------------------------------
FF Meta Event
7F Sequencer-Specific Meta Event
03 Number of data bytes (in variable-length quantity format): 3
00 00 41 Manufacturer ID: Microsoft

3.1. About Meta Events and Sequencer-Specific Meta Events

On a MIDI cable, when you are expecting a Status byte, FF is a Reset message.
In a MIDI file, when you are expecting a Status byte, FF is the beginning of a Meta Event.

Sequencer-Specific Meta Events are a similar idea to System Exclusive Events. In a Sequencer-Specific Meta Event, the first 1 or 3 data bytes is a Manufacturer ID, then any following data bytes are defined by the manufacturer assigned to the Manufacturer ID. However, a Sequencer-Specific Meta Event (as well as every other kind of meta event) has these differences from a System Exclusive message:

Meta events aren't sent to a MIDI output device. Meta events only exist in a MIDI file and are only visible to the software that accesses the MIDI file.
The data bytes in meta events are able to use all possible byte values from hex 00 to FF.
Meta events begin with a "variable-length quantity" amount to indicate the number of data bytes.

Refer to the Standard MIDI Files Specification for information about the "variable-length quantity" format, the Sequencer-Specific Meta Event, and other meta events.

3.2. About the Microsoft Sequencer-Specific Meta Event

In a previous thread you made here, you asked for MIDI files that contain rare or unusual features. In the following three posts in that thread:

I explained that CANYON.MID, PASSPORT.MID, and the other Passport Designs MIDI files that came with Windows begin with the Microsoft Sequencer-Specific Meta Event which indicates they are Multimedia PC (MPC) Specification MIDI Files.

You mentioned you have those MIDI files, but they contain a Sequencer-Specific Meta Event with a different Manufacturer ID (00 00 40) and no "Base" arrangement channels.

I replied that it looks like later versions of those files removed the "Base" arrangement channels, I was previously unaware of that. I guess the different Manufacturer ID was a simple way to disable the effect of the Microsoft Sequencer-Specific Meta Event -- the Manufacturer ID is for a presumably unrelated company (Richmond Sound Design) whose ID just happens to be one less than Microsoft's ID.

4. XGworks

XGworks is a MIDI sequencer software app made by Yamaha. I'm not sure what the "XG Works On" System Exclusive message is supposed to do, but I guess it causes something to happen in the XGworks MIDI sequencer.

5. "Yamaha"

For information about the "Yamaha" message "F0 43 73 39 F1 00 46 00 F7", I looked through several Yamaha manuals. Based on other Yamaha System Exclusive messages I saw in various Yamaha manuals, it looks like the bytes at the beginning of this message have the following meaning:

Byte  Description
---- ----------------------------------------
F0 System Exclusive
43 Manufacturer: Yamaha
73 Clavinova ID
39 CVP-79/69/59 ID or CVP-79A/69/69A/59S ID

I gave up and didn't find that exact System Exclusive message, but it looks like it is some kind of message for a Yamaha Clavinova device.

6. Wait

[quotePost id=17762]In http://www.studio4all.de/htmle/main91.html it says that I have to wait for 50 ms for XG and GS. Does this also apply to the others?[/quotePost]
The General MIDI 2 Specification says the "GM2 System On" reset operation should be completed within 100 milliseconds (maximum) after receiving "GM2 System On" message (see PDF page 26 [printed page 22]). It doesn't mention a time limit for completing the "GM1 System On" or "GM System Off" resets, and neither does the General MIDI 1 Specification (see PDF page 6 [printed page 4]).

You should probably look at the manual for a particular device to confirm how long it will take to process any particular reset message. But as some examples:

The Roland Sound Canvas SC-88 Pro needs at least 50 milliseconds (minimum) to process "GM System On" or "GS Reset" messages. (In the manual, see PDF page 193 [printed page 191].)

The Yamaha MU80 needs approximately 50 milliseconds to process "GM Mode On" or "XG System On" messages. (Yamaha MU80 manuals. In the Sound List & MIDI Data manual, see page 11.)

7. GM Off

[quotePost id=17762]Another question, if I want to reset everything regardless of the system used, just GM off is enough?[/quotePost]
If a device responds to the "GM System Off" message, then it will reset to some proprietary non-GM mode.

For example, if a device has both a GM mode and its own proprietary mode, it would probably respond to the "GM System On" message by resetting into its GM mode, and respond to the "GM System Off" message by resetting into its proprietary mode.

The General MIDI Level 2 Specification says any device that uses GM2 and "initializes" into a non-GM mode is required to respond to the "GM System Off" command by resetting back into its initial mode. In the General MIDI Level 2 Specification, see PDF page 26 (printed page 22).

You'll have to check the manual of any specific device to confirm if it responds to the "GM System Off" command.

7.1. Control Change Resets

If you don't care what is system is being used, then there's always a chance that something didn't get reset the way you expected. However, as a more general way to reset things for any kind of system, you might be interested in using some of the following Control Change messages:

Bytes     Description
-------- ---------------------
Bn 78 00 All Sound Off
Bn 79 00 Reset All Controllers
Bn 7B 00 All Notes Off

n is 0 to F for Channels 1 to 16, respectively.

Of course, when you use Control Change messages, you'll have to send the messages on every channel you want to use.

Read more about these Control Change messages in:

MIDI 1.0 Specification, PDF pages 29, 30, 67, and 68 (printed pages 24, 25, A-4, and A-5)
Response to Reset All Controllers
General MIDI Level 2 Specification, PDF pages 17 and 18 (printed pages 13 and 14)

As always, if you want to confirm exactly what these messages reset on a particular device, you should check the device manual.

__________

 
Posted : 25/02/2023 11:57 pm
Carlos
Posts: 86
Estimable Member
Topic starter
 

I would like to be able to ignore XG and GS but some files sound very bad without it.

Thanks, just what I wanted to know because I had problems resetting everything after playing a midi file, I was left with the altered sounds for the next one I played, I had tried "Reset All Controllers" but I read that it doesn't work for everyone, so I tried to send GM off, another error, I'm going to try what he said.

[quotePost id=17782]Your "Microsoft" System Exclusive message "F0 7F 00 00 41 7F" looks unusual. [/quotePost]

Sorry I made a mistake, yes it is a meta event and it is not related to this.

 
Posted : 26/02/2023 7:37 am
Geoff
Posts: 1043
Noble Member
 

Carlos,

Do you know which midi file caused the problem for you?

If you do, could you attach it?

Might be able to determine what happened, and maybe specify what to do to correct it?

You could of course merely remove any SysEx from the file, but there might have been a reason for the SysEx being there?

Geoff

 
Posted : 27/02/2023 8:42 am
Share: