I have an idea that involves sending CV between step sequencers indicating which step number the sending step sequencer is on. I.e., each time sequencer steps forward it would send a voltage indicating the current step number: step 1, step 2, step 3, etc. A receiving sequencer (or whatever) could then take action based on the sender’s step number. Is there a precedent or generally accepted best practice for doing this?
My thought is to go with something similar to the v/oct standard, but with a different scaling to allow for values 0…160 over a 0…10 volt range, a volt-per-16-steps strategy. Or perhaps a fuller range of 256 values allowing for 16 groups of 16 steps.That seems excessive to me, and I kind of like the simplicity of the volt-per-16-steps concept, but if there is a good reason to support up to 256 it would make sense to target that from the start.
3 of my modules have something like this, unfortunately I’ve somehow managed to implement them all differently…
For 5Splice the WIN output is set to the selected channel (or step if using as a sequencer) * 2.5 (but the channels are zero based, so that gives an output voltage of 0 to 10)
For TMNT there is a step output for the X and Y values, these are calculated as step number * 10 / 8 (because there are 8 steps, this gives an output of 1.25 to 10). For the STEP output, this is calculated as step number * 10 / 64
Although these two modules are implemented differently, the common philosophy was that the output is basically 10 volts divided by the total number of possible steps.
For PolySplice however, and I don’t know why, but I chose to make the WIN output the calculation of step number * 0.5 so the result output is from 0.5 to 8
Clearly this is no precedent or standard… but in my defence, these were not meant to enable the user to send the step number as a meaningful value to another sequencer or module, they were just meant to be interesting modulation sources, and they can also be easily rescaled into an appropriate range using an offset attenuvertor, my favourite being Bogaudio-Offset
I have had many cases where I wanted to send an arbitrary integer out of a module. One thing to keep in mind is that a module can send greater than +10.0v out. An example of this is shown here where NYSTHI “FIXED VOLTAGE SOURCE” module is outputting 1.0, 10.0, 100.0, 1000.0, 10,000.0 and 100,000.0 out and CM Volt Meter is displaying those large “voltages”.
Of course other modules might clamp these input voltages, but in your own you could choose to not clamp them and to round them to integers values. If I remember correctly, the Submarine AO series modules will handle these larger “voltages”, up to a limit.
In my Meander module, I output some port voltages differently it that port is connected to a Meander input port in either the current or another instance rather than to another plugin’s modules.
So the voltage/10 represent a percentage of progress to full cycle. Had not thought of that. Could have interesting uses.
Hmmm … interesting. Had not considered that either. Like you mentioned, clamping at the receiver end might be an issue, but I can see cases where sending > 10 volts would be useful.