Multiple layers + external midi controller + stage piano?

Here I’ve done a small technical diagram of my actual setup
Zynthian-Setup.pdf (27.4 KB)
What I like to achieve is that I’m able to switch instantly (during playing) between different basic sounds like drums, bass, pads etc. In total I have my build-in sounds from SV-1 and additional sounds from Zynthian available. Together with my RC 300 loopstation I like to by able to record drum/groove patterns, bass line and i.e. a pad sound out of Zynthian. Than I can add a melody with SV-1 or with Zynthian.
What I have in my mind is playing/covering songs like “Perfect Day” from Elbow.
(BTW, it’s better if my wife will do the sings :wink:)
If all synth layers in combination with Korg NanoKontrol2 will work, than I would like to add some program switches on each relevant layer by using Zynthians S1-S4 buttons (ZS3 snapshots) to have more sounds available “with one click”.
With this kind of setup I hope that I will have one mostly “universal” snapshot on Zynthian for a whole bunch of live performing songs.

Do you want to play only one Zynthian sound / layer at a time? If so, lose the MIDI filters, enable Stage Mode and simple select the layer you wish to sound. The selected layer will respond to all MIDI input on all channels.

At the moment I run Zynthian in multitimbral mode. If I remember correctly I had problems linking my NanoKontrol to multiple layers when Zynthian is in stage mode. At this time one layer from Zynthian at a time would be enough but actually I would also like to have multiple layers active at the same time. With multitimbral mode you can i.e. add a nice pad sound to the Pianoteq layer.

Now I tried to setup the 5 layers again from scratch and rebooted Zynthian after adding and configuration the layers one by one. After adding a layer I also added Midi-FX and Audio-FX so that I can use NanoKontrol to control volume, layer activation and wet audio FX. And after each layer I saved a snapshot and rebooted Zynthina. I think the power off boot logo with the red error appeared after adding the 5 layer (ZynAddSubFX). But maybe the reason is that I was playing and did some loopings after I had all the 5 layers setup again. Here is the snapshot with these 5 layers
005-LiveLooping.zss (40.3 KB)
Sometimes I cannot power off Zynthian at all, also when trying to power off with a web browser. Then there is only one way to power off by disconnecting the power supply…
If I remove all the layers before powering off Zynthian everything is fine.

An interesting thing would be if someone can reproduce the issues I have based on the snapshot so that we can see if this only happens within my setup?

I’ve had and reported somehow similiar issues with invalid audio (not midi) routing after rebooting and restoring multitimbral snaphsot.
Could you compare audio and midi routing when you create new snaphot and after restart? I suspect that restoring or saving some of these information are not correct.

Unfortunately I haven’t enough time since then to debug it more.

I think it’s the same situation on my setup. Yesterday evening I loaded the snapshot with it’s five layers after I removed all layers. Then the layer three has no audio output. The midi symbol on UI singnals that there is incoming midi but you don’t hear anything from layer 3. Maybe there are some issues on saving and loading snapshots when Zynthian is in multi timbral mode.
Is there a possibility to trace midi and audio routing in action during playing so that we can see where it gets interrupted? Or is the 2nd FluidSynth instance a reason?

You can access a graphical desktop via VNC (see wiki) then start an application called Patchage which gives a graphical representation of audio and MIDI routing. This can show the paths of the signals so you can see if MIDI input is reaching Zynthian MIDI Router and then on to the synth engines. You can see if audio is routed from the synth engines to outputs. (In testing branch the audio passes through the audio mixer.)

You could also install a MIDI monitor, e.g. apt install gmidimonitor then launch it (in the VNC viewer) and route each point in the MIDI chain to it. This will show the MIDI messages at each point. Similarly you could use Patchage to manually route audio to the main output and check that audio is reaching each point of the chain.

The most likely scenarios are:

  • MIDI routing incomplete or erroneous
  • Audio routing incomplete or erroneous
  • Zynthian MIDI router failing or getting misconfigured
  • Synth engine failing in some way (probably least likely)
1 Like

I think I have have now a little idea what’s going on there:
In my setup I have 2 instances of Fluid Synth, one instance should be on layer 3 and the other one on layer 5. But when you take a look into the running setup (VNC engines, patchage) there you see that there exists only 1 FluidSynth engine! And the corresponding midi event filters are setup in the wrong way. Normally there should be one midi_event_filter per layer. And midi_event_filter_02 and midi_event_filter_04 should be connected to each their own FluidSynth instance.
When I was entering the configuration into Zynthian the first time, everything was running fine. After storing the Snapshot, shutting down Zynthian and restarting Zynthian my setup was confused.
Any ideas how to solve this? Are there some limits handling multiple engine instances?
Bildschirmfoto vom 2022-04-05 19-10-49

@pianissimo are you using stable or testing. I think this was fixed recently in testing.

I am using the last stable release from September 2021.
Would you suggest switching to test? And how stable is the testing branch at this time? Or will there be an official next stable release available shortly?

Hi @pianissimo
I highly suggest you to use another SD Card for playing with testing branch.

I agree with @le51. There is currently an issue moving between testing and stable so use separate card or be willing to backup/burn/restore which is very time consuming.

Testing branch is significantly different to stable for this development cycle. It tends to be less buggy but liable to sudden change with possible breaks, hence not stable. Anyone using testing for production should fully test and not update without having the time to revert (backup/burn/restore/test).

We have not decided when the next update to stable will occur but it is shaping up towards a release candidate. Maybe @jofemodo can discuss with development team :blush: a feature set required and then implement a feature freeze. I think it is (almost) time.

3 Likes

Thanks for your suggestions. I think at the weekend I will have some time to check the testing branch with my setup. And I am also curious about the new mixer view.:slight_smile:

At the easter weekend I changed to testing branch and loaded the snapshot from 2022-04-18 onto a second SD card and reconfigured everything as before (5 layers, multitimbral mode, midi filters, etc.). Shutting down and rebooting is now working without the “error splash screen”. :slight_smile: But it seems that a second FluidSynth instance still makes problems. When I shutdown/restart Zynthian the layers 3 and 5 with their FluidSynth Instance have no audio output. And it seems that because of this there are some follow-up problems: Shutting down takes long time, UI reaction takes long time.
Maybe someone can check the double instance FluidSynth problem and go a little deeper?

Because the daily release (I flashed test release 2022-04-18) has this new and beautiful audio mixer :grinning: and to keep everything a little more simple I changed my setup:

  • stage mode
  • no need for external midi controller (Korg NanoKontrol)
  • Snapshot per Song
  • additional “Dummy-Layer”. When selected there is no audio output from Zynthian and I can play my Stage Piano with it’s own audio output solo.

I think this is now a very handy and simple setup for being flexible and playing live :slight_smile: The only drawback is the loading time for full snapshots per song. I will open up a new topic for discussion…

The new audio mixer is a very cool feature, I love this!
Will the plugin audio levels and mixer audio levels also be separate in future?

I don’t understand this question. The way it currently works is that there is a chain of effects and sound generators which feed a mixer fader. Each fader feeds a main mix bus which has its own fader before reaching main audio output. (There is a feature request for another effects chain in the main output feed.) You can think of the layer audio effects as insert points after the audio input / synth / sound generator, pre-fader.

Each layer and the main output has an audio level meter post fader.

This may be a sympton of a bug that affects LV2 plugins where the interface with the host module (jalv) gets unsynchronised. It manifests as long timeouts in communication with log entries similar to:

ERROR:zynthian_engine.proc_cmd: Can't exec engine command: preset file:///zynthian/zynthian-my-data/presets/lv2/Dexed.presets.lv2/1234_COPY.ttl => Timeout exceeded.
<pexpect.pty_spawn.spawn object at 0x68e17df0>
command: /usr/local/bin/jalv
args: ['/usr/local/bin/jalv', '-n', 'Dexed-00', 'https://github.com/dcoredump/dexed.lv2']
buffer (last 100 chars): b'preset file:///zynthian/zynthian-my-data/presets/lv2/Dexed.presets.lv2/1234_COPY.ttl\r\n'
before (last 100 chars): b'preset file:///zynthian/zynthian-my-data/presets/lv2/Dexed.presets.lv2/1234_COPY.ttl\r\n'
after: <class 'pexpect.exceptions.TIMEOUT'>
match: None
match_index: None
exitstatus: None
flag_eof: False
pid: 15154
child_fd: 38
closed: False
timeout: 20
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile(b'\n> ')

Ir’s a nasty little bug that @jofemodo and I have been trying to track down for a while. It is on the high-priority hitlist so we will be taking aim at it very soon. It has to be fixed and may require some drastic action. Stay tuned!

Ok, thank you @riban . Then the new audio mixer acts similar like a real mixer. I will take a closer look to Zynthians core concepts and available docs and wikis in this point for better understanding.

Yes, it is designed to mimic a stereo summing mixer. Each layer is a chain of MIDI / Audio processing which feeds into a stereo mixer channel. Each mixer channel allows solo, mute, balance/pan, mono and level control before feeding a main mix bus which has similar parameters to the channels. The output of the main mix bus feeds the physical audio outputs. (We are working on adding an effects chain to the main mix bus too.) I designed the mixer to emulate a familiar stereo summing mixer because it is quite a simple way to handle audio that most musicians and certainly sound engineers will understand. I purposefully kept it simple to avoid complexity and confusion. It is able to replace my physical mixing desk (with the addition of a multichannel audio interface). You can think of the mixer as a (up to) 16 to 1 stereo mixer with inserts on each channel (and soon on output too).

1 Like