sync'ing continuous waveform to clock pulses (was:voltage controllable harmonic generator idea ( Was Re: clock multiplier )

Magnus Danielson magnus at analogue.org
Fri Apr 17 02:42:21 CEST 1998


>>>>> "HJ" == Haible Juergen <Juergen.Haible at nbgm.siemens.de> writes:

 >> If you don't want to use a pll for clock multiplying (large run-in
 HJ> time
 >> constant, but on the other hand... if the clock rate were very
 HJ> high...)
 HJ> [...]
 >> Most pieces of music won't change the tempo more then some %
 >> anyway.

 HJ> The bad thing about generating a continuous wave (for the
 HJ> waveshaping / frequency multiplying we talked about, or
 HJ> for other things) from a pulse input with varying frequency is
 HJ> that the pulse does not carry *any* information about altered
 HJ> frequency before the next slope appears. So you are always
 HJ> one period late, regardless what device you use. But you
 HJ> might have some choice *how* the error would manifest. 

The pulse waveform may at first seem as a "perfect" way of conveying
propagation in time (such as for sequencers) but due to the fact that
you can't *REALLY* predict the transition you cannot correctly do the
things you want to do prior to the transition (such as accelerating to
the value we have not yeat steped to and arrive there exactly when we
have a transition and without landing there prior to the transition,
just a smooth acceleration to the value...).

Things like this can be solved in several ways, here is a palette of
solutions:

1) Using a strict predictable time from the last transition to the
comming transition. In this solution space would a normal frequency
following PLL fit for instance.

2) Solve by adding delay, so that you know the "future" so you can act
properly. In this solution space would a digital IIR/FIR filter for
instance show up.

3) Add better phase-information to allow propper time-processing. In
this solution space would a change of the pulse-wave into saw-wave
and CV-only processing be used.

As Juergen notes below will alternative 1 go away due to the requested
behaviour of the signal - we know that it may vary noticably over time
for a sequence.

Another issue here is most probably real-time properties, and then
would the delay necessary for solution 2 be so great that the
real-time properties is compromised.

In this light I'dd say that alternative 3 is tastier...

 HJ> I ran into this problem when I thought about external syncing of
 HJ> an analogue sequencer. (Not yet built, so this is only theory, mind
 HJ> you!)
 HJ> I wanted to have an internal saw wave clock generator, in order to
 HJ> get voltage controlled gate lengths similar to pulse width modulation.
 HJ> And I also wanted to have voltage control on the (saw) clock generator,
 HJ> and wanted to have a sync input to clock it from external sources.
 HJ> I decided against a PLL, because I wanted the sequencer to respond
 HJ> *immediately* to changes of the external clock. (clock rate suddenly 
 HJ> doubled or  divided by two is a very "musical" thing, after all.)

A PLL could however be used in order to introduce intentional lagging,
which could be as such be usefull to get interesting of-beat pattern
swings. The modulation generator of the Hi-Fly could be an inspiration
here... think drum-roles etc.

 HJ> So my decision was to change the slope of the saw wave rather slow
 HJ> (within the possible limits) with a f/V converter or the like on the input 
 HJ> pulses, but do a hard sync of the clock generator to the input pulses
 HJ> at the same time. So the slope (and height) of the saw wave would 
 HJ> start as an approximation and crawl to its new value slowly, but the
 HJ> tempo change would happen immediately. So I would have a pulse
 HJ> width (gate time, note lenght) error, but no timing error. The good thing
 HJ> is that this works around a standard saw-based VCO with hard sync.

If you slave hard to the levels of the saw-wave, then you could have
separate time-movement pots for each note so that you can get fixed
of-trigg positions (in phase, not time).

I can see how creative CV-processing could prove usefull for this kind
of sequencer... (jum jum).

 HJ> We could use a similar approach for frequency doubling, based on
 HJ> Kevin's idea with the monoflops. The monoflop time constant could
 HJ> be adjusted slowly by some control loop, but we'd still have a
 HJ> "frame" of the input beats that would be tracked immediately.

 HJ> No idea if this is of real use. The effect should be like a drummer
 HJ> that plays the tempo change accurately at the strong beats, but
 HJ> performs some freedom in between. No idea if this sounds pleasant
 HJ> or not. Would like to hear it.

As I have been thinking about similar tricks of analog sequencers I'd
say that there is still many interesting tricks that I have never seen
around anywhere else that one could do. Let's keep the brainstorm going.

I need a fun seq to fool around on :)

Cheers,
Magnus




More information about the Synth-diy mailing list