[sdiy] VCO autotune for poly analog modular

harrybissell at copper.net harrybissell at copper.net
Wed Apr 4 15:38:24 CEST 2007


Should be easy to do by calibrating maybe five
octave spaced points, then use linear interpolation
within those note ranges. The Prophet V worked this way,
and it was quite effective. That was a Z-80 iirc with very
little RAM 

H^) harry
>
>
>---- Original Message ----
>From: controlvoltage at gmail.com
>To: synth-diy at dropmix.xs4all.nl
>Subject: Re: [sdiy] VCO autotune for poly analog modular
>Date: Tue, 3 Apr 2007 18:28:22 -0400
>
>>Yes you can do this.
>>
>>Possible disadvantages/challenges:  You'll either need (A) a
>processor
>>burly enough to interpolate a curve between your sampled note values
>+
>>stored offsets, or (B) a LUT containing offset values for every note
>>at every octave setting of each oscillator in your system.  The
>former
>>demands more CPU horsepower than you might otherwise need, and the
>>latter means a heinously-long calibration routine.
>>
>>Also, you may need to experiment to find a waveform that is "easy to
>>count" from the processor's POV.  Not doing this may cause your
>>routine to time out or hang.
>>
>>Good luck!
>>
>>-Amos
>>
>>On 4/3/07, Magnus Danielson <cfmd at bredband.net> wrote:
>>> From: mrmike <mrmike at clickbang.com>
>>> Subject: [sdiy] VCO autotune for poly analog modular
>>> Date: Tue, 03 Apr 2007 10:00:15 -0500
>>> Message-ID: <46126BFF.5010907 at clickbang.com>
>>>
>>> Mike,
>>>
>>> > Yes, I'm insane.
>>> > I'm trying to build a polyphonic analog modular based on five
>ASM-1s.
>>> > Think Obie 4 voice, rather than Prophet-5, as a design style.  I
>would,
>>> > however, like to be able to set an accurate single voice across
>all five
>>> > modules. Basically, all five panels could have their own
>controls, but a
>>> > switch on panel one will disable the front panel controls  on
>panels 2-5
>>> > and slave them to the controls on panel one.  In this mode,  an
>autotune
>>> > function would be useful.  Has anyone ever implemented one of
>these in a
>>> > DIY polysynth?
>>> >
>>> > I was thinking of having the tune function compare VCO freq at a
>given
>>> > CV voltage at several points across the 0-5V range for each VCO,
>then
>>> > create a lookup table with a compensation map for each VCO.  As
>each CV
>>> > for each voice comes in, its corresponding spot in the table is
>found
>>> > and the tuning offset voltage is added to the initial CV and
>then sent
>>> > to the VCO. Is this a dopey idea?
>>> >
>>> > Thoughts welcome!
>>>
>>> Now I get the ASM-1 question on a separate thread! :-)
>>>
>>> Look at the Oberheim OB-8 (service manual on my webpage).
>>>
>>> It uses a single Z80 processor, a 14 bit DAC and an Intel 8253
>PIC. Two of
>>> the three 16 bit counters is used for the auto-tune feature.
>>>
>>> What the logic do is to setup the VCAs for each oscillator such
>that during
>>> auto-tune it scans through each VCO and listen to the output mix
>with the
>>> 8253. It compares the VCO to the CPU clock, which is a crystal
>oscillator.
>>> Without checking the details, I beleive that the CPU clock is
>divided down
>>> to create the counter gate-time and a certain number of oscillator
>cycles is
>>> measured. It is fairly obvious how to elaborate on that. It is
>easy to get
>>> sufficient resolution, I know alot about that.
>>>
>>> In the other end you need an oscillator model which you need to
>correct.
>>> The most simplest model is to just have CV offset and scale being
>corrected.
>>> This is easy enought. You can take just a few samples (two will
>do) and you
>>> will get both offset and scale errors corrected. A more elaborate
>scheme would
>>> also do high frequency compensation to handle errors in the high
>frequency
>>> compensation already there.
>>>
>>> Once you have measured your compensation parameters, you use them
>to offset
>>> and scale your signals.
>>>
>>> The cool thing about the OB-8 VCO trimming is that you have two
>LEDs and those
>>> tell you which way to turn the single trimmer on the VCO. When
>both LEDs are
>>> on. After that the auto-tuning does the rest.
>>>
>>> Unfortunatly this is not done for the VCFs. Sigh.
>>>
>>> Hitting the auto-tune on the OB-8 certainly makes things muuuch
>more in tune.
>>> I even find it "too perfect" for some stuff so I don't turn it or
>actually
>>> joggles the power-switch to un-tune it (There should be a feature
>to disable
>>> tuneing!). It is sufficient and not too complex. You should be
>able to do
>>> something similar.
>>>
>>> Build an high-freq tuning support would be nice.
>>>
>>> Cheers,
>>> Magnus
>>> _______________________________________________
>>> Synth-diy mailing list
>>> Synth-diy at dropmix.xs4all.nl
>>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>>>
>>_______________________________________________
>>Synth-diy mailing list
>>Synth-diy at dropmix.xs4all.nl
>>http://dropmix.xs4all.nl/mailman/listinfo/synth-diy






More information about the Synth-diy mailing list