Synth Forum

Notifications
Clear all

Wrong Performance selected when receiving Bank Select / Program Change Events (Zone involved)

26 Posts
2 Users
0 Likes
390 Views
Posts: 0
Active Member
Topic starter
 

I use a software to send Bank Select / Program Change Events to select MODX Performances specific for the songs in my set list. Basically this works perfect, and I can switch between Preset Performances and User Performances flawlessly.

The problem starts when I select a certain User Performance that uses the Zone feature. I created this User Performance "MIDI CH1" using a Zone to disable the internal sound generator and control an external synth. As soon as I recall MIDI CH1 it is impossible thereafter to select a Preset Performance (accessing User Performances still works). E.g. when I try to select CFX Stage (MSB.LSB.PC = 64.0.4) instead the User Performance with MSB.LSB.PC = 64.32.4 is retrieved. It looks like a bug to me, but here are my MODX settings concerning this problem.

Utility / Settings / MIDI I/O

Utility / Settings / Advanced

My Performance MIDI CH1 is based on the Init Normal (AWM2) template, and these are the Zone settings. Basically I enable the Zone, disable internal sound, and prevent sending Bank Select/ Prog Change events:

Any help is greatly apprecieated.

Michael

 
Posted : 01/07/2022 3:12 pm
Jason
Posts: 7910
Illustrious Member
 

Are you able to supply a MIDI monitor capture of the MSB/LSB/PC messages sent?

 
Posted : 01/07/2022 4:33 pm
Jason
Posts: 7910
Illustrious Member
 

I couldn't reproduce. My keyboard is a Montage, FYI.

My MIDI output monitor shows the following:

B0 00 40
B0 20 00
C0 03

I tested before making any changes and "CFX Stage" loaded. Then I changed my instrument to match many of your settings. I set the MIDI mode to "Hybrid". Then I started with "Init Normal (AWM2)", turned on Part Zone Control, and set up the settings like yours.

Both tests before and after recalled "CFX Stage".

1: "B0" means CC channel 1. "B0 00" means CC#0 (Bank MSB). "40" is hex for decimal 64. MSB=64
2: "B0" still CC channel 1. "B0 20" means CC#32 (20 is 32 hex). "00", the last parameter is 0. LSB=0
3: "C0" means PC (program change) channel 1. "03" means Program Number 4 (add one to get the program "number" ). MIDI is zero based and starts at 0, not one like the "human readable" docs that start at 1.

What I was more interested in seeing from your MIDI dumps was the order of MSB/LSB/PC. Because things could go wrong if PC is changed first.

 
Posted : 01/07/2022 7:09 pm
Posts: 0
Active Member
Topic starter
 

I'm using Cantabile as my performance software and its MIDI Monitor shows as follows.

In the first shot the MODX MIDI OUT will be routed to my Hammond clone. A Patch Select message 64.32.63 is sent to MODX, to load my "MIDI CH1" Performance. Note that I have configured Cantabile so that program numbers are zero based, so this addresses the MODX Performance 64.32.64.

Now I switch back to "Standard" mode, which is expected to load MODX Performance "Monster Lead". Cantabile sends 64.3.30 which corresponds to MODX performance 64.3.31 "Monster Lead." Instead MODX loads performance 64.32.31 which happens to be another user performance.

BTW, I cross-checked it by verifying the problem using MIDi-OX sending the patch changes manually with the same result. So Cantabile cannot be blamed for this problem.

 
Posted : 01/07/2022 9:42 pm
Jason
Posts: 7910
Illustrious Member
 

As a sanity check, you may want to run through the same set of tests without the other devices connected (XK-1C, etc).

I'm not reproducing your MIDI routing (physical connections as well as software) - so there's possibly a big difference due to that.

 
Posted : 01/07/2022 10:24 pm
Jason
Posts: 7910
Illustrious Member
 

@Bill,

The MIDI monitor output is saying (for CC):

MIDI Channel X CC #Y = Value Z

So Ch 1 Controller 32 = 32 means CC#32 is set to a value of 32. The CC number is a register and the next parameter is the value stored in this register.

CC#32 is also known as Bank LSB. So the above Ch 1 Controller 32 = 32 means Bank LSB is set to 32.

Ch 1 Controller 32 = 0 would mean Bank LSB is set to 0.

 
Posted : 01/07/2022 10:28 pm
Jason
Posts: 7910
Illustrious Member
 

All I can say without the same setup is that Montage with a direct connect to a MIDI master sending commands (and no other MIDI devices or connections) properly decodes MSB/LSB/PC messages no matter if Zone Master+Part Zone is turned on or off. Including matching the Hybrid mode advanced setting.

 
Posted : 01/07/2022 11:25 pm
Posts: 0
Active Member
Topic starter
 

Thanks guys for your input. Based on your suggestions I did some more testing strictly using MIDI-OX (and not Cantabile) and I can now confirm the following:

- When only MODX has a MIDI connection everything works fine, no problem here.

My problem starts as soon as I connect my Hammond XK-1c, It is connected to the 5pin MIDI ports of the MODX. Recall that when the MODX is in USB MIDI mode, the 5pin MIDI ports act as Thru ports. So I communicate to the MODX via the MODX-1 port of the USB connection, and with the XK-1c via the MODX-3 port.

My first attacks to the MIDI Setup of the XK-1c indicate, that the problem may be solved here. I need some more experimentation that everything will run smoothly.

When sending a Bank Select / PC to MODX-1 I did not expect that something is going on at the MODX-3 ports, but my experiments suggest that. I don't have the tools to analyze what is sent/received on MODX-3.

I will now get deeper into the XK-1c MIDI settings, so the case is closed from the MODX side. I will report if I could solve the problem at the XK-1c. Thanks again.

 
Posted : 02/07/2022 8:17 am
Posts: 0
Active Member
Topic starter
 

Hey guys

Just wanted to let you know that after hours of frustrating experiments I gave up. I found that everything works as soon as I set ZONE MASTER to off. My MIDI cabling and my Cantabile setup remains unchanged and it just works. The drawback is that there is no detailed control about the CC's being sent from MODX, but I can filter events in Cantabile if needed.

All the best
Michael

 
Posted : 02/07/2022 3:54 pm
Jason
Posts: 7910
Illustrious Member
 

What you have found is that the addition of external MIDI routing has created an issue that isn't normally there. I would expect that if you left the 5-pin MIDI DIN output (output from MODX) connected to your XK-1C and disconnected the MIDI DIN input (input to MODX) from MODX -- that removing this connection alone may make the problem "go away".

And if that's it then the problem is MIDI data coming from the XK-1C -- possibly coming from the MODX to the XK -- that's going through USB Port 3 back to Cantabile and then perhaps looped back to MODX (Port 1).

This is why I suggested I couldn't reproduce the problem because this seems more like a MIDI routing issue and the necessary equipment and software settings to reproduce this are not in front of me. I can say the keyboard itself functions properly, but there is still a missing understanding of the impacts of these connections and settings.

I can say that when Zone Control is turned off - your keyboard is in Hybrid mode which merges all of the MIDI receive channels of your keyboard control = ON Parts in MODX together on a single channel. This is not the case when you turn Zone Control on since it defeats Hybrid (and Single) MIDI modes reverting the instrument to multiple channel MIDI mode.

Lack of visibility (either through a tool, or by innate knowledge) does present a problem in terms of fixing the issue.

Cantabile Lite is free, so I could install that and then setup another keyboard as external on the 5-pin DIN and then get some understanding of your settings to try to better reproduce your configuration. The exact contribution of the Hammond won't be a part of this since I don't have that keyboard or any Hammond past or present digital products.

Do you think Cantabile Lite would be worthwhile for me to install - or do you think your software setup is more geared towards a non-free version?

 
Posted : 02/07/2022 11:58 pm
Posts: 0
Active Member
Topic starter
 

@Bill: sorry for if I was unclear

"When only MODX has a MIDI connection": I connected the MODX only to the PC and removed all other MIDI cabling to eleminate any possible side effects from the other gear. There was no problem here, proving that the MODX does react precisely to the incoming MSB.LSB,PC sent from MIDI-OX. This matches Jason's findings using his Montage.

"My problem starts as soon as I connect my Hammond XK-1c": I then hooked up the XK-1c to the 5pin MIDI ports of the MODX. Immediatly my problem (wrong MODX performance recalled) appeared. My conclusion was that the XK-1c does something unexpected. I had the XK-1c setup with a zone to control external gear. I disabled the zone and the problem went away.

At that point I thought I had found the solution. I continued with my complete gear setup, just to learn that my problem still persists, even if I remove the MIDI cabling from the XK-1c. This was very confusing to me and I have no clue what was happening here.

I was well aware of Bad Mister's article, in fact this article was the reason to change my MIDI wiring to make it simpler and more flexible regarding routing. FYI this is the MIDI wiring of my gear:

 
Posted : 04/07/2022 5:50 am
Posts: 0
Active Member
Topic starter
 

[quotePost id=117722]What you have found is that the addition of external MIDI routing has created an issue that isn't normally there. I would expect that if you left the 5-pin MIDI DIN output (output from MODX) connected to your XK-1C and disconnected the MIDI DIN input (input to MODX) from MODX -- that removing this connection alone may make the problem "go away".
[/quotePost]

I will give this a try. This afternoon my gear will go back to the rehearsel room and stay there, testing will then be psossible only once a week.

[quotePost id=117722]And if that's it then the problem is MIDI data coming from the XK-1C -- possibly coming from the MODX to the XK -- that's going through USB Port 3 back to Cantabile and then perhaps looped back to MODX (Port 1).[/quotePost]

Your assumption definetly makes sense, but on the other hand I'm very reluctant when re-routing my controllers.

As you see from the pic above the MIDI wiring allows my to control each keyboard from any other key. Of course some combinations just don't make sense (why would you want to control the MP7 digital piano from an XK-1c controller?) and I stay away from routings A->B together with B->A at the same time, as this is guaranted to introduce unwanted side effects.

The routings I use (done in Cantabile) are:

- route MODX to the XK-1c to use the MODX keys as 2nd organ manual.
- route MP7 to the MODX when I want graded hammer action for certain MODX sounds.
- route MP7 or the XK-1c to the MODX to have two or even three MODX sounds ready to play without the need for splitting the MODX keys or to switch sounds usings MODX scenes.

I'm pretty sure that Cantabile Light (free version) includes the MIDI routing capabilties I use here.

 
Posted : 04/07/2022 6:15 am
Posts: 0
Active Member
Topic starter
 

My last testing results.

[quotePost id=117722]I would expect that if you left the 5-pin MIDI DIN output (output from MODX) connected to your XK-1C and disconnected the MIDI DIN input (input to MODX) from MODX -- that removing this connection alone may make the problem "go away".
[/quotePost]
Unfortunately this is not the case. I turned off both the XK-1c and the MP7 and I removed the 5pin cables from the MODX ports. The problem persists. This may look that Cantabile is the culprit here, but as soon as I either turn off the Zone Master or disable the Zone in my MIDI CH1 performance IT WORKS.

BTW: I also used a USB to MIDI Interface at the XK-1c to see what happens if I don't route the XK-1c thru the MODX. Makes no difference,

 
Posted : 04/07/2022 9:54 am
Jason
Posts: 7910
Illustrious Member
 

Past results ...

When only MODX has a MIDI connection everything works fine, no problem here.
My problem starts as soon as I connect my Hammond XK-1c, It is connected to the 5pin MIDI ports of the MODX.

Seem to conflict with the latest results ...

I turned off both the XK-1c and the MP7 and I removed the 5pin cables from the MODX ports. The problem persists.

It seems the latest test is setting up the situation where you only have a USB cable connected to your PC and no other devices connected. Let me know if I'm not understanding the first feedback or if something else has changed between these two data points. Thanks.

If this fails without any external gear connected then this should be much easier to reproduce given I could match your configuration more accurately using the scaled-down setup. It would just be a matter of getting the software setup similarly.

I can't get to this for another week, however.

 
Posted : 04/07/2022 11:30 am
Posts: 0
Active Member
Topic starter
 

[quotePost id=117733]Seem to conflict with the latest results ...
[/quotePost]

The first result was achieved with the XK-1c's Zone enabled, which I disabled thereafter as it introduces a possible source of headache while there are (in my case) no benefits in using the zone.

But yes, I had conflicting results which makes this process so tedious and frustrating.

With the MODX Zone disabled it works like a charm. What happens if I enable the MODX Zone? Are there any additional events being sent that I don't expect? If yes, how do they interfere with Cantabile's action? I wish I had a MIDI cable event analyzer to really see what travels forth and back the MIDI connection.

PS: reminds of my career as a pro Software developer, where I had to integrate spectrophotometers in my software. These devices connect via RS-232 (those were the days) and without a RS-232 analyzer for inspection of the traffic you were lost. The manufacturers' docs for the spectrophotometers were incomplete at best or even partially wrong.

 
Posted : 04/07/2022 12:31 pm
Page 1 / 2
Share:

© 2024 Yamaha Corporation of America and Yamaha Corporation. All rights reserved.    Terms of Use | Privacy Policy | Contact Us