XG Manager 1.6.0 not handling GM2 Active Sense

15 posts / 0 new
Last post
Greg Holwell
Greg Holwell's picture
XG Manager 1.6.0 not handling GM2 Active Sense
Greg Holwell
Greg Holwell's picture

I am running XG Manager 1.6.0 x64 Portable  on Windows 10 Update 1909 with the MIDI In from my Yamaha PSR.-S910 .keyboard and MIDI Out to a Yamaha MU10 box compatible with the DB50XG using QS300 voices. When I held a chord, the ciircuit generated fake Note Ons at the same time as the MIDI In light on my USB MIDI Interface. A check via MIDI Tools 2.2.0 x64 Portable sbowed that the keyboard was generating a hexadecimal FE byte on each pulse, which is Acti e Sense required by the General MIDI Le el 2 srandard.

 

 

Greg Holwell
Greg Holwell's picture

I also get this problem with XG Manager 1.5.2a1 but I did not with Windows 10 Update 1809 so I suspect the problem  is with Windows' USB MIDI Interface driver itself (Build 10.0.18362.997 dated 17 July 2020).

Greg Holwell
Greg Holwell's picture

The problem does not occur when I use another XG editor (XG-Gold 3.0) in place of XG Manager.

Mark van den Berg
Mark van den Berg's picture

XG Manager's main function is to configure an XG synth. It does this by sending MIDI messages (mostly System Exclusive) to the MIDI output device selected in its "XG synth options" dialog box (provided that this device has been enabled on the Output tab of the "MIDI devices" dialog box).
Note that no MIDI input device is involved in this.

If you want to simultaneously play notes on this XG synth, you have several options:

1. Generate note messages in XG Manager's "MIDI keyboard" window, and send these messages to the MIDI output device selected in the "XG synth options". (Of course this isn't viable for "serious" play.)

2. Generate note messages on an external keyboard and merge these note messages with the configurational messages coming from XG Manager.
There are several ways of doing this:

a. Merge the messages in an external device capable of doing so. For instance you can use the MIDI Thru facility of a MIDI-to-USB device, whereby the MIDI-to-USB device directly passes any messages arriving at its MIDI input socket to its MIDI output socket. Thus, the XG synth receives both the note messages (from the MIDI input socket) and the configurational messages (from the computer via the USB cable).

b. Send the note messages from an external keyboard to a MIDI input device on the computer, and have Windows' MIDI Thru facility pass these messages to the same MIDI output device as to which XG Manager sends its configurational messages. You can set this up via any application capable of configuring Windows' MIDI Thru facility; the natural choice for this is XG Manager, but it could be MIDI Tools or whatever (provided that the MIDI output driver supports at least two simultaneous "clients").
Note that Windows' MIDI Thru facility works independently of the application initiating the connection: Windows simply passes on all "short" MIDI messages (i.e. all messages except System Exclusive) directly from the input device to the output device. The initiating application is not involved in any way with what gets passed.

So concerning your suspicions about Active Sensing: whether Active Sensing is passed via Windows' MIDI Thru depends on Windows' MIDI Thru system itself, and on the MIDI input and output drivers connecting the hardware (e.g. the MIDI-to-USB device). (In fact, in my experience many MIDI I/O drivers for Windows suppress all Active Sensing messages.)
XG Manager (or any other application in which you set up Windows' MIDI Thru) is not responsible for this.

I don't know why things are going wrong in your situation. Two remarks though:

1. Whatever your setup, it should not merge duplicated note messages. For instance, if your MIDI-to-USB device has its own MIDI Thru (by which anything received at the MIDI input socket is automatically passed to the MIDI output socket), then you should not also route the note messages arriving at the MIDI input socket back to the MIDI output socket via Windows' MIDI Thru (e.g. set up by XG Manager). (In other words: it should be either setup 2a or 2b above, not both.) Your mention that you’re getting "fake Note Ons"; this might be due to duplicated note messages.

2. The DB50XG manual says this about Active Sensing:

Once FE has been received, if no MIDI data is subsequently received for longer than an interval of approximately 300msec, the DB50XG will perform the same function as when ALL SOUNDS OFF, ALL NOTES OFF and RESET ALL CONTROLLERS messages are received, and will then return to a status in which FE is not monitored.

This is standard behavior. Although this behavior often causes problems, I don't immediately see how it could be responsible for the behavior you're describing.

Hope this helps,
   Mark.

Greg Holwell
Greg Holwell's picture

When I bring up XG Manager or send a setup, I always wait for the "signal in" LED on the MU10 to stop illuminating, which indicates XG Manager's system-exclusive transmission is complete, before playing a note. What I call "fake note on's" are triggered on the beat of the active sense bytes for note numbers which I did not play and have no equivalent note offs, requiring me to do a Send XG System On to mute them. I have recently acquired a Steinberg UR22C USB audio/MIDI interface box and will test with its MIDI drivers.

 

Greg Holwell
Greg Holwell's picture

It works with the following configuration:

MIDI input device: USB MIDI Interface, Thru output device: Steinberg UR22C-1
MIDI output device: Steinberg UR22C-1 Thru input device: None
XG synth/MIDI output device: Steinberg UR22C-1

Greg Holwell
Greg Holwell's picture

I have re-downloaded the 64-bit portable XG Manager 1.6.0 and cannot get it to work with the USB MIDI Interface and Steinberg UR22C USB/audio interface both plugged in when the computer is switched on and the MIDI devices defined as above.   Just to test out a simple non-QS300 situation I set Part 1 to the program Big Lead, saved it to Big Lead.stp and restarted with that file.  The lines included:

MidiThruDevices=19:0/Steinberg UR22C-119:0/Steinberg UR22C-1
MidiInEnabledDevices=20:0/USB MIDI Interface
MidiOutEnabledDevices=19:0/Steinberg UR22C-1
XGMidiOutDevice=0/Steinberg UR22C-1

Mark van den Berg
Mark van den Berg's picture

XG Manager only makes a MIDI Thru connection between an input and an output device if both devices are enabled.
The fragment from your stp file shows that your Steinberg input device hasn't been enabled. As a result XG Manager doesn't actually make the intended MIDI Thru connection from the Steinberg input device to the Steinberg output device.

Greg Holwell
Greg Holwell's picture

The intended MIDI Thru connection is from the USB MIDI Interface's input to the Steinberg's output, and that is what was not working - note-on's are not being received by the MU10 which would otherwise flash its Power LED (as it does when I use my other XG editor). There is nothing connected to the Steinberg's MIDI In.

Greg Holwell
Greg Holwell's picture

Also, the View->MIDI Output Meters show no Note messages being passed to the Steinberg on Channel 1

Greg Holwell
Greg Holwell's picture

The View->MIDI Input Meters do show note messages being passed from the USB MIDI Interface on Channel 1. So the MIDI Thru is the prime suspect.

Greg Holwell
Greg Holwell's picture

I tried all of this under a brand new copy (i..e. no configuration files carried over from the previous version) of XG Manager version 1.6.1 in its 64-bit portable guise.  I set up the MIDI devices as before::
Input - USB MIDI Interface
Thru output device: Steinberg UR22C-1
Output - Steinberg UR22C-1
Thru input device - [None]
XG synth  options - MIDI output device - Steinberg UR22C-1
 
The results are the same (i.e. MIDI Thru not working for note-on/offs), and this time I noticed that when I did MIDI>Send Setup, the MIDI output meter showed SysEx being sent, and the power LED on the synth connected to the Steinberg's MIDI Out flashed off and on to indicate received data. These were the appropriate lines from the .stp file:

MidiThruDevices=19:0/Steinberg UR22C-119:0/Steinberg UR22C-1
MidiInEnabledDevices=20:0/USB MIDI Interface
MidiOutEnabledDevices=19:0/Steinberg UR22C-1
XGMidiOutDevice=0/Steinberg UR22C-1

I get the same results with the 64-bit portable edition of version 1.7.0a1 .

I am wondering if the problem is that MIDIThruDevices has the same device name mentioned twice.

Greg Holwell
Greg Holwell's picture

Changed the synth's MIDI In from the Steinberg's MIDI Out to the USB MIDI Interface's MIDI Out

Tried 1.7.0a1 with a different configuration:
MIDI Devices - Input = USB MIDI Interface, Thru Output Device = USB MIDI Interface
                        Output = USB MIDI Interface, Thru Input Device = [None]
XG Synth - MIDI Output Device = USB MIDI Interface

Part 1 = program Big Lead, save setup as Big Lead.stp
MIDI Input Meter set to USB MIDI Interface, shows Channel 1 (I was expecting Note messages) and Other
MIDI Output Meter set to USB MIDI Interface, shows no note messages on Channel 1, shows SysEx when I do MIDI>Send Setup

Relevant lines from Big Lead.stp:

MidiThruDevices=19:0/Steinberg UR22C-120:0/USB MIDI Interface
MidiInEnabledDevices=20:0/USB MIDI Interface
MidiOutEnabledDevices=20:0/USB MIDI Interface
XGMidiOutDevice=0/USB MIDI Interface

What is the Steinberg doing there when none of its MIDI ports are active?

Greg Holwell
Greg Holwell's picture

Mark, I read your post in detail and it appears to me that option 2b may be the case: the output drivers for the USB MIDI Interface (which generate the spurious note-ons) and the Steinberg UR22C (for which the MIDI Thru doesn't work) might not accept multiple clients. I will take a good look at the manual re MIDI pipes.