zyn-fusion-issues icon indicating copy to clipboard operation
zyn-fusion-issues copied to clipboard

A modulation matrix to consolidate the modulation UX

Open dancesWithBugs opened this issue 2 years ago • 2 comments

If I understand correctly, each voice in ADDsynth has a modulation oscillator, but can also itself serve as a modulator for another voice. The current way to achieve the latter is to select a voice, click the modulation tab, click "NORMAL", which is a drop-down menu (for voices other than voice 1) and select e.g. "MOD 1" to use voice 1 as a modulator for the currently selected voice. Then maybe turn down the volume of the modulating voice. If that is indeed the correct workflow, I'd like to suggest a UI change.

Instead of the current per-voice "MOD-OSC" and "MODULATION" tabs, we could have a global modulation matrix like this somewhere (perhaps accessible via a global modulation tab):

    [v1][v2]...[v8]
[m1] ⮥
[m2]

.
.
.
[m8]
 v1
 v2  ⮥          ⮥
.
.
.
 v8

Arrows indicate modulation. [m1-8] are the voices' internal modulators. To the right of this matrix, there would be a panel containing the contents of the current "MOD-OSC" tab if a [m1-8] row-button is clicked, and the current "MODULATION" tab if a [v1-8] column-button is clicked, respectively.

I'm guessing that it is due to current technical limitations of zynaddsubfx that the mod-oscs are specific to a particular voice, that only voices of lower numbers can be used as modulators, and that a voice can only modulated by one other voice (unless indirectly by chaining modulators). If that assumption is correct, invalid options could be disabled in the matrix, though it would certainly be nice if anything could modulate anything else, including self-modulation (feedback).

In general, the above is just a super rough sketch to perhaps inspire someone with more intimate knowledge of zyn-fusion and zynaddsubfx.

dancesWithBugs avatar May 04 '22 08:05 dancesWithBugs

There's been a few discussions in the past about more explicitly showing the modulation matrix to users in the UI. So far nothing has been coded up to do so, but it sounds like you have the general idea.

fundamental avatar May 04 '22 21:05 fundamental

for control rate modulation I started something in https://github.com/zynaddsubfx/zynaddsubfx/pull/131

friedolino78 avatar Mar 06 '24 18:03 friedolino78