Sub-snapshots not saving information reliably

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 in advance!
TK

I checked the MIDI log for DIN 5 MIDI and saw that it is sending some extra messages along with the program change:

CH#16 CONTROL_CHANGE 0 => 0
CH#16 CONTROL_CHANGE 32 => 0
CH#16 PROGRAM_CHANGE 11

Might the issue be that the iPad is sending these control change messages in addition to the program chance?

I also turned off “audio levels on snapshots” to see if perhaps this will behave more reliably.

Hi @tkc !
Your ipad is sending bank change messages and this is probably the cause of the issues. Please, try with program change alone

Anyway, send your snapshots so we can test with It

Also, why are you using Channel 16? Did you enable MIDI master channel? Why? if so, please don’t use master Channel for ZS3.

Thanks

1 Like

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:

001-scs experimental.zss (468.8 KB)

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.

Try to avoid the control change messages, please.

Regards,

1 Like

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.

Thanks again for your help!

I recorded a video that shows the issue I am currently having with ZS3s and the setBFree presets:

I have attached my snapshot file here:

001-scs experimental.zss (642.4 KB)

Steps to Reproduce:

  1. Select ZS3 “0/11”. The Zynthian will load the correct preset for the setBFree engine, “Fredriks tfn 1”.
  2. Select ZS3 “0/10”. The Zynthian will load “Standard B” as the preset for the setBFree engine, but it is not the right sound for “Standard B.”
  3. Go into the mixer
  4. Select the setBFree engine.
  5. Select Preset. “Standard B” will already be selected.
  6. Reselect “Standard B”. Play another note and notice that the sound changes immediately.
  7. Select ZS3.
  8. Select the “0/10” sub-snapshot.
  9. Select Option.
  10. Select Overwrite. The reconfirmed “Snapshot B” sound should be saved as the preset for this snapshot.
  11. Select “0/11”. Zynthian correctly loads the “Fredriks tfn 1” preset.
  12. Select “0/10”. Zynthian again loads the wrong sound for “Standard B.”

I reviewed the snapshot file and could not see where the preset values are being stored, though I assume they must be there.

Please let me know if you have any recommendations on how to consistently switch presets for the setBFree engine using ZS3s.

Thanks!
TK