Success Cases

This has been done a few times before. Did you use that previous work?

  • Yeah, the H3 can be a bit overwhelmed with some synths, for sure, but I am mainly using it as a sampler + effects, and it does a pretty nice job. That is, unless something updates on the screen in which case it starts getting into xruns. Pretty low latency, and is for sure enjoyable to play.
  • The mod and pitch wheels are connected internally to the m-audio so you would get a midi event for that. It worked out of the box, actually.
  • Beware of the stm32 that you can get from AliExpress nowadays because most of them are actually fakes, with peripherals that are full of bugs.
    I used a stm32 because that was what I had on hand at the moment. But you can use anything else. I wrote the code in CPP in Arduino so it should be pretty portable.

As for the hardware, I donā€™t really have a schematic for it, I just connected the pins on the go, but the code should be pretty explanatory.
Iā€™ll yet have to check if the repo visibility is set to public.
Edit: Past silly me thought that I added the Arduino code to a github repo when I cleaned up the PC. Apparently not.
These are the branches that Iā€™ve worked on:

1 Like

I actually modified the encoder library in order to be able to use the uart port. I serialized the data in 2 bytes + 2 bytes used for framing. I have my work done on a fork, somewhere :slight_smile:

Hey Zynthheads, here is my custom Zynthian in a Hammond 1590DD case.

Rear panel:

Gut shot:

Custom I/O boards (before installing encoders):

  • Raspberry Pi 4 4GB
  • Geekworm aluminum armor case (for heatsink)
  • Osoyoo 5" DSI 800x400 touchscreen
  • Audio Injector zero, mounted on I/O board
  • 2 x MCP23017 for encoders and buttons

I started this project about two years ago, primarily as an inexpensive, easy to use replacement for the setup of the keyboardist/singer in my band (his current Windows computer setup is very unreliable). Our guitarist helped fund it, and also wanted one of his own, so Iā€™m building three. This is actually the second prototype. The first one was on PCBs I etched myself, and there were a few issues that caused me to redesign the PCBs and send them off for manufacturing this time, so I didnā€™t have to drill hundreds of holes again.

Anyway, thanks to everyone who has contributed to this project. Iā€™m having a lot of fun playing with this, and it was a big hit with our keyboardist at our last rehearsal when I brought it for him to try out. Heā€™s super excited to get his own!

8 Likes

Yep, thatā€™s something that seems to take for ever.

What do you use the switches for?

I was planning on using most of them to switch between instruments/presets, but from what Iā€™ve read recently, it sounds like switching may not be fast enough for live performances. I havenā€™t played around with snapshots enough yet to know if that will work, though.

I think it can run most of the instruments weā€™ll need at one time in separate layers with different midi channels, however, as long as there arenā€™t too many effects running, so I think our keyboardist will just be able to switch midi channels to change instruments.

  • ZS3 switches are quite fast: ~1s
  • Snapshot loading is slower, depending on the number and complexity of the ā€œchainsā€ (layers).

The current ā€œzynthian paradigmā€ for live performance is ā€œmore or lessā€ like that:

You should prepare a snapshot for the full show, or for every part of the show, if the show is complex/long enough. ZS3 (SubSnapShots) should be used for switching sounds in a song, or from song to song.

Both, snapshot loading and ZS3 switching can be controlled by Program Change MIDI messages:

  • Snapshot loading MUST be controlled from Master MIDI channel (16 by default), and program numbers are configured from the snapshots submenu.

  • ZS3 switching uses a MIDI learn mechanism. Easy easy.

Note that ZS3 behaviour depends of ā€œmodeā€:

  • On ā€œOmniā€ (Stage) mode, you ā€œonlyā€ have 128 global subsnapshots available. When recalling a ZS3, the active channel (the one receiving all MIDI input) is changed accordingly.

  • On ā€œMulti-timbralā€ mode, every chain (channel) has 128 subsnapshots available. When recalling a ZS3, every chain (layer) keeps receiving the MIDI messages on its channel.

Of course, this doesnā€™t cover all use-cases, so people has developed different approaches for their specific use-cases.

Regards,

2 Likes

Iā€™ve been trying to implement this, and the ZS3ā€™s keep turning off. Hereā€™s my process

  1. Admin Screen- Enable ZS3
    [x] Program Change ZS3
  2. Load Snapshot
  3. From Control Screen of loaded SnapShot short press Snapshot to see ?? appear on MIDI-Learn
  4. Short press Snapshot button again to assign Program Change.
    Zynthian Extra Switch 3 Action in Wiring is set to Program Change 3 (MIDI Channel 16)
    Zynthian Extra Switch 4 Action in Wiring is set to Program Change 4 (MIDI Channel 16)
  5. Was able to set Program Change 3 to a Snapshot once, then every time after that when I get to step 4, nothing happens and under Admin menu I see that ZSR is unchecked (even though Iā€™ve just selected it)
    [ ] Program Change ZS3

So now I have one Snapshot (and of course I didnā€™t pick one that I actually want) that I canā€™t update the Program Change for, and a second that I canā€™t seem to assign.

I know Iā€™m doing something wrong, but Iā€™m pretty sure I followed the Wiki exactly as written. Iā€™ve tried setting the Subsnapshots with the Zynthian interface, through the Web interface, Iā€™ve re-booted, not re-booted, checked for software updates. Nothing seems to make a difference.

Please let me know what Iā€™m missing.

ZS2 status is saved/restored with snapshots. You should check the snapshot option after loading the snapshot.

Regards,

Thank you for that info. The Wiki makes it sound like I didnā€™t need to go in that order as step 0 was to enable the ZS3.

Once snapshots are loaded something is happening, but not what I want.

Is there a direct correlation between the order of the saved snapshot and the program change assignment of sub snapshots?

Here is my workflow:

  1. Remove all Layers
  2. Navigate to the Snapshot screen
  3. Load the snapshot I want (Saved Snapshot 64, which is an Audio Layer)
  4. Navigate to the Admin Screen
  5. [X] Program Change ZS3
  6. Return to the Control Screen of the loaded Snapshot
  7. Press Snapshot button once to enable MIDI-Learn
  8. Press Snapshot button again and see the following
    Waiting for Program Changeā€¦
    (on the bottom right corner I see the following Program 1 /0
  9. Press the corresponding button for MIDI Program Change 64 on MIDI Channel 16
  10. I see the screen return to the same snapshot and it is still in MIDI-Learn mode with ?? below controls
  11. Leave MIDI-Learn mode
  12. Depress button for Program Change 64
  13. Wait approximately 30 seconds for Snapshot 025 ThreeOnThree to load. Which is one of the ones that came preloaded with the Zynthianā€¦ and one Iā€™ve never used. I moved it from Snapshot 003 to 025 so I could navigate through my own quicker.

The Wiki says I can bold press to see all stored ZS3ā€™s, but I canā€™t figure out where. The PROG MIDI-Learn on shows the ā€œWaiting for Program Change ā€¦ā€ and Iā€™ve done a bold press on all encoders to look for this list, but cannot locate it. I feel like itā€™s right at my fingertips, but I just canā€™t get to the correct screen to see whatā€™s wrong.

Thank you again.

Channel 16 is, by default, the Master Channel. You shouldnā€™t be using it for ZS3 unless you have disabled the Master Channel from webconf.

What are you trying to do exactly? :wink:

1.) If you want to load a snapshot using program change, than you have to use Master Channel (chan 16 by default) and assign the program manually from snapshot menu. Thatā€™s all.
Please, note that zynthianā€™s program numbers start from 0. Some MIDI controllers start from 1, and this could cause some confusion.

2.) If you want to configure some subsnapshots (ZS3) inside your snapshot then you have to use the MIDI learn procedure, as described in the wiki.

Regards,

What Iā€™m trying to do is the following:

Currently Iā€™m using the Zynthian most frequently for audio effects on the electric bass.

I have 10 or 12 Audio-FX Snapshots saved.

I would like to be able to quickly switch between saved Snapshots. For example, most of the time I would use the Alembic Preamp, but would like to use a Program Change button to switch to a different effect like an Envelope Filter with compression.

The effects themselves work great.

I have followed the Wiki, but cannot get any of the ZS3ā€™s to save or load regularly. I can get to the MID-Learn page, but whenever I select a Program Change button it just flashes and doesnā€™t seem to save my selection.

I tried the first time with everything pretty much set to defaults. Then I tried changing MIDI channels (which is how I ended up on 16 instead of ā€œAll Activeā€). Then I deleted all presets Iā€™m havenā€™t been using to clean up the list. Nothing really seems to make a difference.

For the Program Change buttons, Iā€™m using buttons 2, 3, and 4 from the extra buttons available from the All-n-One v2 module.

Iā€™m sure itā€™s something Iā€™m just missingā€¦ but I canā€™t figure out what Iā€™m doing wrong. I guess I could video my workflow to see what Iā€™m missing.

Thank you for your detailed explanation! I was hoping something like this might work, I just hadnā€™t gotten around to searching for the details of the proper way to set it up. (Too much fun playing with the instruments.) It sounds like I should be able to use the switches on my Zynthian to control the snapshots by assigning them to program change messages on channel 16, then.

Reading this again. For purposes of clarification. Does this mean when I create the snapshot I need to create it on channel 16? When I created all the snapshots initially, it defaulted to 1 for a new snapshot and at the time I didnā€™t think it important because I was under the impression in stage mode all channels would be monitored.

[Edited to add the following]

So I think I figured out my issue, but I donā€™t know how to fix it or if itā€™s even broken. I made 4 new Audio-FX layer snapshots on MIDI channels 12-15 and they all work just fine. However, any of the snapshots I made prior to today (all on MIDI channel 1 I believe) will not work with the ZS3 and Program Change workflow. Also, I cannot add any of those previously created snapshots to the ones that will currently work.

As an aside, you are correctā€¦ they switch incredibly fast.

[Edit to my Editā€¦]

While I can quickly switch between snapshots, I just tried it with my instrument. It loads all the snapshots as stacked layers. Meaning I can hear them all at once.

What should be three distinct snapshot sounds:

  1. Clean Preamp with HighPass Filter
  2. Chorus with plate delay
  3. Compression and Quack Envelope Filter

Turns into this:

  1. Clean Preamp with HighPass Filter/Chorus with plate delay/Compression and Quack Envelope Filter

Which sounds interestingā€¦ but really muddy.

Maybe these sub snapshots really arenā€™t that useful for me as an analog instrument player.

  • Stage Mode, ZS3 on
  • Having your 4 FX-chains (layers) on the any midi channel you like, let"s say 1, 2, 3 & 4ā€¦
  • Add a gain to each one
  • Set to 0 the gain for layers 2,3 & 4.
  • Adjust your sound on layer 1
  • MIDI learn ZS3 ā†’ Program 1
  • Set to 0 the gain for layers 1,3,4
  • Adjust your sound on layer 2
  • MIDI learn ZS3 ā†’ Program 2
  • Etc.

Depending of the FXs plugins you use, you could avoid adding the extra gain. Most FXs already have some kind of gain/kevel parameter

Enjoy!!

BTW, the mixer is coming and all of this will be a lot easier.

1 Like

Doesnā€™t stage mode listen to all MIDI channels all the time? I think that might be the crux of my issue. Itā€™s playing through all 4 active channels at the same time because they look like active parallel layers.

It doesnā€™t seem like duplicating the signal chain 4 times would change it. However Iā€™m willing to try it out.

Exactly. Did you try my recipe above ? I just tested and it works ā€¦

Regards

I canā€™t get my system to load multiple snapshots onto a single MIDI channel to save as a ZS3. If I recreate all 4 snapshots into a single later then add gain at the endā€¦ it just affects the volume of all the combined snapshots.

I canā€™t figure out how to do this. Iā€™m sure itā€™s probably simple if youā€™re comfortable with the software, but my dyslexic brain just canā€™t envision what youā€™re telling me. If I could do it once I could probably do it a million times after thatā€¦ but the first time can be a painful and frustrating experience for me. Meaning I literally do not understand what you are asking me to do based on the information you have typed out. Iā€™m sure this is frustrating for you as well, and Iā€™m truly sorry for that because I know youā€™re giving great information and Iā€™m sure the Wiki explains it perfectlyā€¦ but it just gives me a headache trying to read it and translate it to a physical task.

Here is an example of two snapshots loaded:

I tried to upload a video of switching between the two, but it looks like it wonā€™t let me do that. However I can easily switch between the twoā€¦ but the sounds are combined. Reducing the gain of one makes that effect go awayā€¦ but when I switch to that one using PC the gain doesnā€™t change.

When I add any Snapshot that was created on MIDI channel one, it will remove all other snapshots and disable the ZS3 switching.

So I go back into the menu, enable ZS3 switching, then go to MIDI Learn. I can then assign an PC, but I canā€™t add any other snapshots. When I add those additional snapshots then the MIDI channel 1 snapshot I added disappears.

So I end up with the following:

  1. A single Snapshot created on MIDI Channel 1 that I can assign a PC to, but cannot add any other Snapshots.

  2. Multiple Snapshots form any MIDI channel that is not Channel 1, that I can switch between, but all Audio-FX are always active.

We are very excited about the Zynthian, we went for a classic 70ies medical equipment look. This style should work quite well with our music and performances. :wink:



We just played our first show where we included the Zynthian. We definitely need to study it more, but it worked out pretty well.

Thanks for all your work! :face_with_monocle:

8 Likes