Thank you for your thoughtful and detailed response. I’m still trying to figure out how best to respond as there is a lot here. For this response, I am going to back up a step and focus on what I am attempting to do and have done and just a bit about how I have done it and am doing it in my next release.
Meander is a sequencer. It does not deal with audio. As such, it sequences notes in a v/oct format and sequences gates. Meander can also output some CV values of various types, such as fBm noise, but also things like scale root. In my upcoming version, Meander can send out “CV” for scale mode, but let’s ignore that and focus on harmonic degrees.
For Meander to be able to sequence harmonic degrees, I needed a quantized format similar to v/oct. I actually developed this a couple of years ago when developing the ability to sequence Meander harmonic degrees from external modules, particularly external sequencers. Common practice defines the diatonic harmonic degrees as I-VII or 1-7 . I ended up implementing what I call an octal radix degree.octave format so that all degrees over the full note range can be represented, in quantized form. In practice, Meander accepts a degree of 0 to indicates a skipped step in a sequence. So, Meander harmonic degree input accepts quantized values from 0.0 to 7.7 allowing all chords to be played over the entire note range. In addition, Meander can detect if a MIDI keyboard (hardware or virtual) is controlling Meander harmonic degrees if the keyboard v/oct and gate are both connected to the Meander circle degree and gate inputs. This allows the keyboard white notes to play harmonic degrees in most octaves in Meander. If an external sequencer of octal radix degree.octave voltages are fed to both the Meander circle degree and gate inputs, the sequenced format is recognized and the full range of degrees and octaves can be sequenced in Meander with 0.x representing a skipped sequence step.
Even though Meander can accept octal radix harmonic degrees (and scale degrees in the Melody section), most other modules if they accept a harmonic degree input, do not support octal radix, such as with the Aaron Static DiatonicCV module. So, with the upcoming Meander output of harmonic degrees, Meander will send those in the octal.radix 0 octave format of 1.0-7.0v. (or via the options menu 0.0-6.0v).
Just as the v/oct standard for notes is very specific, I want the harmonic degree voltage standard to be very specific so sequencers can easily be set up with 1.0V representing degree “I” without having to do mental conversions. It just seems counterproductive to have to enter 0.0 for “I”, etc.
Also, Meander is a bit odd because almost all parameter knob CV inputs set the parameter rather than modulate the parameter. I.E., Meander is rigged for automation. In almost all cases, Meander uses CV inputs in the range of 0.0-10v for such automation and scales the input properly, dependent on the parameter range. I have set up tooltips info for each CV input, so the user can see what voltages are expected.
That’s probably enough for now. I know I can rescale the Meander degree out for other modules using discrete modules, but I’m tying to avoid that as it puts the burden on the user to figure out something that works. I have considered auto-detecting what the degree output port is connected to and automatically scale the output appropriately, but, that would require modifying Meander for each different module. In this upcoming release, Meander checks whether some CV inputs are coming from Meander or an external module by walking the cables and that works, so I know how to do it, but am trying to avoid doing that for harmonic degrees.