Are BBD chips considered Analog or Digital, or even neither or both?

Started by bushidov, April 17, 2021, 12:46:13 PM

Previous topic - Next topic

ElectricDruid

I think you might have opened a can marked "Worms, size: extra large", Jack.

Good luck...;)

amz-fx

Quote from: ElectricDruid on April 20, 2021, 05:56:43 PM
I think you might have opened a can marked "Worms, size: extra large", Jack.

Good luck...;)

Hahahaha...  just some thoughts for discussion. I would like to know what everyone thinks is contributing to the analog nature of BBDs. What makes the sound and can it be duplicated with DSP?

You have used some of them. What do you think?

Best regards, Jack

Rob Strand

QuoteThe ADC samples an analog voltage that has already been quantized.
My argument is soon as you have an ADC, the process of taking the analog signal and converting it to a number, it becomes digital.

QuoteIf we are using a 3v peak-peak audio signal, then each sample taken by the 24-bit converter will be within plus or minus 0.000000089407 volt if we have adjusted it to make max use of the bit depth. An error, but a very tiny one. In fact, because of the degradation in the 2932 remaining BBD stages after the first tap, Out1 (bbd) will be less accurate than Out2 (digital). Does this make a difference? Can you hear the difference? 
That part falls is comparing Analog and Digital processing ...  and we all all know where that leads.

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

ElectricDruid

Ok, ok, you asked for it. I'm a fish, and when I see a fat juicy worm on the hook, I can't help but take the bait ;)

I'm a programming kind of guy. I don't think there's anything magical about analog. There's nothing that you *can't* duplicate with a DSP. The question is only whether we have decent algorithms for it, how much effort it takes, and whether it's worth the computing power or cost. In these days of cheap 32-bit chips, there's a ton of evidence already arrived in the market that all of these things are possible. Ask Strymon and TC Electronic about their sales and you'll get your answer. You can get digital versions of tape delays, BBDs, spring reverbs, plate reverbs, reverb rooms, etc etc etc. Obviously, it can be done well or done badly, but I think it's pretty clear by now that it's all *possible*, and there are plenty of examples on the market that not only get the sound, but lower the noise floor into the bargain.


Rob Strand

QuoteI'm a programming kind of guy. I don't think there's anything magical about analog. There's nothing that you *can't* duplicate with a DSP. The question is only whether we have decent algorithms for it, how much effort it takes, and whether it's worth the computing power or cost
100% agree.    I'm fundamentally an analog person but I do DSP.   I much prefer DSP processing to analog.   A few lines of code is like a whole messy circuit.   You can change the whole design in a few short space of time.   Even switch between two designs.

There's plenty of traps in DSP.   You might think you are getting the same result as analog but you aren't.    The thread Mark Hammer started a year or so ago about sample rates and signal processing (especially clipping) exposes quite a few areas when evil can sneak in.
Send:     . .- .-. - .... / - --- / --. --- .-. -
According to the water analogy of electricity, transistor leakage is caused by holes.

rockola

Quote from: ElectricDruid on April 20, 2021, 07:15:55 PM
I'm a programming kind of guy. I don't think there's anything magical about analog. There's nothing that you *can't* duplicate with a DSP. The question is only whether we have decent algorithms for it, how much effort it takes, and whether it's worth the computing power or cost.

Alas, that is often the difference between theory and practice, but if you don't care about what's practical, for extra points, do it with a Turing machine.



amz-fx

Quote from: Rob Strand on April 20, 2021, 06:30:39 PM
My argument is soon as you have an ADC, the process of taking the analog signal and converting it to a number, it becomes digital.

No argument there. The ADC has made it a digital number. It is a digital representation of a quantized analog signal that is accurate to 1 part in 224. When you delay both stored signals, and then pass their outputs through identical reconstruction filters, is there an audible difference?

By BBD processing the signal first, with 396 delay stages, have you given it a special character? Can that character be passed along into the digital path?

I'm not being argumentative, I'm just proposing some ideas to find where the analog character comes in, and maybe find a way to duplicate, preserve or imitate it. Just writing this down has given me some ideas.

Best regards, Jack

DrAlx

Quote from: amz-fx on April 21, 2021, 09:35:57 AM
By BBD processing the signal first, with 396 delay stages, have you given it a special character?
Yes it can do.  On page 3 of the MN3207 datasheet http://www.synthdiy.com/files/2003/MN3207.pdf.
there are curves for insertion gain for different clock rates.  The gain of the BBD depends on what load you put on the BBD output, so these curves are for sufficiently large load (say 100k).
The curves show that an audio signal with a frequency equal to half the clock rate comes out 6dB weaker than an audio signal that is much lower than the clock rate.  So to avoid that sort of signal loss you need to sample at a higher rate than the Nyquist rate.
Quote
Can that character be passed along into the digital path?
I don't see why not.  I know Strymon claimed to have modelled BBDs digitally in one of their pedals,
(presumably they leave out the noise).   

Where things get more interesting is when you are driving a BBD with a swept clock as in a chorus/flanger so the sample rate varies.  So the net BBD gain then depend on some sort of average over a portion of the sweep. I think ElectricDruid has written something on this. 

I also seem to recall seeing an FV-1 pedal that had a swept clock rather than the more usual 32768 Hz crystal. (EDIT:  It wasn't a swept clock but an adjustable clock.  The pedal I'm thinking of is the Afterneath by EQD, with the "Drag" being some sort of clock adjustment).  So the sample rate could be varied for some sort of effect.  I don't think it was doing a large 10:1 clock range though.

Rob Strand

QuoteBy BBD processing the signal first, with 396 delay stages, have you given it a special character? Can that character be passed along into the digital path?

I'm not being argumentative, I'm just proposing some ideas to find where the analog character comes in, and maybe find a way to duplicate, preserve or imitate it. Just writing this down has given me some ideas.
While I agree with points DrAlx makes those would be easy to emulate in DSP.   I think of character as adding something to the tone, something analog.

The thing highest on my list is the cut-off frequencies of the input and output filters.     In the real world the digital systems have quite high sample rates and they tend to use high cut-off frequencies which makes them sound less warm.   I very much remember when the Boss CH-1 came out people said it was digital or it sounded digital.    In reality it was pretty much an analog BBD similar to the CE2 but with different filters and a  few bells and whistles added.    The analog stuff has a little more filtering on top of the basic filters: You also have the sinc() response due to the sample and hold nature of the outputs.  Both the analog and digital systems have that but (in most practical systems) the higher digital sample rate means that effect would be different.   On long delays the sinc() thing can be pushed down to quite low frequencies on those analog delays.

In your set-up the filters are shared and as drawn they have the same sample rate so all aspects should be close.

The next the biggest tone modifying aspect would be distortion for larger signals.   Also how it performs when clipped.   That's not so easy to emulate.   But what if we added some diode clippers at the font.  Not unlike some circuits which use BBD's.  That would put things on a level playing field.

With your set-up it would be hard to tell the difference.   The set-up is nicely done as it really puts forward the question what's the real difference.  IMHO in practice the difference comes about because the analog and digital systems aren't set-up for apples to apples comparisons like yours is.    I always saw the CH-1 case as a strong argument that the filtering is what gives analog the warmth.

The modulation thing is much more complicated but not impossible (or hard) to emulate in DSP.    The sample rate is varying on the input and the on the output.   The sample rate when the samples were input may not be the same as when the sample is output.   For short delays and slow LFO rates you could argue it's not changing much.    What would change is the sinc() response over the longer term sweep.

[Edit:  Regarding modulation effects.  I've built DSP phaser which sound just as good a analog phasers.  If you AB the DSP and analog versions it becomes clear it's hard to get the to sound the same as the LFO's and frequencies might not be 100% the same.   You get the same problem with Flangers and Chorus units.   While the analog LFO looks triangular, it's not quite, the PWM circuit to modulate the clock has it's on characteristic LFO voltage vs clock frequency "curve".    Unless you make an effect to copy that the DSP and analog versions will sound different.]
Send:     . .- .-. - .... / - --- / --. --- .-. -
According to the water analogy of electricity, transistor leakage is caused by holes.

12Bass

Adding some extra spice, a "digital" clock: https://www.youtube.com/watch?v=ZArBfxaPzD8

IMO, whether or not a BBD is considered analog or digital is somewhat akin to a philosophical question.  Basically, it comes down clarifying how a BBD works, then comparing it to the definitions of the two terms.  Even though a BBD employs sampling and a digital clock, the samples themselves always remain in the analog domain; thus it seems that there's no way to conclude that a BBD fits any notion of being purely digital in nature. 

Will also say that I was surprised and impressed with the sonic clarity of the BBD path in my A/DA Flanger clone.  With limited filtering and a high clock rate, the output of the SAD1024 delay path sounded surprising clean and clear, and not "warm" as some mistakenly expect from analog.
It is far better to grasp the universe as it really is than to persist in delusion, however satisfying and reassuring. - Carl Sagan

ElectricDruid

Quote from: Rob Strand on April 21, 2021, 07:27:49 PM
[Edit:  Regarding modulation effects.  I've built DSP phaser which sound just as good a analog phasers.  If you AB the DSP and analog versions it becomes clear it's hard to get the to sound the same as the LFO's and frequencies might not be 100% the same.   You get the same problem with Flangers and Chorus units.   While the analog LFO looks triangular, it's not quite, the PWM circuit to modulate the clock has it's on characteristic LFO voltage vs clock frequency "curve".    Unless you make an effect to copy that the DSP and analog versions will sound different.]

There's a good paper by Antti Huovilainen on this topic:

http://www.dafx.de/paper-archive/details.php?id=jPSmVsZq6Xn0nTNK6sygIQ

I think you're totally right about the LFO->Frequency curve being crucial. A lot of people focus on the LFO waveform, but unless *the whole system* behaves the same, the right LFO shape doesn't get you any closer. And of course, you don't necessarily need the LFO waveform to be the same if you've got a different LFO->Freq curve. You could compensate for a different curve by pre-distorting the LFO, for example. The point is the results, not the method.

The variable-sample-rate character of BBD-based flanger and chorus pedals is extremely interesting and surprisingly deep. I've got a "part 2" article in the works as a follow-up to my original investigation into this because (with help) I was able to get a bit further with it. There's still nothing which can't be copied with DSP (obviously) but unless you really understand what you're dealing with, a DSP model won't be good. Some of these analog pedals have surprising complexities.


Rob Strand

QuoteThere's a good paper by Antti Huovilainen on this topic:

http://www.dafx.de/paper-archive/details.php?id=jPSmVsZq6Xn0nTNK6sygIQ

That's a good paper.  It's cover all the main points.   I've got heaps of those DAFX paper but I don't remember coming across that one.

Quotebut unless *the whole system* behaves the same, the right LFO shape doesn't get you any closer. And of course, you don't necessarily need the LFO waveform to be the same if you've got a different LFO->Freq curve. You could compensate for a different curve by pre-distorting the LFO, for example. The point is the results, not the method.
Absolutely.  You have emulate what's really going on otherwise it's never going to be the same.   I had some knobs on a VST plugin which let me bend the curves.   Another thing often overlooked is the analog LFO's have a cap on the schmitt-trigger opamp which rounds off the triangle wave.   Others have subtle low pass filters at the output of the LFO.   They all affect the behaviour of the LFO.  The level of LFO changes at different speeds because of those parts.  None of that stuff is hard to implement in DSP.  The main point is you have to do it.

QuoteThe variable-sample-rate character of BBD-based flanger and chorus pedals is extremely interesting and surprisingly deep. I've got a "part 2" article in the works as a follow-up to my original investigation into this because (with help) I was able to get a bit further with it. There's still nothing which can't be copied with DSP (obviously) but unless you really understand what you're dealing with, a DSP model won't be good.
I found your papers one day and I was surprised someone else had looked into this, not to mention writing it up nicely.   At first it starts to mess with your head after while thinking about all the details.   In the end I went for the idea similar to what's mentioned in that paper you just gave.   For an N-stage delay you just sum up the clock periods to find total time it took for the input sample to pass through the N stages of the BBD.  After that you index into the buffer to extract that sample at that time (including interpolation for the fractional samples).  That way you don't have to think how each sample hops through the BBD you only care about how long it was in the BBD box.  It smooths the LFO but side-steps the sampling speed related details.

QuoteSome of these analog pedals have surprising complexities.
Indeed.  I remember doing a Boss OC2 VST.  I got the first octave to sound like the pedal.  But when I duplicated the idea for the second octave it still wasn't  quite right.   The circuit duplicates the same idea but its was interesting just how fine things are when the DSP version wasn't quite there.   Modelling the Ge diodes had a big impact on the sound too.


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

amz-fx

One technique that has been used with digital delays is to modulate the clock frequency in much the same manner as with BBDs. The Little Angel and Jenny Greenteeth chorus circuits illustrate two methods for doing this with the PT2399 digital delay chip. Some of the 2399 echos also have a small amount of modulation to fatten them up.

There is no reason that this cannot be done with other digital processors. For example, a couple of years ago I designed an FV-1 circuit for a customer that used a 555 timer as the clock driver, and modulated the 555 with a typical analog LFO.

regards, Jack


Kevin Mitchell

Ahh I'm late to the party.

They are most definitely analog. I can imagine the confusion since there are many analog devices in a circuit with digital capabilities. Just because it's driven by a clock (dual inverse pulses is what we're used to) doesn't mean it's digital. The clock lines are like two bike pedals that move the wheel.
A BBD is no more digital than a logic IC. Which is not at all  ;)
  • SUPPORTER
This hobby will be the deaf of me

Fancy Lime

Bonus fun fact: you an use a digital clock generator and the BBD is still analog. You can even feed the a digital signal into the BBD's input and it's still analog processing. That second example is drastically less useful than the first one in practice, though.

Andy
My dry, sweaty foot had become the source of one of the most disturbing cases of chemical-based crime within my home country.

A cider a day keeps the lobster away, bucko!

WoundUp

So what about the PT2399? I've heard those referred to as digital and analog, also.

bushidov

QuoteSo what about the PT2399? I've heard those referred to as digital and analog, also.
From what I gathered, those are digital, but there is internal and external "support hardware" that are analog (op-amps, comparators, etc). The digital aspect, which is what is actually doing the "delay" portion uses its onboard RAM. That, right there, should be an indication that it is digital. As why else would the RAM be there, but to store the digitized information, which in turn will be used later down the line?

I always looked at the PT2399 as something like an FPGA or an ASIC, where, though I don't have access to its "code", it still is running something like it. I've seen ATMEGA code that does the exact same job, but uses parallel RAM instead of onboard, such as here:
https://hackaday.com/2012/05/25/making-a-digital-delay-from-a-simple-microcontroller/

I figured that's what the PT2399 is doing, but in a much better package with more RAM and better resolution.
"A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away."

- Antoine de Saint-Exupéry

Fancy Lime

Quote from: WoundUp on April 23, 2021, 06:23:10 AM
So what about the PT2399? I've heard those referred to as digital and analog, also.

BINGO! Wow, took us 55 replies this time before tat question came. But yeah, what bushidov said: analog goes in, analog comes out, the delay time control is an analog voltage, but the internal processing is [fully and unequivocally digital]*. As a designer, you can almost treat it like an analog building block and some people seem to think it "sounds analog", whatever that means. [But it is most assuredly a digital delay chip.]*

Andy

*EDIT: Nope, I was wrong and stand corrected. See Merlin's explanation below.
My dry, sweaty foot had become the source of one of the most disturbing cases of chemical-based crime within my home country.

A cider a day keeps the lobster away, bucko!

merlinb

Quote from: WoundUp on April 23, 2021, 06:23:10 AM
So what about the PT2399? I've heard those referred to as digital and analog, also.
The PT2399 uses sigma modulation, so it's the same quandry as the BBD; neither truly digital nor definitely analog. The analog is encoded in a bit stream but not as discrete digital numbers, rather as the average integrated value of the stream. I've said before "the PT2399 is as analog as any BBD... just in a different way" ! ;)

bushidov

Merlinb, what is the RAM storing, then? Whatever it is, it must be binary, somehow? I am asking, as I honestly don't know. I just assumed it was doing the same thing as the above mentioned ATMEGA digital algorithm.
"A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away."

- Antoine de Saint-Exupéry