New mixer proposal

Hi @zynthianers!

I’ve been testing a little bit the zynmixer branch in an “official” zynthian v4 and i must say that it’s very difficult to read the channel’s vertical text on the 3.5" display. Also, normally you see the layer as a list, so changing to a column arrange with vertical texts is confusing as you have to remap in your brain every layer to a vertical bar with a tiny vertical text, or remember the MIDI channel for every layer, etc.

I would like to suggest rethinking the layout and try a list approach, so you can read the layer text horizontally, in the same format used by the layer list. In fact, i would suggest to use the layer list as a base , using the right area (that currently displays the zynthian logo and an selector encoder counter) for displaying the level bars. Somthing like this:

zynthian_layers_mixer_jofemodo

As you can see , this is perfectly readable in small displays and also keeps the visual feeling from the layer list, so your brain quickly realizes what is what. We could use “back” and “select” rotaries for adjusting Left & Right, and move on the list by clicking “select”. Or perhaps use “shot” and “layer” rotaries for adjusting levels and select rotary for moving on the list.

Of course, touch interaction would have to be rethought too, but i must insist on the fact that touch interface is not the primary interface of zynthian. Encoders + Switches are.

Zynthian touch-interface was conceived, firstly, as a complement to the encoders interface. In fact, the X-Y controller was the first element of the zynthian’s touch interface. After that, the rest of the touch-interface was created as a convenient secondary/auxiliar/testing interface. I know that some people use this interface as the primary interface, but it’s far from optimal. Creating a good-enough native touch-interface for zynthian is a HUGE task and perhaps it would be better to invest this effort and time on creating a good remote API and then use a tablet touch-framework (android/apple) for programming a modern GUI that controls zynthian remotely.

Also, i don’t like the idea of replicating a full DAW on zynthian. Sometimes i’ve used the word “micro-DAW”, but what this means is something new. Something you can you use for doing some things (not all the things!!) that you normally do with a DAW, but with a different, minimal approach.

So please, let’s be minimal and let’s think on real use-cases for zynthian … not trying to replicate DAW functionality.

Regards!

2 Likes

A full-fledged DAW installed on a laptop, in conjunction with Zynthian, is much more convenient.
Further complication of the program part will lead to a natural ending - rpi4 resources will be used up …

Regards…

1 Like

Hi @jofemodo

Yes, surely this is a beautiful representation. With this approach you can make general settings. But if you want to work live the whole thing is nearly useless.

I use the zynmixer when I work with my KSP. There I have four MIDI tracks that I want to fade in/out while playing. I don’t want to use the encoders to find the right track, I need direct access.

Would it possibly be good if you could see both?

Alternatively you have to use an external device as MIDI controller (e.g. a tablet with TouchDAW/TouchOSC)…

Regards, Holger

1 Like

I’m all in favour of minimizing the number of screens we have, and I like the idea of the layers being displayed that way…

However,
I find I run in two modes of operation programming and performing and often these two roles are at odds with each other. There is also my favourite creature the di-interested user who comes to the device with just one desire ( turn me up or turn that person down) and in those cases I find the horizontal fader layout far more intuitive.
During the step sequencer debates I mentioned the benefits of horizontal keyboard layout against vertical and I think we are in similar territory here. Obviously the v4 kit has very obvious alignment and is unlikely to need re orientation but for those open source types rotating the screen to different orientations especially with the possibility via vnc and the like of big screens ( we have 2 hdmi’s now :smiley: ) a GUI that can encompass the ability to turn everything upside down or rotate to portrait should be considered. We are at an interesting cross roads from GUI design perspective and I think we have benefited from tight control in this area. If we can define a set of basic zynthian GUI axioms then we will benefit from the many completely un-imagined uses people will come up with for all this…

1 Like

How about a compromise - to the right side, display vertically the level of the currently highlighted layer with horizontal panning, FX send (to other layers etc.). Perhaps a view of all layers via a switch.

We are looking to define the orientation of two picture elements.
1/ A descriptive piece of text
This can, possibly, be a considerable length of texts and English only ( I’m sure jofo stated this once) .
2/ A level indicator
Already a little confused between stereo and mono depending on source ( could a level have 7 outputs for example…? ) . We need different indicators for these.

Given we are designing for a 3.5" screen, every pixel is precious. Could we overlay the text over the level display ? We win much space and also provide a screen object that defines the layer concept. All ‘we’ would need to do would allow each character in a font to be rotated and we can work in any direction . . … :crazy_face: . . .

I fully appreciate @jofemodo’s sentiment. I see real benefit to the interface I built and although it has been warmly received by some it may only suit a handful of users. Maybe we implement something similar to @jofemodo’s idea, incorporating some of the design ideas from my interface like overlaying the layer names on the fader and show level meters, mute, solo, etc. I wonder how much the overlay or choice of colours / contrast contribute to any difficulty in reading labels on the existing interface?

The vertical fader channel layout is very familiar, being used in mixers for decades but I struggled to display the labels hence rotated them. Do we feel sufficiently confident that we can lead a disruption to the status quo by rotating to a horizontal fader strip? We have the power to be market leaders :smile:.

I would love to have the vertical fader channels as it feels natural and on a 7" (or larger) screen turns Zynthian into a great mixer + synth combination. I can leave all that equipment at home when I go to rehearsals and gigs. Maybe we provide this view on the HDMI output whilst retaining the standard Zynthian menu system on the (normally) smaller screen. Maybe we can show zynmixer and zynseq on external monitors if connected else fall back to local screen. Maybe zynmixer is only available is external monitor is connected.

I think the list view suggested by @jofemodo should not be separate to the current layer list, i.e. we can control levels directly from the layer list from which we also manipulate layers (add / remove / modify, etc.).

Regarding remote control, e.g. from Android tablet, this is already possible for many elements, e.g. zynmixer is fully OSC controllable but does not yet give feedback to OSC client. (There isn’t a standardised method to do so. I am considering various options.) I have a partially complete Android app that offers mixer control of Ardour which could be adapted to drive the Zynthian. I like that idea but it would be good to be able to have immediate random access to all channel faders, mute, etc. for gigs and rehearsals.

2 Likes

Hello there !

I just received my zynthian today. It’s amazing.
I think the mixer proposed by riban is really interesting.
I just jammed for the first time, and I think it would be needed.

With this mixer, when we have a lot of layers, we could mute or fade in / fade out by directly touching the screen in live session. Good point! But maybe is too much for the cpu, i don’t know.

Thank again for this incredible machine, hope we can find a solution with the mixer ! (without cpu overload, obviously…)

1 Like

I don’t think that CPU is a problem for having a good mixer, specially when using a RBPi4.

The problem is only on finding the best UI. We use a 3.5" resistive touch display (the official display most zynthian owners have), and the touch device is small and not very precise or reliable. On those zynthians (most of zynthians!), rotaries are more precise than vertical slider-bars, where you can make the level to “jump” easily. Do we want to fade up/down the mix in a reliable way, without jumps? Let’s use the rotaries!!!

Also, think that if you really need to fine-control the mix all the time, you could use your MIDI controller for that. MIDI learn is our friend too, and a Korg nanoControl is not expensive at all:

I would prefer to spend effort and time on improving zynthian integration with popular controllers. Autodetection and pre-configured maps for them would be really useful … don’t you think?

Regards,

5 Likes

Of course! Never doubt that, my dear @riban! We don’t need to be followers nor copycats … we can (and SHOULD) be game changers, innovators, “locos revolucionarios”!!! :grin:

Vertical faders have a lot of sense on a physical mixer and can be a comfortable GUI on some displays, but… why not use a different approach if it fits better our use-case? Layer list is already there and every zynthianer know it, so i think it have sense to explore this way …

Regards,

I understand your view, like i say hope we can find a solution !

The midicontroller like the Korg nanocontrol seems to be good for my purpose, i know we can assign values to every sliders and knobs (volume for instance) but when we are in a ´no single channel mod’, we cannot change it for all the layers, we have to enter in the particular layer to change values. It is not convenient, any solution ?

In multichannel mode, the 8 available channels on the midicontroller control the 8 layers in Zynthian independently… you don’t need to go to the layer to change the state…

Moreover, you can clone any CC, from one channel to another, and control one knob with a given parameter on several channels at the same time. For example, by rotating the mod wheel on your midi keyboard (CC1, ch1), you can easily duplicate its change to other layers.

2 Likes

Thanks Roma ! I will try that soon, if idon’t understand something about midi learning and external controller, i will create another thread to not disrupt this one

solved !
I tried with a controller (not the korg one, but a big midi synth with knobs), and yeah if i activate the ‘ 16 channel function´on the controller, I can control all the layers values ! I think the nanoKontrol must have the same function. I was so uneducated about controllers ! :slight_smile:
Thanks again @Roma to put me in the right way !

Hello,

I tend to agree with @jofemodo:

May I start with a French wisdom that says "comparison is not enough ", anyway it is often followed by “but…” :wink:

10 years ago my favourite setup was the V-Machine + Korg Nanokontrol.
Unfortunatelly V-Machine project stopped suddenly.
Now I am happy to follow this Zynthian living project :slight_smile:

One feature that makes V-Machine performant in live condition is the mixer.

With the V-Machine you prepare the presets on a Windows/Mac program named "Vfx Application ":

And then you can download them into the hardware host:
image

On the 1st picture, the upper box is the copy of the hardware HMI.

As you can see, instead of cursors, hardware host HMI shows only some parameters (“Mixer Channel 3 Gain”). But it is not a problem if you have a HW controler (e.g. Nanokontrol,… ) because MIDI learn is powerfull and the HW controler will give a physical interface for the mixer.

This is just to say that, as a user, I rather need a mixer (or a centralised way to manage all layers’ volume) with appropriate midi learn function but I don’t need a perfect HMI.

1 Like

I do agree that the smoothest integration with the current UI the better.
However given it should take time to remap the UI to another layout, wouldn’t it make sense to aim for a merge of the current version of the mixer (flagged as beta, like the sequencer is) in the main branch, provided of course it’s stable enough, and then aim at homogeneizing the UI?

Hi @YPares. zynmixer changes the routing and hence is not compatible with pre-existing snapshots. There are also other issues as the implementation is not complete, e.g. some engines do not route to mixer. We are not sufficiently advanced to consider merging. I am taking a few days to consider everyone’s views before continuing with this development. At the moment we have a proof of concept which has some support but some concerns. I will continue to merge master into the zynmixer branch regularly which may allow you to use it for now until we decide on a direction. Implementing the solution suggested by @jofemodo will take a bit of effort sure to the new mixer implementation differing significantly from the current layer screen implementation. (Technobable for, this may take some time!)

1 Like

I suppose that you probably mean MOD-UI … :wink:

It shouldn’t be too difficult if the low-level code is already done, what it seems to be. Only UI code …

Regards,

Amazing discussion, it sounds like there are two different goals. One is real mixing, but that’s limited until there’s multitrack recording and playback. The second is the ability to adjust levels and pans to set up a performance of layers and tweak everything. Something a bit more core to the os and immediate.

The idea of horizontal meters makes a ton of sense for this. In fact, adding a “adjust levels” below remove all or elsewhere on the layer selection screen would be great. A click on that would replace the right column (where the logo is) with the meters. We’d use two potentiometers. One to scroll through layers and one to adjust the level/gain. A click could switch it to pan.

If we wanted to be fancy we could add an “add master fx layer” for a global bus and then more clicky click and more parameters to adjust with sends per channel. The last part is probably a bit much, but I think the immediacy of getting to a simple mixer on the screen where all the layers already exist makes a ton of sense and would be immediately accessible to anyone using the interface.

The vertical mixer has a place too if you are playing back and mixing down, and seems like it should be a “mixer layer” where you can see and adjust more easily and send groups to our wildly successful four track recorder that doesn’t exist yet.

Back to coffee for me :slight_smile:

2 Likes

What about an auto select of the layer that gets Midi In messages (if there is only one sending). When you are on stage and dont have time but just the CC7 poti.

1 Like