1) Fork these plugins and add a tuning frequency port,
in Hz, which> makes the current reality of them using absolute octave signals go
away.> The avwlv2 project will have to adjust the ported AMS modules likewise.>
Though your plugins do not currently do this, you now seem to think this> is the
correct solution?> > 2) Define an absolute unit in octaves with a standard,
absolute, center> frequency. This is current reality, except the "define"
part, and the> 'standard' is a weird frequency.
Not sure if I can really
comment on these two options but can't you movetuning into the MIDI code? Here is what
I mean: > Suppose you have a VCO with two 1/octave control ports.> One is used by a
GUI element, say a slider which could> have a scale in Hz, note names, or octaves. The
second> is the 'voltage' from a keyboard.> > The actual frequency of the
VCO would be> > F = exp2(V1 + V2 + C) (1)> > where C is some constant,
e.g. log2(440).
The constant 'C' used to be the keyboard voltage from the resistordivider circuit.
It was intended to be the voltage that would produceA440 on middle-A on an 8'
transpose, no mods or detuning. It was neverthat accurate by which I mean the oscillator
signal depended on otherenvironmental influences and is why many of the old beasts had an
A440reference sine wave and global/auto tuning.
You could extract the same from your MIDI signal so that the MIDI inputis also converted
into a port that is summed with the mods to producethe output signal - you are going to
have summing, it is needed to linkkbd, mod, fine/rough tuning.
There is no such thing as "property of the
VCO" except parameters (i.e.> control inputs), so this is equivalent to saying
there should be two> ports where only one is absolute.
Well, in the voltage
controlled synths there were properties of anoscillator. If your synth does not have
controls but only ports then howdo you select the waveshaping code? How do you select
12+24dB/Oct filters,how do you select keyboard tracking versus non-keyboard tracking
oscillators,are these all input ports with implied semantics? Are they different modules?
There are other examples but when I was starting on Bristol this single issuelead me to
separate out mod/volt controls and property controls since the optionof using an input
port to define a constant is a waste of CPU cycles and is alsogoing to be pretty
arbitrary. I also liked the concept of it being 'fully bussed' but that truth is
that it does not apply itself that well. Having separate modules for each waveform, filter
type, tracking methods, etc, is also a waste of time and even more so if different modules
have to be invoked each time somebody changes parameters.
The other parameter that is going to be an issue is transpose. You couldlook at this as
another input port but that is another waste of CPU to havea port for a constant value.
Also, the original synths did not have avoltage value that represented transpose, it was a
property that adjustedthe rate of the oscillator which drove the waveshaping circuits. The
issuehere (with the originals) is that the waveshaping was dependent on thefrequency so if
an oscillator is transposed then some changes may alsobe needed to the parameters of the
shaping circuit. This is difficult toemulate if you literally only have ports rather than
properties/controls.It can be argued here that you are not intending to actually emulate
anyspecific synth in which case these interactions are not necessary but ifyou are not
emulating then why do you want V/Oct which is an emulation ofthe controls of the analogue
synths?
Also, if you do want to use V/Oct then perhaps also get rid of -ve values.I mentioned this
before and I always get ainsy when considering 'what if thecontrol bus goes
negative?' It is unanticipated results for an AMP and -vevalues to a filter cutoff can
be, well, put it this way, I check for them.The Moog spec for CV was 0..10v, the value
does change according to yoursources but it never included -ve volts.
Regards, nick.