Hello! I've got a rather perplexing question... at least, to me it's perplexing.
I'm sending the following SysEx messages in song mode from one of my tracks:
> F0 43 10 7F 12 36 00 4D 00 00 00 7F F7 ~ Turns insertion effects for all tracks off except tracks 1 to 7.
> F0 43 10 7F 12 36 00 4D 00 00 01 7F F7 ~ Turns insertion effects for track 8 on, as well as tracks 1 to 7.
Usually everything with SysEx is handled quite well. But this situation is different. Every time one of these particular SysEx messages is reached, MIDI messages from other tracks get cut off, and the sound along with them. The strange behaviour to me is that they never cut off any MIDI messages in the tracks they reside in. I can put them on other tracks and they won't cut off the track they reside in. I know that the data parameter for the insertion effect switch SysEx message is bit encoded, meaning that it will affect all the tracks. It has to. Each insertion effect switch message updates the status of all effect switches.
My question is: Is there a way I can get these SysEx messages to stop cutting off my other tracks?
Welcome to the Yamaha Synth forums and thank you for the question.
I'm not at all sure there is a way to select/reconfigure the Insert Effect Switch PART assignment without a sonic anomaly using System Exclusive Parameter Change messages. It is the equivalent to yanking and re-patching a bunch of cables in a studio Patchbay in the middle of a song. We should mention, in the Motif XF any eight PARTS (selected from the 16 internal synth and the external A/D Input Part) can simultaneously recall their assigned Dual Insertion Effect. Each Insertion Effect is intricately woven into a synth Voice's oscillator routing scheme, even physical controllers can be involved for real time control with switches per Element. As to the A/D Input Part, although it is technically an external device, its audio, post the Analog-to-Digital conversion, can be processed with its own dual Insertion Effects. MIDI Controllers cannot be assigned to external devices, however. Only audio comes through the A/D Input port.
If you need to reallocate INSERT EFFECTS, it is recommended that you use Bank Select and Program Change events to change the Voice assigned to an active Insert enabled Part. This way: if a Part has the INS FX SW active, rather than attempting to turn that Off and another Part On during "play", why not just select a new sound for the Part where the Switch (patch) is already in place. Changing the active Insert Switches involves timing - since it is based on a maximum number of ON switches. Since the Part parameter (INS FX SW) is already active for a PART, the Voice, when selected for that PART, will automatically play through the existing connection (patch) recalling its own Insert Effect Routing. The only sonic interruption can be avoided by placing the Program Change events 50ms from the nearest musical MIDI note-on events on the specific channel involved.
Not only are the Control Change and Program Change messages preferred in this case, they are usually very practical because musical instruments are rarely "always" playing - so re-allocation of processing power can be accomplished in most cases by re-purposing the target of the track data. In a Mixing program is access to all of the processing power that the Motif sound engine offers - You have 16 PART multi-timbral synth access, you have two types of audio in (on the Motif XF-series) analog (A/D) and digital (FW), you can select Insert Effect Switches, you have per PART EQ for the internal synth Parts, you have individual sends to the System effects, Master Effects and EQ, etc., Recalling a Mixing recalls a complex "patchbay"-like configuration for the EFFECT resources (including the dual Insertion Effects with their physical modeling VCM algorithms) - routing to the physical modeling is deep within the Voice architecture of each Voice and makes for stunning, interactive communication between the selected Waveform and the signal processing. If you think of these processors as calculation boxes... then there is resources for 16 insertion boxes - configured as eight pairs; so any selected eight Parts can recall their dual Insertion Effects simultaneously... It is recalculating that configuration that is not going to happen without a sonic interruption. But there are many workarounds to accomplish whatever is the result you require.
External DAW
In a situation where you are recording to a DAW, you can transfer Parts to audio tracks through their insert effects in separate passes, (this would be the preferred way around the 8 simultaneous INSERT EFFECT Part limitation) reallocating and optimizing the use of the synth's available resources. Change INS FX SW, as necessary, prior to the individual (audio) transfer process.
Alternate Audio Solution
RESAMPLING is also a way around this, printing a Part as audio with its Insert Effect active. Again this would avoid a situation where you were trying to repatch something as complex as the Insert Effect routing which can involve scores and scores of individual Elements each with their own routing within their respective Voices. Eight such routings in each normal Voice and 73 such situations per drum kit Voice!!! ... When you look at it this way, it is no wonder there is a temporary sonic anomalie when some switches are made via the System Exclusive message method. (Also, BTW, the track on which the message is placed has no bearing here... "System" messages, unlike "Channel" messages, can appear on any Track - the actual channel does not matter in a System message.
Methods
If what you are attempting to accomplish (overall) is a matter of operating an Off/On type function for the assigned effect, again a different method is recommended: you should see if you can manipulate the Wet/Dry balance within the Effect or use some other method (with a "Channel" message) to control the applied Effect. Your mileage and method would vary depending on the Effect TYPE involved.
If there was no sonic penalty for operating the INS FX SW, I imagine it would have been included among the parameters memorized and manipulated in a SCENE "snapshot" memory. But it is not, probably for the reasons you are experiencing. As to why it seems to work on certain Parts probably has more to do with the Element routing within the particular Parts... More so than anything else.
What exactly are you attempting to accomplish, overall? Perhaps a different approach entirely should be recommended... Particularly if the reallocation of Effects and the re-routing needs to take place as the music is being performed. Typically, certain parameter settings (EQ, Effects, in particular) are made prior to counting into the music. The parameters that are to be manipulated in REALTIME are assigned to channel Control Change numbers (physical controllers) within the selected Voice's CONTROL SET.
"Insertion Effects" are able to have controllers affixed to certain parameters within the algorithm - this is determined per effect Type.
"System Effects" which, in general, are emulating the outer physical environment (spatial and time delay) only the Send amount, which determines distance, is REALTIME controllable. This makes sense because you choose the room prior to performing, you don't adjust the size and shape of the room, although you are likely going to want to have control of moving the "instrument" left/right, closer/farther away, during the performance.
I'm not suggesting that what is being sought is not valid, it's just that the approach to accomplishing the goal is optimized in a completely different approach. Yes, Sysex can be used to change Insert Effect Switch assignment. No, it is not an optimized method particularly if *seamless* sonic performance is required... Sysex here should be restricted to moments where no sound is being performed... On the Part in question or any other Part involved in the Mixing setup.
Hope that sheds some light on what maybe happening. If you need help with Bank Select/Program Changes lets us know.