> 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.
_______________________________________________
Linux-audio-dev mailing list
[email protected]
http://lists.linuxaudio.org/listinfo/linux-audio-dev