Tap Tempo for BBD

Started by POTL, August 05, 2020, 05:08:40 PM

Previous topic - Next topic

POTL

Hello.
The idea behind Tap Tempo in analog modulation and delay pedals is not new, but still hasn't been covered in detail at the DIY level.
I looked through a lot of commercial products such as JHS, Chase Bliss and noticed that they all use BBD 3007/5, 3207/5 with a clock as a module (do not give up on them, unlike Electric Druid projects).
Obviously, the main change in the circuit is the replacement of the analog LFO with a microcontroller.

I see 2 obvious options for implementing a similar scheme (but any ideas are welcome).
1) Electric Druid style, the main controls (Manual, Rate, Depth) are implemented on the microcontroller, we get a full set of functions and the ability to flexibly configure presets.
The microcontroller output goes to the point where the depth control output was in the analog circuit. The clock and other components remain unchanged.

2) Sabrotone style.
We only use the microcontroller to adjust the Rate, the rest of the circuit does not change. Manual and Depth are not saved in presets.


As far as I understand, we can program the microcontroller to fully simulate a real LFO and we get 100% (or so) identical sound compared to a fully analog circuit.
But there are points that I cannot understand.
1) Chase Bliss Tonal Recall is a new take on the EHX DMM, but uses a different clock and digital control.
Both effects work from 15V, but as I understand it, the LFO in Chase Bliss will only work in the 0-5V range, while the DMM is 0-15V
In reviews and comparisons, Chase Bliss modulation sounds no worse and there is no feeling that the sweep is 3 times less.
2) Flangers circuits sound much better when powered from 9V (EHX Electric Mistress) or 15V (MXR, ADA, DOD).
Circuits using the original 3101/2 clock and BBD running on 5V sound much the same (IMHO).
I understand that they are using a different clock, but I think the LFO sweep range also has an impact.
I have never seen a commercial flanger working with a watch other than the mn3101 / 2, in principle the only product is the Chase Bliss Specter.
At the same time, Chase Bliss managed to make a delay with lush modulation.
I'm wondering if it's worth increasing the LFO range to 9-15 volts or can I make it sound like the original circuits using only 5 volts?
If not, are there any ways to increase the LFO range, or is it just impossible to assemble a flanger with a lush sound powered by LFO 5V?

POTL

OK
I modulated the standard LFOs
Most circuits have a range of no more than 4V between maximum and minimum values, which means that we can simulate normal LFOs well.
The only exceptions are Flangers, which work without original watches.
Perhaps this is the reason for the lack of commercial flangers with tap tempo

POTL

Another addition.
I tested the LFOs of most flangers and noticed that they have a wider range than other effects.
At least those that don't use the original watch.
Interestingly, there are some interesting exceptions among deep-sounding flangers.
1) The Electric Mistress uses a non-inverting amplifier to boost the LFO range, it goes from about 3V to about 7V.
2) The ADA flanger uses an inverting amplifier to reduce the LFO range from about 10V to about 7V.

In general, all interesting sounding flangers work with an LFO, the range of which starts from 7V

This is bad for Tap Tempo, which can only output 5 volts or less.
But thanks to the Electric Mistress circuit, it becomes clear that with the help of an amplifier we can increase the LFO sweep and achieve the desired result (so far in theory).

ElectricDruid

I think your review is very complete, but I'll add a few comments from my own experiences working on this type of stuff.

1) There's a difference between tap tempo for modulation effects (where the tap tempo affects the *modulation* rate, and changes the LFO) and tap tempo for *delay* effects (where the tap tempo affects the delay time, and changes the clock).

2) Designing a digital LFO is pretty easy, and you can have any output voltage range you want, as long as you apply enough smoothing, or have enough output resolution that you can't hear any stepping in the output waveform. It's easy because LFO waveforms are slow (by definition!) so you can run at a reasonably slow sample rate and have plenty of time to do all the calculations you need. If the output isn't big enough, just amplify it, as you've seen in the EM. My choice would be to increase the sensitivity of the circuit I was feeding it to, but that's not always possible.

3) Designing a modulated digital BBD clock is a lot more demanding because the output frequency is a lot higher - usually into the 100s of KHz. The Flangelicious LFO+clock chip I designed manages to get up to 500KHz. This is achieved by using hardware modules on the chip and trying to squeeze the best out of them, but it's not perfect and it makes a few weird noises as a result of the LFO modulation of the clock frequency ("NCO frequency jitter spurs" if you want to look it up).

4) Designing a digital BBD clock that is not modulated is much easier. You just measure the time between taps, calculate the required BBD clock frequency and off you go. I've done this as a proof-of-concept and had a fully-analog tap tempo delay running on the breadboard using 4 x V3205 4096-stage BBDs. Noise performance was as bad as you can imagine, and after messing with it trying to improve things, I eventually abandoned it and designed the same thing done digitally (the DigiDelay pedal). Ironically, that also has noise problems of its own, but it's still a big step up from where I started out.

5) There are plenty of commercial flangers that *don't* use the MN-series clock chips. The MN chips don't have enough drive capability to drive BBDs to high frequencies, so they are often replaced with a custom oscillator, although you do see some that use the standard chip but then buffer the outputs to boost the drive capability too. There are lots of potential solutions here.

HTH,
Tom


POTL

Hi, thanks for the reply.
I thought about a digital clock and watched your project on youtube, I heard artifacts and decided that it was better to use an analog clock.
Your tap tempo project is great and I wouldn't be surprised if it underlies most of the popular tap tempo effects.
As for tap tempo for delay effects, there are projects on the Internet for them.
https://www.diystompboxes.com/smfforum/index.php?topic=117046.0
Does your flanger have a Manual control, does it work the same way as analog?
Does the center point of the modulation change?
Is it related to depth control?
As for other ways of designing flangers, I know about the FV-1 and PT2399, but I cannot say that I am interested in this sound.
However, I know of successful examples on mn3007 / 3207
This is EHX EM and its clones from China, a re-release of MXR, there, of course, it costs 3204, but there are successful projects for 3007 too.
You mentioned the increase in sensitivity, can you tell us more?

ElectricDruid

#5
Quote from: POTL on August 07, 2020, 06:18:52 PM
Hi, thanks for the reply.
I thought about a digital clock and watched your project on youtube, I heard artifacts and decided that it was better to use an analog clock.]
Did you?! Have you got a link? *I* haven't got anything up on there, but someone else might have posted something.

Quote
Your tap tempo project is great and I wouldn't be surprised if it underlies most of the popular tap tempo effects.
<blush>You're too kind. But I doubt it, in reality. I know some of them do since I sold them chips, but it's an obvious application and lots of people have done it by now.

Quote
As for tap tempo for delay effects, there are projects on the Internet for them.
https://www.diystompboxes.com/smfforum/index.php?topic=117046.0
Ok, Molten Voltage has had a go at this too. No surprises there, we often cover similar ground.

Quote
Does your flanger have a Manual control, does it work the same way as analog?
Does the center point of the modulation change?
Is it related to depth control?
Yes, yes, and yes.

Quote
As for other ways of designing flangers, I know about the FV-1 and PT2399, but I cannot say that I am interested in this sound.
You could write firmware for a decent/good/excellent flanger on FV-1 if you put your mind to it, but the PT2399 is *not* a useful chip for a flanger unless you use two of them and are willing to put up with a 30msec pre-delay (which has its own problems). To me, that's not acceptable. It's an echo chip, not a flanger chip. It's only *borderline* for chorus - expecting a flanger from it is too much!

Quote
However, I know of successful examples on mn3007 / 3207
This is EHX EM and its clones from China, a re-release of MXR, there, of course, it costs 3204, but there are successful projects for 3007 too.
Of course, MN3007/3207 are the chips that the majority of analog flangers have been designed around so there are lots of successful examples. The most highly thought-of flangers tend to be based on the SAD-series chips which can reach higher clock frequencies more easily (lower clock input capacitance) but since they're unobtainium, there's not much point going there.

Quote
You mentioned the increase in sensitivity, can you tell us more?
All I meant was that if you need more LFO modulation depth, you have two options. Option one is to increase the amplitude of the modulation signal. Option two is to increase the sensitivity of the clock circuit to modulation. Does a 0.5V increase in LFO voltage give a 10KHz increase in clock frequency or a 40KHz increase? The details of that depend on the clock circuit design, but sometimes it's simple, and you don't need to mess around adding an op-amp to boost the LFO level.

Tom

POTL

These are links to your flanger



Hope CoolAudio will reissue SAD1024 / 512
It would be interesting.

ElectricDruid

Quote from: POTL on August 08, 2020, 04:16:55 PM
These are links to your flanger

Thanks, I hadn't seen that. That's particularly interesting because it's the Experimental Multiflange version with lots of waveforms, not the standard 4-knob flanger version. The Multiflange version doesn't have a manual control because I ran out of knobs, but you can switch it so the depth control works from the top-down or from the bottom-up to give two different sounds.
The four controls on the standard version are: Manual, Depth, Rate, Feedback (I modelled it after the old MXR M117 flanger).

Quote
Hope CoolAudio will reissue SAD1024 / 512
It would be interesting.
They wouldn't even need to reissue those chips. If they could just get the clock input capacitance down on the MN-series clones they've already got, that would be enough (V3207/V3208/V3205). I don't know enough about chip design to know why some BBDs have more capacitance than others, but it's a crucial parameter. If I was having a wish-list for a modern BBD, I'd probably also want a differential signal path to help reduce noise too. The option to run two BBDs in parallel was the other thing that distinguished the SAD series chips.

aviherman5

Sorry to restart an old thread:

Quote from: ElectricDruid on August 07, 2020, 02:39:04 PM
4) Designing a digital BBD clock that is not modulated is much easier. You just measure the time between taps, calculate the required BBD clock frequency and off you go. I've done this as a proof-of-concept and had a fully-analog tap tempo delay running on the breadboard using 4 x V3205 4096-stage BBDs. Noise performance was as bad as you can imagine, and after messing with it trying to improve things, I eventually abandoned it and designed the same thing done digitally (the DigiDelay pedal). Ironically, that also has noise problems of its own, but it's still a big step up from where I started out.

How would one generate accurate clock pulses in the 10x to 100x of kHz?

ElectricDruid

Quote from: aviherman5 on March 05, 2023, 05:09:20 PM
How would one generate accurate clock pulses in the 10x to 100x of kHz?

You've got two options, basically:

1) Frequency division.
Most microcontrollers include timer resources that can be used to count master clock pulses. If you flip the state of a pin every time you count X pulses, you've got a squarewave output at the master clock divided by 2X. The advantage of frequency division is that you get no jitter. However, the available frequencies are not evenly spread out, so lower octaves have many more steps than higher octaves, and you might be able to hear the steps if you need to move frequency.

2) NCOs
Some microcontrollers include numerically-controlled-oscillator peripherals (an NCO). These can produce very fine-grained control of frequency, but they only produce an *average* frequency - there is a certain amount of jitter, which tends to turn up as noise further down the line.

For limited-speed applications, you can do both of these methods in software as well, but fro 100s of KHz, you probably need hardware, or at least it'll likely do a better job.

There's quite a lot of detail in which is best for a particular job, and what accuracy you need, and what master clock rate and so on. I often finish up writing scripts to calculate all the required frequencies and their errors using one method or another so I can see what's going on. Mostly it's just PHP to spit out a big HTML table with the information I want to see, but it does the job and I've never been a spreadsheet user (which would be the other obvious way to automate the sums).

aviherman5

Very interesting, will look into both. Thank you!