-
Notifications
You must be signed in to change notification settings - Fork 404
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modulation mappers, mixers and lag #1384
Comments
Partially related to #868, in a way. |
Also adding info about mod mixers (MMix module in Zebra). We can probably expand on this concept:
Also here's modifier list from Waldorf Microwave II: |
Three key insights from @baconpaul:
|
Just a note to self from #6929 - remember note-based quantization as a mapper too |
Adding a note here, instead of opening a separate issue, just don't wanna forget this again: The 1 mod range=1 octave paradigm of the keytracking modulator works great for some things, but is very annoying for others. Say I have a bass sound and I want it to get progressively less bright across its intended playing range. I can easily find my intended modulation range by ear, just by moving a slider around while playing my intended highest-lowest notes. But the actual slider position and keytrack mod range which then gives my intended results looks nothing like what I dialed in. The fact that you can't currently change the keytrack root is at the heart of this issue, so let's see if we can find a nice intuitive UX for that in XT2. Some intuitive way to say: "The mod range goes from this note to that note" is what I'm looking for. Maybe with a choice of what to do outide that range. You could make this a mode of mod mapper. Or maybe give keytrack a little UI of its own, since it's kinda specific. Perhaps pulling in some graphics from SCXT? IDK, just throwing some ideas in. |
This is a sorely missing feature in Surge, compared to some other powerhouse synths.
Basically, modulation mapper would be something like MMap module in Zebra. You can have any number of steps from 2 to 128, and you can then draw in your curve. It would take in a modulator which it would reshape and provide that as output, behaving as an additional modulator.
There could be a number of modes here. One mode could be Key, which would map the modmapper table to all the keys and then use that as its output value. In this mode modmapper acts on its own and doesn't take input modulator into account. Example: you set the shaper to 6 steps, with different values. These 6 steps map to MIDI notes 0-5, then wrap around for MIDI notes 6-11, and so on. This could be considered as a sort of microtuning table for anything you want to modulate, which is pretty damn spectacular.
Another mode could be Increment, which basically just round-robins throughout the modmapper table on every new key press. There should be a way to reset this increment back to 0 somehow - maybe on transport start, but also via an explicit MIDI message (say MIDI note 0?).
And finally, there would be the remap mode. Which is basically remapping the input modulator to the shape of the modmapper. Takes in modulator with range -1 ... 1 and outputs the same, depending on modmapper table.
Coupling this with lag also makes sense, to smoothen out the steppy nature of the modmappers. Lag should have a few modes too: linear, exponential, and maybe also separate times for attack (going from lower to higher value) and release (going from higher to lower value)?
Oh yeah, almost forgot. There should be some way to have some editing actions on the modmapper. Generating curves from math formulae, maybe? Saving/loading presets is a must. Then some options to carry out over the modmapper itself.
Here's two pages from Zebra's manual:
The text was updated successfully, but these errors were encountered: