Forum index > Bug report

MIDI CC behaviour when recalling cirklon ii

Guaige
Hello,

I’m experiencing some strange behavior with my EssenceFM MKII when it is controlled via MIDI by a Sequentix Cirklon II.

I’m using a multitimbral Performance with several Parts assigned to different MIDI channels. The Cirklon sends CC messages to control various Part and Patch parameters, including:

CC7: Volume
CC10: Pan
CC90: Dry level
CC91: FX1 Send
CC93: FX2 Send...

These values are stored in the Cirklon Scenes.

The issue occurs when recalling Scenes: when moving from one Scene to the next, some EssenceFM parameters do not always seem to return to the expected value.

I checked the MIDI output using an external MIDI monitor. The Cirklon appears to be sending the correct CC, on the correct MIDI channel, with the correct value.

I also noticed that the Cirklon sometimes sends the same CC message several times when changing Scenes, although the values shown in the MIDI monitor appear to be correct.

Could you please tell me whether receiving several identical CC messages almost simultaneously could cause any particular behavior on the EssenceFM?

Thank you in advance for your help.

Best regards,
Guaige
Hello,

I think I have identified more precisely where the problem I am experiencing with my EssenceFM MKII, controlled by a Sequentix Cirklon II, may be coming from.

Program Change messages on their own seem to work correctly. The problem mainly appears when a Bank Change is sent together with a Program Change.

On the Cirklon, I am using Bank Select LSB via CC32, together with Program Change, to select a patch from another bank. In this case, patch changes are not always reliable on the EssenceFM.

My current hypothesis is that there may be a timing or message-processing-order issue between:

CC32 = Bank Select LSB

followed by

Program Change

The two messages seem to be sent very close together when recalling a Scene on the Cirklon.

What makes me suspect this is that:

* Program Change on its own works correctly;
* the problem mainly occurs when a bank change is required.

I am going to check the exact order of the messages sent by the Cirklon with a MIDI monitor, as well as the possible delay between CC32 and the Program Change.

Does the EssenceFM require a minimum delay between a Bank Select message and the following Program Change?

Or is there a specific recommended order or timing for Bank Select / Program Change messages on the EssenceFM?

Thanks in advance for your feedback.
KODAMO
Hello,
No delay is required between bank change and program change. However you must be sure that bank change is sent before program change. Is that the case?
Guaige
Hello,

Yes, Bank Select is being sent before the Program Change.

In the meantime, I found something interesting: on the Cirklon, disabling the CC0=bankM option in the instrument definition seems to make the bank/program changes work correctly.

So the problem may have been caused by the Cirklon also sending CC0 together with the cc 32 Bank Select / Program Change sequence.

With CC0=bankM disabled, it seems reliable so far.

I’ll do a few more tests to confirm it.

Thanks
KODAMO
CC0 (bank select MSB) isn't used by the EssenceFM, so it is weird.
Please check you aren't sending other CCs that might have unintended effects, like CC40 which loads a performance.
Guaige
Hello,

After some more testing, I think I have a better understanding of what was causing the problem.

In the end, CC0 itself was not the issue. The main problem seems to come from the Cirklon’s pre-send Program Change option.

When this option is enabled, the Program Change is sent in advance, while the Bank Select is sent later. So when a bank change is required, the message order is no longer correct for the EssenceFM.

I also noticed another Cirklon behaviour: it does not always seem to resend a MIDI command if it considers that the same value has already been sent previously.

Because of this, it is important to send a complete and known initial MIDI state to the EssenceFM at the beginning of the song or live set.

The values stored inside the EssenceFM Voices or Patches do not necessarily match exactly the MIDI state expected by the Cirklon at the beginning of the Song.

In my case, I therefore need to reload the Song at the beginning of the live set so that the initial MIDI values are sent again and both machines start from a consistent state.

Since the Song is already loaded when the Cirklon powers up, it seems to consider that some of those initial MIDI commands have already been sent and does not necessarily resend them automatically.

So, sorry for the confusion: the issue seems to be mainly related to the Cirklon’s behaviour rather than the EssenceFM itself.

Still, I think this behaviour may be useful to know for other users controlling external MIDI gear with Bank Select and Program Change messages.

Thanks for your replies.
KODAMO
Thank you for investigating this. I thought EssenceFM behavior was the only one that is correct (expecting a bank change before a program change), but it would be interesting to compare it against other gear. Maybe some gear/software even accept both orders? That isn't ideal too, because it forces two sound changes on the receiving device (one after the program change, but the sound will be incorrect, then another one after bank change, using the stored value of the previous program change to load the correct sound).
Maybe that would be something worth reporting to Cirklon's developer
Guaige
Both are therefore possible with the Cirklon, using the "program pre-change" option. Elektron and Korg sequencers, for instance, require this option.

Reply