"Parameter Locks" modulator

A modulator for parameter locks (like found on Elektron sequencers). The idea would be that you could have multiple modulators with different settings per step of a sequence. There would be a sequencer that would allow you to set different values for each step for each of the modulators. A solo option for each step would also be useful for dialing in the settings for each step. It would have an option to switch between different lengths of steps.

While, there are ways to do parameter locks, a dedicated modulator would simplify this type of workflow. Parameter locks are very useful when you want intricate edits per step. This is a great way to make complex sounding glitch edits quickly and easily. The solo option really helps when you want to quickly get precise parameters per step.

This video shows how this feature works on Elektron devices:

What problem(s) would this feature resolve?

Even if Bitwig contains all the elements to produce the type of sound, effects and workflow that this “Parameter Locks” feature requires, they are not connected, and users need to rely on very complex Grid patches to emulate it.

How does this feature fit in Bitwig as a product?

It would add to Bitwig’s extensive modulation. Also, it would give users something similar to the “Parameter Locks” found on Elektron sequencers. It would be a great complement to the operators in Bitwig 4.

Is there already an alternative way to achieve this on Bitwig?

It is possible to an extent with the steps modulator or parseq8 modulator. If you expand them with the Grid, you get get much more extensive parameter locks. If ParSeq-8 had at least the option to raise the steps to 64, then a lot of parameter lock uses could be done with it, without needing to use The Grid.
Although, I think a dedicated parameter lock sequencer/ modulator could be much more flexible and intuitive than what you get by linking parseq modulators.

Could it be implemented using Bitwig components or APIs, without Bitwig team’s support?

No

Could it be provided by a VST or something else reasonably integrated with Bitwig?

No

Are there other products that offer this feature?

This request is inspired by Elektron sequencers and the Malekko Voltage Block Eurorack module.

Relevant links (optional)

https://www.reddit.com/r/Bitwig/comments/ai3w97/i_love_the_parameter_locks_in_the_elektron/

2 Likes

15 posts were split to a new topic: [Draft discussion] “Parameter Locks” modulator

I recently have been using the steps modulator or parseq8 to do parameter locking. It is much much simpler than the grid patch I did before, and uses less cpu. The issue I had with using that before was that I couldn’t solo steps. But, it’s actually very easy to do. You can just assign a macro to the phase of the steps modulator (with the steps modulator on hold), and use a saw wave to drive the macro(or another wave if you want different directions). Then, if you want to solo a step, just de-activate the saw, and turn the macro to the step you want to hear, and it will effectively be soloed. This is similar to a workaround suggested by @x.iso on the thread about macro selectors.

If you are using steps, you can just duplicate the steps module for however many parameters you want to be modulated by parameter locks.

You can also link several parseq8 modulators together to do parameter locks with it. I’ve done that in the Grid. You also have to make sure to deactivate each parseq that isn’t playing, or it’s last step will stay active. There might be an easier way, but I’m not sure. Just like with Steps, you can bypass the ramp modulating the macro that is fed into the phase to solo a step. Parseq is more flexible, because you can modulate lots of stuff from one parseq modulator, intead of using multiple steps modulators.

Doing it these ways works pretty well, so I don’t know how necessary this request is. But, I do still kind of think they could improve on parameter locks with a dedicated modulator. Really, if they just allowed you to increase the number of steps on Parseq8, without having to link multiple of them, that would be enough to make it work well.

I guess this is a separate request, but it’s related.

One of the most useful features of The Elektron Sequencer is that parameter locks are linked to “pattern.” Some electronic genres give a lot of attention to how modulation changes over time (notably acid techno), and by including the parameter locks in the patterns, you get a very clean interface for progressing timbre. Typically, a DAW does this with automation lanes, which is sometimes adequate but often cumbersome.

For acid, having three automation lanes for cutoff, filter envelope amount, and decay time isn’t terrifically cumbersome, but as the modulation targets grow, so too the difficulty.

Unless I’m mistaken (which would be wonderful), it is not possible to switch the entire state of a modulator with a single automation event. It is possible to “switch” between Steps modulators by turning their global amount to zero, and so you can store and switch between Steps patterns in a Steps modulator using one mod lane per pattern, or you can do it using a Merge object in The Grid. Steps is just one modulation target. Using an array of 8 parseq8 modulators to get 64 steps is hard enough, but needing a new set of 8 modulators for every pattern is verging on ridiculous.

AFAICT, the parallel solution is a full on tracker-like text grid, which I wouldn’t mind but won’t bother even asking for. Some kind of “switch to preset” operation would help.

1 Like

Unless I’m mistaken (which would be wonderful), it is not possible to switch the entire state of a modulator with a single automation event. It is possible to “switch” between Steps modulators by turning their global amount to zero, and so you can store and switch between Steps patterns in a Steps modulator using one mod lane per pattern, or you can do it using a Merge object in The Grid. Steps is just one modulation target. Using an array of 8 parseq8 modulators to get 64 steps is hard enough, but needing a new set of 8 modulators for every pattern is verging on ridiculous.

I definitely agree that having different modulator states built in would be useful. I have been working on sort of recreating a machinedrum in Bitwig. I have experimented with a bunch of ways of chaining parseq modulators. The problem is that once you have many patterns, the chains just get too big.

I think what would solve this would be if we could have something like 128 different presets/ instances for the modulators. Something like a knob in the corner with a value that would change to a different state for the modulator. If you are working in a live set, it would be very cool too, because each scene could have a different instance of the modulator.

On top of that, if you could simply adjust the step amount, you wouldn’t need to use the Grid at all to chain the modulators.

I have been meaning to make a request of modulator presets/instances , but I haven’t been on the forum for a while, so I haven’t gotten around to it.

I made a sort of work around too recently that is basically a huge chain of parseqs linked up in the grid, and their phase is driven by an audio sidechain. I have a dc offset on a separate track for the audio sidechain input. The different positions of the dc offset trigger different parseq modulators.

It is definitely an inconvenient workaround though. Different modulator states would be much better.

1 Like

to be honest if I remember correctly Parameter locks actually work with sequence for particular sound you have going (in Electron devices), so what we need is extensible expressions that can be used as modulation. Maybe the best way to go about it would be to have similar option to ‘Add automation lane’ when you click on parameter, but instead you would have ‘add expression lane’ for specific modulator parameter or amount. So for example you could edit phase of Parseq-8 as expression for specific notes. for now you could workaround by using timbre/pressure expressions and having those modulate the phase, but of course you can’t have more expressions then.

To me, parseq basically does the same thing as p-locks, in that for each step, you can use the parseq to modulate any parameter (since each step has its own modulator). The main issues that prevent you from having a full on elektron sytle workflow are:

  1. only 8 steps ( although they can be chained together using the grid). The option to just adjust the step amount to at least 64 would be great, since it would simplify the process and make it much more usable.
  2. If you are working with many patterns, you need to switch between many parseq modulators, and it becomes a hassle to use. ( I have tried a few different ways of doing that. I was meaning to make a video about that a while ago, but I kind of stopped uploading Bitwig videos lately). Anyway, what would be really beneficial, would be the option to have different instances within a parseq modulator ( or any modulator ). That way, each pattern could have it’s own p locks within the same Parseq modulator.
  3. One of the nice things about Elektron boxes is the ability to record parameter automation live ( by hitting function-record), and then tweak the parameters step by step. I don’t really see a way we would be able to do that within a modulator. I just record normal automation to do it in Bitwig, because the parseq modulator will over-ride that anyway. One thing that would be nice though would be if you could quantize automation to beat divisions. You can do a workaround for that with the Grid though.

Parameter locks are essentially just automation quantized to each step. But, I love how it works on Elektron boxes, just because of the more live drum machine feel of how you program it. I find also that it make it very easy and intuitive to focus in on each step than working with different automation lanes for every parameter you are automating. I think it forces you to deal with moduylation in a more rhythmic way.

I think Bitwig has taken some influence from Elektron. The Operators in V4 seem to me to be pretty much the same thing as “trig condtions” from Elektron Boxes, and the retriggers per event are similar to retrigger on some of the Elektron Boxes. So, I think if they improved the parameter lock workflow, Elektron users would enjoy that.

as I’ve said, in Elektron you’re working with step sequencer to begin with, while in Bitwig you’re working with notes, there’s no note step sequencing beside something you can setup in Grid or with old modulator tricks. what parameter lock does is equivalent to expression assigned for the step modulating things. if you have a parameter sequencer that’s completely detached from sequence of your notes, then it’s a different kind of automation.

1 Like

not at my home computer at the moment, but don’t Steps and ParSeq8 already have an “next step with note” mode?

1 Like

yes, there’s note advance mode, but then the only thing it helps with is to tie modulator step to a note start till next note hit, but complicates when you want it to work polyphonically. you can advance steps polyphonically, but it happens for each voice independantly, so higher voices will advance more rarely than first voice, and you could hardly predict how it’ll match up to specific notes. either way your sequence will always have limited number of steps/loop length, while your note input can be much more complex. sometimes that’s what you want, decouple parameter modulation steps from your clip loop sequence, but it’s not really parameter lock then.

2 Likes

polyphony does complicate matters.

The more I think on this, the more I think the best way to implement this would be something like a note inspector that links device parameters to each note. CLAP includes Note Expression (this term is used in other protocols, not sure about CLAP). It seems like if you wanted to add these without “playing them in” (i.e. using the GUI), you’d need some kind of interface. Assuming note expressions beyond pitch, velocity, and aftertouch are exposed, those should be the ultimate solution to this problem.

I would still like the improvements to Parseq that I mentioned above. But, I can see what you are saying about it being related to the beat division, rather than note. For me, that was ok, because I was trying to use it like a machinedrum. But of course, a more note specific moduator is better if you go off a fixed grid. I wasn’t really thinking of polyphony before either, because I was trying to mimick Elektron boxes.

I think that maybe the best thing that could be added to Bitwig that would give parameter locks per note (rather than by time divisions), and with polyphony, would be a modulator in the inspector, alongside the operators. I imagine something like a modulator icon that could be turned on, and used to assign to devices within the track.

indeed technically CLAP should make it possible for DAW to create per-note automation for any parameter at all, just Bitwig itself doesn’t have such capability yet. and I think it’s time to add per-note automations. normally we have these expressions:
image

perhaps additional button at the bottom could be added for per-note automation beside already existing regular automation. it would basically be combination of how expressions editor works, but instead of buttons for each expression type you would have a drop-down menu for parameters like in automation edit panel.