Let's design a tap tempo tremolo.

Started by Taylor, November 20, 2009, 04:14:55 AM

Previous topic - Next topic

Taylor

Well, I'll probably do a PCB based on the above trem schematic now that we have Dann's approval. There is the question of whether we should wait to see if the complex tempo thing Dann suggested makes its way into Tom's chip. Its inclusion may make no difference to the actual layout, but if it adds an extra switch or any other physical components it would need to be accounted for in the PCB. What do you think about this, Tom? Do you plan to integrate it? Would it add any components or could this be done with the current controls?

The PCB I'll do would just be a tap tempo trem, but it could have an LFO output to control other things. The difficulty is that, the more you try to make a PCB work for a number of different applications, the more complex it becomes to build. People have to really know the circuit to know what parts to leave off, etc.

I could do a board just for the tap tempo, which could then be interfaced into any other circuit, but I personally really dislike having multiple boards for different sections of a circuit. Just my preference, though.

jkokura

So then do a tap tempo trem PCB - seems to be the better option as far as you're concerned. If people want tap tempo add on perhaps someone will develop that, same with a tap tempo flanger, or phaser, or whatever else uses LFO... Vibe? Reverb?

So then my question becomes, what are the features for the trem you're going to use? Stock Tremulus lune? Are you going to give us a really basic trem with just a couple knobs? What do you see it looking like?

Sorry if I'm being nosey...

jacob

danngreen

You may want to bring out the extra unused pins on the PIC chip to a header anyways, for further expandability (e.g. code v2.0 could interface with these pins, but the current code doesn't need to be modified to accomodate them)

ianmgull

Quote from: jkokura on December 09, 2009, 06:27:54 PM
So then do a tap tempo trem PCB - seems to be the better option as far as you're concerned. If people want tap tempo add on perhaps someone will develop that, same with a tap tempo flanger, or phaser, or whatever else uses LFO... Vibe? Reverb?

So then my question becomes, what are the features for the trem you're going to use? Stock Tremulus lune? Are you going to give us a really basic trem with just a couple knobs? What do you see it looking like?

Sorry if I'm being nosey...

jacob

ElectricDruid's post has a schem:

http://www.electricdruid.com/index.php?page=projects.taplfo

It's pretty much the audio section of the Tremulous Lune (just a couple of Opamp buffers and an LDR). I was under the impression that ElectricDruid was programming PICs which would be Tap Temp LFO's which would then control an LED which would in turn control the LDR in the audio path of the Tremulous Lune. If this is the case it would be a completely different LFO section from the Tremulous Lune. Unless I'm missing something in which case ignore me.  ;)

Taylor

#64
No, not nosey at all, the point is to have the features people want.

Tom's chip has lots of complexity built in. I recommend checking out his links on the last page to see all it can do. This chip allows for lots of really interesting things to be done, moreso than any other DIY trem I'm aware of. There's a larger variety of waveforms, and it allows to multiply your taps, so you can get triplet rhythms, etc.

Although we're using the audio section of the Trem Lune, it won't really share any of the controls with that, because all of the controls are in the LFO, which has been replaced.

This tap tempo trem will have the following knobs:

Tempo
Waveform
Multiplier
Depth
Output gain

Which covers all the functions of other tremolos plus much more.

I don't see the "Wave distort" that Mike mentioned, either in the tremolo schematic or the datasheet. Was that option excised? I think if we don't have that option, we could add a pot to control the voltage into pin 9 to get something like a "symmetry" control, aka pulse width.

Anything else you'd like to see in this PCB?

Edit: Ian beat me to the punch, and he pretty much got it.

.Mike

Quote from: Taylor on December 09, 2009, 06:53:04 PM
I don't see the "Wave distort" that Mike mentioned, either in the tremolo schematic or the datasheet. Was that option excised? I think if we don't have that option, we could add a pot to control the voltage into pin 9 to get something like a "symmetry" control, aka pulse width.

Yeah, now that I look at the tap TAPLFO, it doesn't have the wave distort. Darn-- I really liked what that did.
If you're not doing it for yourself, it's not DIY. ;)

My effects site: Just one more build... | My website: America's Debate.

jkokura

From page 2...

Quote from: jkokura on November 21, 2009, 03:27:27 PM
- The ability to choose between a few different wave forms (sine, triangle, square)
- Controls for depth, level (fix any volume drop when turned on from true bypass), and rate/speed (that last would be able to be modded to include the tap function)
- Fit it all in a BB size box
- 9V power
- An LED to give us the speed both when using the knob or with the tap function be a good idea
- I'd like a method for being able to bypass the tap tempo function (tap once for on, hold for 2 second to turn it back to Knob control?)

Questions I'd have:
- For that matter, can we control the tap function even if the effect is bypassed? As in, while I'm playing the verse and expecting to turn the Trem on for a chorus of a song can I be tapping it in so it's already at the right tempo before I turn it on.
- When tap tempo is engaged, what would the rate/speed knob do then?

What about some of those questions?

The 5 controls you list Taylor are all the knobs I'd like - pots for depth, rate/speed and level; rotary switches from waveform and rhythm/multiplier (1/16, 1/8, dotted 1/8, 1/4, 1/2, 1/1 notes? some or all of those?).

But what I'm more curious is how the tap switch itself will be used - is it always on? does the pot override the tap switch? Do you have to tap or hold the momentary stomp switch to turn the tap function on? Can you tap out a tempo that will be established in the pedal before engaging the effect? Will there be an LED flashing to indicate current tempo?

I'm going to go look further into Tom's documentation to see if I can answer these questions, but if you have them already...

Jacob

.Mike

Actually, now that I look at it again, I'm unclear. I *think* Wave Distort CV might be included, just renamed Pulse Width CV (pin 8). I looked through the code and it seems similar with just the variable renamed, but I'm not sure. Maybe Tom can clear it up (please)?

If that is the wave distort, I would definitely include it as an external control. If you take a look at the topic I made for the regular VCLFO tremolo that I put together, I posted some screenshots of what the wave distort control does, and some audio samples of what it does. In fact, Taylor, I already recorded a square wave demo, and it's there. It's not a particularly fast rate, though, so I'll record another one when I get time.

jkokura, from what I gathered, if you tap a tempo, even when bypassed, it registers the tempo UNTIL you touch the rate knob, which overrides the tapped tempo. As for LEDs, the circuit I put together has a status LED that is always functioning. If you use a transistor to provide the current for the LED, you can use as much current as your transistor can handle and run as many LEDs as you want. If you run the LEDs right off the PIC, you are limited in current by the output of the PIC, which is 20mA, I believe.

:)

Mike
If you're not doing it for yourself, it's not DIY. ;)

My effects site: Just one more build... | My website: America's Debate.

Taylor

Quote from: jkokura on December 09, 2009, 07:26:45 PM
- The ability to choose between a few different wave forms (sine, triangle, square)

The chip has 8 different waveforms.

Quote- Controls for depth, level (fix any volume drop when turned on from true bypass), and rate/speed (that last would be able to be modded to include the tap function)

Yep, we've got that.

Quote- Fit it all in a BB size box

Should be doable.

Quote- 9V power

Of course.

Quote- An LED to give us the speed both when using the knob or with the tap function be a good idea

Yep, should be doable.

Quote- I'd like a method for being able to bypass the tap tempo function (tap once for on, hold for 2 second to turn it back to Knob control?)

See here]=http://www.diystompboxes.com/smfforum/index.php?topic=76436.msg667635#msg667635]here to get a sense for how the knob and taps work together. Basically operating the knob overrides the taps instantly and vice versa.

QuoteQuestions I'd have:
- For that matter, can we control the tap function even if the effect is bypassed? As in, while I'm playing the verse and expecting to turn the Trem on for a chorus of a song can I be tapping it in so it's already at the right tempo before I turn it on.

Yes, the bypass will be purely mechanical with a 3PDT like usual, and the taps will be a separate stomp switch, so you can tap out tempos while bypassed if you want - the chip doesn't know whether the effect is bypassed or not.

Quote- When tap tempo is engaged, what would the rate/speed knob do then?

See above. The knob overrides the tap setting.

QuoteDo you have to tap or hold the momentary stomp switch to turn the tap function on? Can you tap out a tempo that will be established in the pedal before engaging the effect? Will there be an LED flashing to indicate current tempo?

Flashing LED, yes. I don't think there's any need to hold the tap switch, though I am a little unclear about whether the chip will average more than 2 taps or restart the tempo every 2 taps. Maybe Tom can explain that further?

Taylor

Quote from: .Mike on December 09, 2009, 07:35:11 PMAs for LEDs, the circuit I put together has a status LED that is always functioning. If you use a transistor to provide the current for the LED, you can use as much current as your transistor can handle and run as many LEDs as you want. If you run the LEDs right off the PIC, you are limited in current by the output of the PIC, which is 20mA, I believe.

Was planning to do something like this, as I did with the Gristleizer:

http://img101.imageshack.us/img101/9657/ledflash.jpg

jkokura

Alright, I think I'm understanding. I don't the chip can do what I was thinking of - the ability to set the rate knob to something generic, and then be able to switch tempo back and forth between the tap tempo and the knob by 'holding' the switch or something like that.

I think Taylor, the pcb you're designing is great, and I don't know who else is going to build it, but I sure am. Make me a PCB when you finish it and I'll pony up!

ElectricDruid

I'm jumping in a bit late, but here goes anyway;

jkokura, you're right, the chip *won't* do what you want. There's only one tempo, so you can't switch between the speed set by the knob or the speed set by tapping.
Just to be clear (although someone had this right already) if you twist the knob, you get the tempo set by the knob. If you tap the button, you get the tempo set by the taps. It stays that way until you either tap again or twist again (like you did last summer?).
The code as currently written uses two taps to set the tempo. If you give it two new taps, it resets the tempo based on those - it doesn't average them. It also resets the waveform to the start on the first tap. If you give it only one tap, it'll wait about three and a half seconds for another, before ignoring the 'unpaired' tap. These two features together mean that it is possible to bring the LFO back into line with what you're playing by giving it a single tap.
Oh, and sorry to Mike, but the full Waveform Distortion CV had to go. The sums that are required for it use up a lot of time, time that I needed for other features. I left a straightforward Pulse Width CV because that is simple to do, but it only works on the Pulse wave, whereas the VCLFO code allows the waveform distortion to affect *all* the waveforms.

Hope that clears a few things up!

Thanks,
Tom

ianmgull

Great work Tom! I have a question for you.

Assume you tapped four beats fairly quickly (ie under 3.5 seconds) Is the tempo then taken from the first two (beats 1 and 2) or the last two (3 and 4)? Also, how much additional coding is required to allow averaging? For instance, tempo is defined by the average of the most recent 4 taps, or however many occurred in the last 4 seconds or something to that degree?

You digitally inclined folks never cease to amaze me.

ElectricDruid

Quote from: ianmgull on December 12, 2009, 04:25:05 PM
Great work Tom! I have a question for you.

Assume you tapped four beats fairly quickly (ie under 3.5 seconds) Is the tempo then taken from the first two (beats 1 and 2) or the last two (3 and 4)? Also, how much additional coding is required to allow averaging? For instance, tempo is defined by the average of the most recent 4 taps, or however many occurred in the last 4 seconds or something to that degree?

You digitally inclined folks never cease to amaze me.

Ian,
The last two taps would override the tempo set by the first two. Averaging is possible, but involves division, which is a very costly operation on such cheap chips since they don't have "divide" instructions or even "multiply". This means you have to program division yourself, which is slow.
One way around this is to use binary shifting instead, which gives you division by powers of two (/2, /4, /8 etc) but unfortunately this isn't ideal for tap tempo, since four taps gives *three* times, and division by three is evil - ask any assembly programmer!
So, yes it's do-able, but I didn't do it because it's better avoided if possible. I did wonder about doing a four-tap average, but only using the times between taps one and two, and between taps three and four. Avoiding the time between taps two and three only gives me two times, and as I said, division by two is easy. Might this be a good compromise?

Is averaging of more taps something that everyone would really like to see?

T.

jkokura

 I think it would be fine either way, we just need to understand what to do and what not to do.

Knowing that it only takes my first two, or second two taps as average, I'd be very careful to make sure I tapped well. Averaging out 3, 4, 5, etc. taps is a cool thing, but if it's too hard to program in on these than don't bother.

Jacob

flo

Quote from: ElectricDruid on December 12, 2009, 02:36:31 PM
... it is possible to bring the LFO back into line with what you're playing by giving it a single tap.
I think that's a brilliant feature!  8)

ianmgull

Tom, now that I think about it you've got it all figured out! My frame of reference comes from a tap delay which is slightly different due to the fact that there isn't an LFO to stay in sync with.  With the tremolo you more than likely would want to stay in sync with the LFO so it makes perfect sense that it resets based on the most recent taps.

Taylor

#77
One other thing I wanted to mention is that the taps need to set not only the speed but also the phase of the waveform. The wave should be reset to its highest peak when the second tap happens.

I remember a few years ago a certain boutique pedal company came out with a tap tempo trem, but the control was such that the wave would start at the center of its period (i.e., the point of zero crossing) when the tap button was pushed. For tapping out a speed before you begin playing, this is fine, but if the song has already started, this makes your notes only sound on the off beats. Fine for ska, but it's generally not the behavior people are looking for.

I'm guessing this is already the case in your chip, Tom, since it's kind of the obvious way to work, but I did want to mention it since it slipped the mind of that other guy, and his was a commercial unit.

Now, for sine, triangle, lumps, etc., I think the "beat" is perceived to be right at the highest peak of the wave, which for all these waves is halfway between zero-crossings. However, it gets hairier with a square wave, as there's no ramping up, so the "beat" is more likely to be heard at the point of zero crossing. I don't know if the limitations of the chip allow for different reset points for different waves - I'm guessing that's a little too complex here, so I don't really know how that should be handled.

JKowalski

Hi Tom,

I am wondering if any future revisions to this chip will keep the same pinouts? I.E. anything with extra features will be placed on RC2, any throwback to the earlier wave distort feature will be in place of the current pulse width CV...? I just want to make sure that I can design while keeping future possibilities in mind.

I've been messing with it on the breadboard, and it's a wonderful chip.

ianmgull

#79
Taylor:

In regard to your point about the square waves "start". I suspect that this might be dependent on the symmetry of the square wave. Does anybody know if both the positive and negative portions of the cycle are equal? Many tremolos (even on the square wave setting) seem to be weighted slightly in one direction or the other. This could alter whether or not it feels like your first note is on the downbeat.