qiemem / eurorack

Firmware customization for Mutable Instruments' Eurorack Modules.
99 stars 18 forks source link

LFO/generalized attenuation #16

Open qiemem opened 3 years ago

qiemem commented 3 years ago

A popular feature request is for the ability to attenuate the output of segments. This would be especially useful for LFOs and for random segments.

Requested by saiteron, Squallaz, and loreamon.

There are several big difficulties:

  1. How to enable it. This is relatively easy to solve: the polarity control could be extended. Right half of pot gives you attenuated unipolar output. Left half gives you attenuated bipolar output.
  2. How to represent that a segment is being attenuated. The LEDs already have to portray a ton of information, and representing something, especially something with a continuous value seems quite difficult.
  3. How to save it. Since the state of this would be background parameter (not directly reflected by pot or slider), it needs to be stored. This would require at least an extra byte of information per segment to get any kind of granularity.
  4. How to transmit it. This would require a substantial addition to the chaining logic and is probably a non-starter. So, if this is going to be done at all, it will almost certainly only be for single segments.

There are currently a couple workarounds:

Because of the difficulties around storage and representation, I'm inclined to not include this behavior, but I'm open to suggestions of possible implementations.