Feature Enhancement: new parameter: 'CV Variation Weighting'
Hello Eloquencer Users and Winter Modular Engineers,
If I'm not mistaken, currently the CV Variation parameters allow users to set up a symmetrical (±) 'variation range' based on the note (CV value) programmed for a particular step. As a results the sequencer generates random notes around the programmed note with that note being the center - probably utilizing a bell curve. While this is a very useful and welcome feature the results may not always be musical. (In this context, several post in this forum show the desire for a parameter to harness the randomness a bit more.)
Similar applications in soft- and hardware sometimes offer a "weighting" parameter. See for example Mutable Instruments 'Marbles' - i.e. the 'Bias' parameter.
In context of the Eloquencer I like to propose the following (if technical possible):
- Add a CV Weighting (or Bias) parameter (Red lit CV button)
- The 'Weighting' parameter is bi-polar ±100%
- At 0% the random value distribution behaves as currently implemented
- Positive %values favor higher values in respect to the base value and range i.e. the bell curve is shifted upwards and limited by the set variation range (assuming that a bell shape is used)
- Negative %values favor lower values in respect to the base value and range i.e. the bell curve is shifted downwards and limited by the set variation range (assuming that a bell shape is used)
I think the above may address a couple of feature wishes mentioned in this forum. Just as an example:
- At about 50% (plus or minus) the result is essentially a "uni-polar" distribution of random values (albeit with a shifted center)
- At 100% (plus or minus) the result is a single note determined by the variation limit. This allows for example to set the variation range to an octave. Depending on the probability parameter, the results will jump between the programmed base note and the octave
- And there are hopefully many more musical settings in-between
What do you guys think?
this would be amazing, exactly what I am looking for, hope it gets implemented in the future!
Alternative to the 'Weighting' parameter described in the topic of this thread.
Very similar results can be achieved by adding a 'Range Shift' parameter.
- The bi-polar 'Range Shift' parameter allows the user to move the 'CV Variation Range' up or down with the programmed note being the center (base value) i.e. a shift value of zero equals the current implementation of the range parameter.
This implementation may actually have some advantages:
+ Potentially easier to implement as there would be no need to develop a weighting algorithm.
+ Easier to learn for the user as the 'range' parameter already exist. The only new behavior is that now you have the option to move that range.
+ Shifting a 'range' will produce more predictable randomization results compared to 'weighting' as by nature the results of any weighting process are not as clearly defined as moving a set range up or down a scale.
Many thanks for this detailed and interesting feedback 🙂
My idea (well... not mine, the idea originally came from Maxwell Ravitz @m.rav ) was to do it with an asymmetrical bipolar range, that I think is similar to the option you mention in the second post. The bipolar range can move in relation with the nominal value, in its limits we find a negative or positive range, in the middle position we find a symmetrical range, in between asymmetrical range.
This feature is on the 'to do' cue, in one of the first positions, so it is possible it will be released this year.
The 'Weighting' approach is really interesting, and it could improve Eloquencer random musicality, but at this point of the project I don't want to load the processor with calculations that consume computational capacity, I prefer to save a little bit of MCU for future/possible new features.
Thanks again for your feedback ! 🙂
Hi Admin : )
If I understand the description correctly an 'asymmetrical bipolar range' is actually identical to the 'range shift' idea. It is just a matter of how you call the parameter that moves the range around the nominal value. Nice, that this feature is hight up on the to do list.
I totally understand your concerns about the additional MCU cycles a 'weighting calculation' will use. For all intend and purpose the asymmetrical range will just be fine.
In any case, I think a 'weighting' algorithm really starts to shine or make a noticeable difference only if the entire system is capable of supporting a significant number of possible values i.e. resolution. If I'm not mistaken the Eloquencer's smallest voltage increment is 1/12 volt. And considering that for sequencing a typical CV variation range is rather small, weighted results will probably be barely distinguishable from the asymmetrical range implementation you describe.
Thanks : )
If I'm not mistaken the Eloquencer's smallest voltage increment is 1/12 volt.
You are right, the accessible smallest increment is 1/12 Volts, although the DAC (+op-amp) is capable of ~10/4096 Volts increments