Tap Tempo

What is this? How am I supposed to make it work? Who? When? Where?

(It's at the very bottom of the "Controls" menu).

There's one input that supposedly reads a tap somehow.

The three outputs on the right are: Ramp, Latch, and Tap Tempo. The first two are just internal signals I brought out for testing while the magic all happens on the last one, "Tap Tempo".

This block was submitted by diystompboxes forum member "Slacker" who describes it somewhere in the middle of this gigantic thread. Slacker got to the FV-1 party before I did and came up with some innovative patches in a pedal he called "Babelfish".

One of them includes "tap tempo" delay which is tied to a specific hardware implementation whereby a couple resistors are added in series between the wiper of a pot and where it would normally connect to the FV-1's POT input pin.

See this schematic.

Here is Slacker's original tap tempo patch and the entire Babelfish project.

The general idea is that you count sample periods between debounced button pushes, represent this as a fractional number from 0 to 1, and then use that with the RMPA instruction, having allocated the entire RAM to a delay, to give you a delay time equal to the tap interval. In the SpinCAD world, you'd set up a delay (e.g. Triple Tap) and set that to use all the delay RAM (Delay Time = 1000 msec at 32768 Hz sampling frequency).

This 0 - 1 value could also go to the LFO Speed input of any block and then it would scale that LFO's speed proportionally. Would it match the tap interval? Actually to make that work you'd need to do a 1/X trick. Did I ever do that?

Err... no. I didn't. Not yet anyway. I never implemented Slacker's hardware idea so I actually do not know if it works.

So, the Tap Tempo block a bit special purpose in that regard. A consulting job I did used the ADCR input for tap detection since it was a mono in pedal. This guy already had the tap tempo code implemented by a previous consultant so I didn't modify it or pay much attention to it. I also didn't take any code out of there to put in SpinCAD!

It's nice to see that the FXCore chip has a dedicated tap tempo input.

As shown, the delay will jump abruptly from one setting to the next when it changes. You could add a smoother to the Tap 1 Delay time input to introduce some lag to the delay time changes. This will, of course, cause pitch bending. Something like that is better suited for LFO changes in my opinion, like the inertia of a Leslie speaker.

There are delay implementations (for example, in the Faust libraries) that manage two delay taps internally and fade between them quickly when the control signal for delay time changes. This means you can change delay time on the fly all day long without pitch bending! I actually don't know what Slacker's full patch does without digging into it. On that one consulting job I did, I can tell you that this logic took a LOT of the FV-1's code so I wasn't motivated to try to make it into a block (starting from scratch, of course).

Last updated