Would a bit of delay make octave dividers more "musical"?

Started by Mark Hammer, December 27, 2017, 07:57:33 PM

Previous topic - Next topic

Mark Hammer

One of the inherent quirks in analog octave dividers is that the flip-flop typically used requires two cycles of input for each pulse generated.  Play a high note and the time delay is not readily noticeable.  But play a low note and the asynchrony canm be noticeable.

For example, a 200hz tone would yield a 100hz tone an octave below.  But since the 100hz tone does not get produced until the second 200hz pulse occurs, we're looking at a delay between fundamental and octave-down of 5msec.  If one is using any sort of analog divider that produces one and two octaves down, the f/4 sub-octave is even further delayed, relative to the fundamental.

From one perspective, I suppose some might say this is a perk, since the asynchrony might make the octave and suboctave sound "different" sound sources.  On the other hand, after the first divided pulse is generated, the fundamental and divided products become synchronized for the remainder of the sustain period.  So, in a sense, divided notees start out sounding like they come from different sources, but quickly become blended into the tone of one source.

Octave and suboctave generation in the digital domain is certainly done differently, and I would imagine at a speed that virtually eliminates the perceptible onset difference between actual and divided pitch.  Moreover, in the digital domain, one could easily delay the undivided tone a smidgen to make it seem like the divided and non-divided pitches begin simultaneously.

In the analog realm, it is obviously going to be nigh impossible to "speed up" the octave division.  But we can slow down the output of the actual pitch of the note so that the divided versions can "catch up" to it.  In other words, use of a BBD to generate something on the order of 3-5msec delay (after the input had been tapped to do the octave division) might make the true-pitch and divided versions seem to "start" at the same time, resulting in them being perceived as the tone of a single sound source.

So, a couple of questions arising:

  • Am I making a big deal out of nothing?
  • Has anyone already done this?
  • If so, does it create unforeseen problems, or do you think it would create problems>
I'll note that EHX used to use a let's-delay-a-bit-to-let-the-effect-catch-up approach with the old Attack Decay pedal, initially tapping the input signal to extract the envelope, but delaying that signal a bit after that to apply the envelope to.  So it's not entirely unreasonable, if probably a little more complicated than most would like it to be.

reddesert

Quote from: Mark Hammer on December 27, 2017, 07:57:33 PM
For example, a 200hz tone would yield a 100hz tone an octave below.  But since the 100hz tone does not get produced until the second 200hz pulse occurs, we're looking at a delay between fundamental and octave-down of 5msec. ...

Octave and suboctave generation in the digital domain is certainly done differently, and I would imagine at a speed that virtually eliminates the perceptible onset difference between actual and divided pitch.  Moreover, in the digital domain, one could easily delay the undivided tone a smidgen to make it seem like the divided and non-divided pitches begin simultaneously.

In the analog realm, it is obviously going to be nigh impossible to "speed up" the octave division.  ...

I don't know the answers to your questions, but I think you're treading close to the question of how quickly the envelope, in an ADSR sense, of a low-frequency signal can change.  Specifically, what does the "attack" of a 100 Hz note mean, compared to the attack of some higher frequency?  I think for the rising amplitude of the signal to be well defined it has to be rising over several cycles of the note - the pitch has to at least Nyquist-sample the attack of the envelope. There are Fourier-analysis considerations here -basically, if you have tightly defined frequency content, then your signal has to be spread over some largish area in the time domain; if your signal is sharp in the time domain then it has to contain a wide range of frequencies.

For sampling reasons, I don't think a digital algorithm could start generating the octaves faster than at least one cycle of the input signal.

A piccolo seems to have a much sharper note attack than a tuba (womp-womp), and this is mostly due to the range of the tuba. So my guess is that the effect is more subtle than it may appear. It would be interesting to try the few millisec delay-line experiment, but I'm guessing that what you'll hear is a change in the perceived attack of the signal, rather than two distinct note sources.

DIY Bass

If I am grasping what you are saying properly, then you would need a slightly different delay time for different notes.  You would therefore need some sort of detector circuit to detect what note was being played and set the delay amount for that note.  I suspect that madness might quickly follow.

Mark Hammer

You raise a legitimate point.  I was thinking more along the lines of a shotgun solution, such that the fundamental would be a little better time-aligned with the divided versions, even if imperfectly so.

diffeq

Quote from: DIY Bass on December 28, 2017, 03:18:58 AM
If I am grasping what you are saying properly, then you would need a slightly different delay time for different notes.  You would therefore need some sort of detector circuit to detect what note was being played and set the delay amount for that note.  I suspect that madness might quickly follow.

OR another approach: you could use output of octave-(up/down) part and bind it via PLL to control clock of, say, MN3005 chip. Higher frequency -> faster clock -> shorter delay. Still a lot of complex circuitry though.

anotherjim

My thoughts have leaned toward giving the octave a slow attack, but not of the amplitude. No, I was thinking of a low pass VCF that gradually opens on input attack. Reasoning, or hope, is that it could smooth out any glitching or jitter until the tracking settles.

amptramp

With a divider, you have the option of initializing the toggle flip-flop so it switches on the rise of the signal or the fall of the signal by setting the initial conditions and clock input polarity.  If you have the divided signal change states at the leading edge of the input, there should be little delay beyond propagation delay.  But if the input goes high when the string is first plucked but the divider changes state when the input goes low then there will be a time delay for the lower octave note.  You may have to adjust the circuit to operate on the first half cycle and it may depend on whether the guitar pick is moving up or down.

iainpunk

I think you need 4 cascaded allpass filters to delay the note 360° (one full wavelength) so it always synchronises everything automatically and analogue.

But i think you are makeing a fuss over nothing and that it will sound allright
friendly reminder: all holes are positive and have negative weight, despite not being there.

cheers

Redvers

I don't see how a digital effect could be any quicker than an analogue one. Both need to see a full cycle before they can do anything surely? If anything I'd say analogue was faster. Also I think you're over thinking it.

ElectricDruid

Quote from: Redvers on December 29, 2017, 08:15:34 AM
I don't see how a digital effect could be any quicker than an analogue one. Both need to see a full cycle before they can do anything surely?

Not necessarily. One (naive) way to produce an octave-down digitally would be to take each incoming sample and output it twice. Like that, you'd start producing your octave-down output as soon as you had a sample - e.g. there'd be no more lag on the octave signal than you'd ordinarily get from the ADC ->DSP->DAC process.
Obviously such an approach has to work out what to throw away intelligently - not easy. On the other hand, it isn't hard to be more intelligent than a flip-flop, since that throws away *all* the frequency domain information (AKA "your tone") and replaces it with a square wave at the correct frequency if you're lucky and you don't play any chords!

Tom

anotherjim

If you need to count a number of cycles in from the note attack, just use a binary counter. This does mean having well behaved note on-off detection since you need to reset the counter and hold it off until the next new note. Not as hard to do as frequency tracking, but never completely fool proof either.


PRR

> Both need to see a full cycle before they can do anything surely?

Half cycle. Zero to zero.

In compressor work, unbalance causes a "thump". You can assign an approximate pitch to the thump. However it is more a half-cycle than a whole or sustained cycles.

Yes, in any real sound the other half-cycle will be different. 10mS first half implies 50Hz. Get started with that. 8mS second half implies 62.5Hz. Now we know the true answer is 55.55hz and it has some asymmetry (has overtones).

The ear has similar limits. We can not get a good fix on bass pitch for some time.
  • SUPPORTER

Rob Strand

#12
With the Boss OC-2 design the signal is already in the octave path.   When the phase inversion kicks it creates the octave but prior to that signal is still coming through.  There's no latency in the Octave waveform.

I guess the corollary for divider only designs is why not let the original waveform pass through to the low-pass filter during the initial attack.   The brain can only makes sense of so much in a short term signal.

Send:     . .- .-. - .... / - --- / --. --- .-. -
According to the water analogy of electricity, transistor leakage is caused by holes.

Digital Larry

I know it isn't really what you asked, but in my goofing around with pitch shift in the FV-1 I have found it helpful from a playing perspective to mix the dry in with an octave down to get a fast attack.  All this messing around with analog electronics makes my brain hurt!   
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

Mark Hammer