I have a Zynthian setup for my band where I have 12 different chains all setup on the same snapshot responding to two keyboards on MIDI channels 1 and 2 respectively. I use sub-snapshots (ZS3s) to mute or unmute the various chains so that I can go quickly between “electric piano and organ” and “piano and strings” or whatever combination I need for each song.
I want to switch between different organ sounds on the Set B Free engine for the different songs we play. Since you cannot have the Set B Free engine added more than once, I am trying to use sub-snapshots to save the presets for this engine. This is leading to a lot of issues.
First, I’m noticing that often the volume for the Set B Free chain gets set to zero when I select the ZS3. I can set the volume back to what it needs to be, but when my band plays we go from song to song quickly and so I may not have time to get the level set again before that song needs to start.
I notice even more strange behavior when I use ForScore to send MIDI program change messages to set the ZS3s. For example, the chain might be transposed up an octave when I never requested any note transposition.
I’m wondering whether the community has any recommendations on how to setup these sub-snapshots so that they are 100% reliable. I keep saving and overwriting the ZS3s to try and correct the sound levels and setups, but each time I select the ZS3 I have to expect that it’s going to load things in a random way. I am not sure I can depend on this in performance.
I have confirmed that I have Audio Levels on Snapshots turned On and ZS3 (SubSnapShots) On. Are there any other settings I should investigate? Should i try hand-coding the snapshot file to fix this?
Thanks @jofemodo. I have attached my snapshot. I’m trying to do this with just one snapshot and using ZS3s to switch between the different configurations and presets:
I am using channel 16 because I didn’t want to conflict with channels 1 and 2 that I’m using for my instruments. I’m not using a master channel. I’m also not trying to send bank changes, just program changes from ForScore, but it seems it is sending control change messages as well.
I am not intentionally sending bank changes, only program changes, but perhaps there is a setting in ForScore that is sending these bank changes. Also, it’s possible that something is being lost in translation from the iPad to the USB-C hub to the USB MIDI cable. For now, I’m going to abandon the iPad/ForScore automation and focus instead on just getting the ZS3s to load reliably.
Is there anything you’re able to see in the snapshot I sent you that would send confusing messages to Zynthian when selecting certain ZS3s? I’m wondering if in general this approach of having 12 different chains that I mute or unmute based on which song I’m doing is a viable one.
The biggest challenge I’m facing now is that the setBFree engine does not seem to respond predictably to ZS3 changes to the preset. If it were possible to have more than one setBFree chain in a configuration that would solve the problem, but once you add it to one chain you cannot add it a second time.