As we did with the tape echoes, we will progressively build a complete BBD delay diagram. First, we will start from a simple diagram, then add blocks to it as we go along.
We’ve already seen it in the first article, so let’s quickly re-explain how the BBD works.
Inside the chip, there are a series of transistors that act as switches. These switches are driven by an external clock. They will allow the signal to flow from capacitors to capacitors, which can store an electric charge. This principle is often associated with the Bucket Brigade technique, which consists of moving water from bucket to bucket.
Actually, we need two clocks in phase opposition. Each clock controls one switch out of 2, so that when one switch lets the signal through, the next one doesn’t. So the signal stays locked in the capacitor, until the clock changes state and passes the signal to the next capacitor.
There are several BBD topologies, which have some differences in their functioning, while being very similar. We won’t go into details, but for those who are interested, ElectroSmash explains the various topologies. We’re going to focus on the rest of the circuit, which allows the chip to work properly and create the characteristic sound of the pedal.
the bbd, really analog ?
By storing an electric charge in a capacitor at each clock pulse, the BBD samples the signal. It will store the value of our signal only at certain times, at regular time intervals (at the frequency of the clock). So we no longer have a continuous (analog) signal, but a sampled signal !
We will see that this sampling brings us quite a few problems, which we usually encounter during a digitization, such as aliasing.
So this is what makes me think that the BBD is more analog-voiced than 100% analog. But it’s not digital either ! Because a digital signal is also quantized. That is to say each sample can’t take the value it wants. It can only be rounded off to certain levels, which are usually associated with numbers that can then be processed by a processor.
But this is not the case with the BBD, the samples can have any value, they are not quantized.
the clock
So we need 2 opposite clocks to control a BBD. The simplest way is to create an LFO with some analog components that produces a square wave signal. Then place an inverter to create our second clock.
We can also use a microcontroller that will generate our clocks signals. It allows to manage the time digitally (but the signal stays in the BBD, it is not digitized !). So we can add a lot of options like tap tempo, save multiple presets, MIDI…
Its frequency must be high enough, especially so as not to create aliasing (we will explain this in the “anti-aliasing filter” section). So you can’t delay a signal very long with a BBD.
By adding the clock, and a feedback loop as we did in the previous articles, we get a first diagram :
bbd conditioning
So we can delay a signal with a BBD chip and an external clock. But to make it work really well and to have a good sound, we need to add some elements.
the reconstruction filter
As we have seen, the signal at the output of the BBD is sampled. It is composed of a succession of steps that form breaks in our signal. These breaks are synonymous of important harmonic content, and thus of saturation ! We will need to put a low-pass filter at the output of the BBD, which will attenuate these harmonics, and smooth the signal to give it back its “analog” aspect.
But the side effect of this filter is that it may also attenuate the harmonic content of our original signal, and thus cut off high frequencies. So we have to find the correct balance between smoothing the signal enough to reduce saturation, but not too much so as not to cut off too many trebles. This is what is partially responsible of the dark and distorted repeats that are characteristic of the BBD !
the anti-aliasing filter
One problem we’re going to have is aliasing. This problem is directly related to the sampling we did with the BBD. If the frequency of the input signal is too high compared to the clock frequency, we may create new unwanted signals on the output.
In order to avoid aliasing, we have to respect what is called Shannon’s theorem. This theorem simply says that the sampling frequency (so the clock) must be at least twice as fast as the frequency of the input signal.
So you can think that you just need to choose a clock frequency fast enough to avoid aliasing, even with the highest notes of the guitar. But the signal of a guitar is not a simple sinusoid ! Each note has several harmonics at different frequencies. So even if the fundamental frequency of the note we played is in accordance with Shannon’s theorem, its harmonics can create aliasing. You should therefore avoid to put these harmonics into the BBD.
For this, we still use a low-pass filter, but this time at the BBD input. This filter will be dimensioned to cut all harmonics that don’t respect the Shannon theorem.
That is why BBD delays are limited in time, usually a few hundred milliseconds. To increase the delay time, the clock is slowed down. If you slow it down too much, even the fundamental frequencies of the notes played will no longer respect the theorem. The more you slow down a delay, the more unwanted signals will be created that will mix with the original sound. We have the solution of using several BBD chips in series, but this also increases the cost of the pedal.
the compander
The BBD is a chip known to bring a lot of white noise at the output. To reduce the output noise level of the BBD, a compander can be used. This word comes from the contraction of compressor and expander. The idea is to put a compressor (yes, like the effect pedal !) before the BBD, and an expander (the opposite of a compressor) after it.
In order to understand how a compander will help to get less noise at the output, we will first explain 2-3 things :
some definitions
The SNR : Signal/Noise Ratio. This is what makes it possible to quantify the noise contained in a signal. It is the ratio between the amplitude of the signal and the amplitude of the noise. The higher the amplitude of the signal is in relation to the amplitude of the noise, the more it will cover it and make the noise less audible.
The compressor : It allows to reduce the dynamics of a signal. That is to say that when the signal becomes too small, the compressor will amplify it so that it keeps approximately the same amplitude. We will therefore have less dynamics and more sustain.
The expander : In opposite to the compressor, when the signal becomes slightly lower, the expander will attenuate it even more. It will therefore increase the dynamics and reduce the sustain. If we place it after a compressor, we’ll get back the dynamics we had at the beginning.
reduce the noise of the bbd with a compander
Now that we know what SNR is, and how a compander works, we will see its influence on the BBD.
First, without using a compander, we can see that the BBD adds a constant noise on our signal. At the moment we hit the string, it’s not so bad. But when the note fades, the signal is no longer strong enough to cover the noise.
But with a compander, the signal in the BBD always has a strong amplitude. So the noise is always well covered by the signal. Then, when the expander will give back dynamics to the signal, the noise will also be attenuated when the amplitude of the signal drops. We have a better SNR !
the shelving filters
These filters are often found directly at the input and output of the pedal. They are high-pass and low-pass filters which have the particularity of working in a complementary way. At the input, the high-pass will boost the treble, which will better recover the noise in the BBD. At the output, the low pass will attenuate them, thus restoring the original frequency response.
And placed on our block diagram :
Here we go, we’ve built a complete BBD delay !
conclusion
Even if the BBD is reputed to be the analog solution to create a compact delay, we can see that we still get a lot of constraints similar to a digitization. We need to add a lot of elements (filters, compander), which quickly increase the cost of the pedal.
To summarize this article in a few sentences, we must remember that the more we extend the time, the more the BBD chip will add noise. We are therefore limited in time and that’s why most BBD delays are usually limited to few hundred milliseconds.
The only solution to reduce noise is to add a low-pass filter. So we have to choose between creating a delay with dark but quiet repeats, or brighter but with noise.
The solution to increase the delay time while keeping a correct noise level is to put several BBD chips in series, to delay the signal even more while keeping the same clock speed. But in this case it’s the cost of the pedal that increases !
Amazing article. Disillusioned me about BBD’s “analogness” of this technology.
Sampling is exactly what I wanted to avoid with analog delay but the way BBD works is not avoiding sampling any more than using ADC->(PCM)->DAC does and just adds issues – noise.
PT2399 DSD-like approach which used pure delta-sigma modulation would be is in this case superior.
Maybe PT2399 doesn’t have enough memory to avoid noise in audible frequencies at its longest delays periods but going BBD isn’t solution to going to ADC DAC.
The miniaturization of the delay effect : the bbd
After the article about the origins of the delay and the mechanism of tape echoes, today we’re going to start with BBD delay ! This little chip was the first solution to offer delays in effect pedal size.
As we did with the tape echoes, we will progressively build a complete BBD delay diagram. First, we will start from a simple diagram, then add blocks to it as we go along.
how it works
the bbd chip
We’ve already seen it in the first article, so let’s quickly re-explain how the BBD works.
Inside the chip, there are a series of transistors that act as switches. These switches are driven by an external clock. They will allow the signal to flow from capacitors to capacitors, which can store an electric charge. This principle is often associated with the Bucket Brigade technique, which consists of moving water from bucket to bucket.
Actually, we need two clocks in phase opposition. Each clock controls one switch out of 2, so that when one switch lets the signal through, the next one doesn’t. So the signal stays locked in the capacitor, until the clock changes state and passes the signal to the next capacitor.
There are several BBD topologies, which have some differences in their functioning, while being very similar. We won’t go into details, but for those who are interested, ElectroSmash explains the various topologies. We’re going to focus on the rest of the circuit, which allows the chip to work properly and create the characteristic sound of the pedal.
the bbd, really analog ?
By storing an electric charge in a capacitor at each clock pulse, the BBD samples the signal. It will store the value of our signal only at certain times, at regular time intervals (at the frequency of the clock). So we no longer have a continuous (analog) signal, but a sampled signal !
We will see that this sampling brings us quite a few problems, which we usually encounter during a digitization, such as aliasing.
So this is what makes me think that the BBD is more analog-voiced than 100% analog. But it’s not digital either ! Because a digital signal is also quantized. That is to say each sample can’t take the value it wants. It can only be rounded off to certain levels, which are usually associated with numbers that can then be processed by a processor.
But this is not the case with the BBD, the samples can have any value, they are not quantized.
the clock
So we need 2 opposite clocks to control a BBD. The simplest way is to create an LFO with some analog components that produces a square wave signal. Then place an inverter to create our second clock.
We can also use a microcontroller that will generate our clocks signals. It allows to manage the time digitally (but the signal stays in the BBD, it is not digitized !). So we can add a lot of options like tap tempo, save multiple presets, MIDI…
Its frequency must be high enough, especially so as not to create aliasing (we will explain this in the “anti-aliasing filter” section). So you can’t delay a signal very long with a BBD.
By adding the clock, and a feedback loop as we did in the previous articles, we get a first diagram :
bbd conditioning
So we can delay a signal with a BBD chip and an external clock. But to make it work really well and to have a good sound, we need to add some elements.
the reconstruction filter
As we have seen, the signal at the output of the BBD is sampled. It is composed of a succession of steps that form breaks in our signal. These breaks are synonymous of important harmonic content, and thus of saturation ! We will need to put a low-pass filter at the output of the BBD, which will attenuate these harmonics, and smooth the signal to give it back its “analog” aspect.
But the side effect of this filter is that it may also attenuate the harmonic content of our original signal, and thus cut off high frequencies. So we have to find the correct balance between smoothing the signal enough to reduce saturation, but not too much so as not to cut off too many trebles. This is what is partially responsible of the dark and distorted repeats that are characteristic of the BBD !
the anti-aliasing filter
One problem we’re going to have is aliasing. This problem is directly related to the sampling we did with the BBD. If the frequency of the input signal is too high compared to the clock frequency, we may create new unwanted signals on the output.
In order to avoid aliasing, we have to respect what is called Shannon’s theorem. This theorem simply says that the sampling frequency (so the clock) must be at least twice as fast as the frequency of the input signal.
So you can think that you just need to choose a clock frequency fast enough to avoid aliasing, even with the highest notes of the guitar. But the signal of a guitar is not a simple sinusoid ! Each note has several harmonics at different frequencies. So even if the fundamental frequency of the note we played is in accordance with Shannon’s theorem, its harmonics can create aliasing. You should therefore avoid to put these harmonics into the BBD.
For this, we still use a low-pass filter, but this time at the BBD input. This filter will be dimensioned to cut all harmonics that don’t respect the Shannon theorem.
That is why BBD delays are limited in time, usually a few hundred milliseconds. To increase the delay time, the clock is slowed down. If you slow it down too much, even the fundamental frequencies of the notes played will no longer respect the theorem. The more you slow down a delay, the more unwanted signals will be created that will mix with the original sound. We have the solution of using several BBD chips in series, but this also increases the cost of the pedal.
the compander
The BBD is a chip known to bring a lot of white noise at the output. To reduce the output noise level of the BBD, a compander can be used. This word comes from the contraction of compressor and expander. The idea is to put a compressor (yes, like the effect pedal !) before the BBD, and an expander (the opposite of a compressor) after it.
In order to understand how a compander will help to get less noise at the output, we will first explain 2-3 things :
some definitions
The SNR : Signal/Noise Ratio. This is what makes it possible to quantify the noise contained in a signal. It is the ratio between the amplitude of the signal and the amplitude of the noise. The higher the amplitude of the signal is in relation to the amplitude of the noise, the more it will cover it and make the noise less audible.
The compressor : It allows to reduce the dynamics of a signal. That is to say that when the signal becomes too small, the compressor will amplify it so that it keeps approximately the same amplitude. We will therefore have less dynamics and more sustain.
The expander : In opposite to the compressor, when the signal becomes slightly lower, the expander will attenuate it even more. It will therefore increase the dynamics and reduce the sustain. If we place it after a compressor, we’ll get back the dynamics we had at the beginning.
reduce the noise of the bbd with a compander
Now that we know what SNR is, and how a compander works, we will see its influence on the BBD.
First, without using a compander, we can see that the BBD adds a constant noise on our signal. At the moment we hit the string, it’s not so bad. But when the note fades, the signal is no longer strong enough to cover the noise.
But with a compander, the signal in the BBD always has a strong amplitude. So the noise is always well covered by the signal. Then, when the expander will give back dynamics to the signal, the noise will also be attenuated when the amplitude of the signal drops. We have a better SNR !
the shelving filters
These filters are often found directly at the input and output of the pedal. They are high-pass and low-pass filters which have the particularity of working in a complementary way. At the input, the high-pass will boost the treble, which will better recover the noise in the BBD. At the output, the low pass will attenuate them, thus restoring the original frequency response.
And placed on our block diagram :
Here we go, we’ve built a complete BBD delay !
conclusion
Even if the BBD is reputed to be the analog solution to create a compact delay, we can see that we still get a lot of constraints similar to a digitization. We need to add a lot of elements (filters, compander), which quickly increase the cost of the pedal.
To summarize this article in a few sentences, we must remember that the more we extend the time, the more the BBD chip will add noise. We are therefore limited in time and that’s why most BBD delays are usually limited to few hundred milliseconds.
The only solution to reduce noise is to add a low-pass filter. So we have to choose between creating a delay with dark but quiet repeats, or brighter but with noise.
The solution to increase the delay time while keeping a correct noise level is to put several BBD chips in series, to delay the signal even more while keeping the same clock speed. But in this case it’s the cost of the pedal that increases !
3 replies to “The miniaturization of the delay effect : the bbd”
Ed Rocket
What a great article. Thanks for the detailed explanation.
Loick Jouaud
Hey, thanks for the feedback !
Have a nice day,
Loick
Pawel
Amazing article. Disillusioned me about BBD’s “analogness” of this technology.
Sampling is exactly what I wanted to avoid with analog delay but the way BBD works is not avoiding sampling any more than using ADC->(PCM)->DAC does and just adds issues – noise.
PT2399 DSD-like approach which used pure delta-sigma modulation would be is in this case superior.
Maybe PT2399 doesn’t have enough memory to avoid noise in audible frequencies at its longest delays periods but going BBD isn’t solution to going to ADC DAC.