🔊
SpinCAD Designer
  • Welcome to SpinCAD Designer!
  • Tutorials
    • Getting Started
    • The User Interface
    • Creating a patch
  • Menus
    • File
    • Edit
    • Loop
  • Blocks
    • I/O Mix
    • Wave Shaper
    • Dynamics
      • RMS Lim/Exp
    • Controls
      • Introduction to control signals and blocks
      • Two-stage
      • Invert, Power, Two-Stage, and Vee
      • Ratio
      • Scale/Offset
      • Clip and Tremolizer
      • Envelope
      • Slicer and Smoother
      • Tap Tempo
    • Pitch
      • The Pitch Offset Blocks
  • Design Concepts
    • Basic LFOs in SpinCAD Designer
    • Deep dive into the Three-Tap Delay block
      • Deep dive into the ThreeTap Delay, part 1
      • Deep dive into the ThreeTap delay, part 2
      • Deep dive into the ThreeTap Delay, part 3
    • Analyzing the Spin auto-wah peak detector
      • The Spin auto-wah peak detector, part I
      • The Spin auto-wah peak detector, part II
      • The Spin auto-wah peak detector, part III
    • Intro to the "Dattorro" reverb structure
    • Analyzing the Spin Mini Reverb
      • Analyzing the Spin "Mini Reverb" part 1
      • Analyzing the Spin "Mini Reverb" part 2
      • Analyzing the Spin "Mini Reverb" part 3
  • Patches
    • Making a tremolo patch
    • Making a vibrato/chorus patch
    • Making a pitch shifting delay
    • Multi-head "drum/tape" delay
    • 4-phase LFO driven mixer
  • Tips and Tricks
    • Editing tips for fast patch creation
    • Programming the FV-1 EEPROM with your code
    • Optimizing FV-1 assembly code generated by SpinCAD Designer
  • Beneath the Hood
    • How SpinCAD Builder works
    • Analyzing a simple SpinCAD Builder file
Powered by GitBook
On this page
  1. Blocks
  2. Controls

Tap Tempo

PreviousSlicer and SmootherNextPitch

Last updated 1 year ago

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".

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.

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!

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.

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

See .

Here is Slacker's original and the .

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

There are delay implementations (for example, in the 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).

this gigantic thread
this schematic
tap tempo patch
entire Babelfish project
FXCore chip
Faust