Step function generator

A little bit of history — in case you’re wondering why this mechanism was invented - this is a good example of the old proverb, “Necessity is the mother of invention”

The scale component is also used in the Probabilistic Sound Designer. Many plugins have oscillators where you can set the octave (32’, 16’, 8’, 4’, etc) and a regular linear shape is sufficient to pick an octave at random.

However, the two Oberheim SEM 8-voice plugins that were recently released (from GForce Software and from Cherry Audio respectively) do not have a concept of octaves for their oscillators. Instead, you get continuous arbitrary pitch across the entire audio range.

Randomly selecting a value will mostly give useless results and so I needed to be able to create a set of steps, each one representing the host parameter value needed for individual octaves. After doing this manually a few (too many) times, I realized that a mechanism to create steps automatically would be very useful – and that’s how this function came about.

It’s always very gratifying when a mechanism designed to solve one problem can be applied to others has happened a few times with this step function generator.