An analog tap tempo circuit

Discussion in 'Analog & Mixed-Signal Design' started by pdavis68, Dec 17, 2016.

  1. pdavis68

    Thread Starter New Member

    Nov 27, 2013
    21
    9
    In music there are effect pedals (for guitars, for example) that have a "tap tempo" feature. It allows you to click a button twice (usually with your foot) and it sets the speed of the effect to the tempo of the two clicks. So, for example, if you have a delay pedal (that echos the signal), the time between echos can be set as the time between the clicks. With a pedal that has some sort of oscillation (vibrato, tremolo, etc), the speed of oscillation is set by the tap tempo.

    Every tap tempo circuit I've seen relies on microcontrollers. That's fine, but I was curious if there's a relatively straight-forward way to do this without a microcontroller? If so, could anyone give me a high level overview of how it would work and what sort of circuit blocks I'd need to make it happen?

    I'm assuming you'd have some sort of LFO that you would then alter its frequency somehow, via the input from the clicks. I just have no idea how you would do that.
     
  2. GopherT

    AAC Fanatic!

    Nov 23, 2012
    8,025
    6,786
    One would think it is easy but the number of chips and cost of special chips will grow dramatically for a non-Microcontroller solution. Also, the echo wil already need some memory (either solidstate or magnetic recording) so there is no purity of analog signal to justify the expense or complexity or board size.
     
  3. crutschow

    Expert

    Mar 14, 2008
    20,227
    5,727
    Yes, I think this is one application where a microprocessor is definitely the cheapest and easiest solution.
    A discrete solution would involve a prohibitive amount of chips and circuitry. :(
     
  4. AnalogKid

    AAC Fanatic!

    Aug 1, 2013
    7,065
    1,997
    Start with a low frequency, voltage controlled oscillator. The output of that runs whatever is downstream: delay circuit, echo circuit, flanger, etc. For the tap interface, the first tap starts a constant current source charging up a capacitor. The second tap triggers a sample-and-hold (S/H) circuit that "latches" the value of the voltage on the charging capacitor. That now is the control voltage for the oscillator and other circuits. One problem is that an S/H is based on the charge on a cap, and all caps leak, and all circuits have parasitic resistances, so this system cannot hold a constant control value for the multi-minutes of a song.

    You might be able to cut out a stage by buffering the voltage on the charging cap directly, assuming the off-state impedance of the constant current source is *very* high. But that's the basic approach

    ak
     
  5. Alec_t

    AAC Fanatic!

    Sep 17, 2013
    8,845
    2,073
    One way would be to reset/start a clock-pulse counter with one (long duration) tap and stop it with a second (brief) tap. The counter value could then be converted to a control voltage for the effects.
     
  6. GopherT

    AAC Fanatic!

    Nov 23, 2012
    8,025
    6,786
    There is lots of ways to do this but once you start laying out the analog chips and discrete logic chips needed, one quickly decides a Microcontroller is the answer.
     
  7. pdavis68

    Thread Starter New Member

    Nov 27, 2013
    21
    9
    Thanks for all the replies. I was really more interested in it as a theoretical exercise. I don't intend on actually building an analog tap tempo, but it occurred to me that I don't really recall seeing them before the days of digital delays (and even then, I think they arrived, at least several years after the first digital delay pedals) and so I was wondering if it was just prohibitively difficult or if it was just one of those things where digital kind of made it a more obvious feature.

    I'm going to dig into the stuff AnalogKid wrote about. I'm mainly a vacuum tube amp guy, but I've gotten into building pedals lately and I'm trying to get a better handle on the more modern electronics (transistors to digital).
     
Loading...