how to create a tap tempo in max

DJF's icon
Max Patch
Copy patch and select New From Clipboard in Max.

I would like some help modifying a tap tempo patch I am using. At present, the tap tempo works from around 70 bpm upwards, but due to an [if] statement it does not register taps with increments below 70ish bpm - this is in place to stop a user form tapping the device by a mistake and values suddenly changing. Could someone help me? I have included the patch I am working on. Could someone offer advice, or suggest methods of achieving tap tempo?

Ben Bracken's icon
Max Patch
Copy patch and select New From Clipboard in Max.

I haven't looked at your patch, but I had a tap tempo laying around, maybe it is helpful for you:

Christopher Dobrian's icon

I don't really like the way the tap tempo feature of Ableton Live works because it leaps too abruptly to what it thinks the new tempo should be. So I wrote a patch that implements tap tempo in a super simple way that corresponds to how I think tap tempo should work. The patch alters the transport tempo based on the rate at which you tap the t key. My method simply takes the average of the most recent three time intervals between the most recent four taps. So once you tap four times, it will set the transport tempo to your tempo, and if you keep tapping it responds to your changes but takes a couple beats to move gradually to your new tempo.

I then translated it into a Max for Live device (attached below) that controls the Live transport (using the mouse instead of the t key). So, if you use Max for Live you might want to try using that instead of the actual "Tap" button in Live, and see if you like the results any better.

I'm also including a Max patch that shows the Live device version, just so you can see that without having to load it into Live.

I hope it's of some use to you.

=====

Max Patch
Copy patch and select New From Clipboard in Max.

taptempo max patch:

Max Patch
Copy patch and select New From Clipboard in Max.

=====
Max contents of the TapTempo M4L device:

3886.TapTempo.amxd
amxd
sisko445's icon

Nice work, Christopher. I am eager to experiment with your objects. It seems to be a more "human" approach to the issue. I'm not a fan of abletons tap tempo either, and it is such a crucial function!

JavaProgrammer's icon

It would be SO easy to implement this as a Java (or other language) custom object. You could make the object use simple statistical techniques and only start the tempo when its statistical confidence that it has the correct tempo is sufficiently high. This would prevent problems with accidentally hitting any buttons.

DJF's icon
Max Patch
Copy patch and select New From Clipboard in Max.

I have taken all of these examples into acount and devised a phasor~ based tap tempo. One thing I would like to do is create something whereby, if two bangs are a specified duration apart it gates one bang and lets the other through. How could I do this? For example, when I tap sometimes, my taps overlap with the tempo being generated. Is there a way to say, implement a method whereby if both tap are 100 ms apart a messages is outputted? I could then try and use a delay/gate abstraction with this.

dukeofnapier's icon

Yes thanks so much Christopher for this wonderful device,
Does anyone know how to set it up to trigger via an external midi device,
I am using a Korg Nanopad2
I have managed to get the effect to work on max and trigger the bang button, but when I import it into live It no longer will listen to the command.

Can anybody please help?

Christopher Dobrian's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Implementing MIDI reception for Max for Live is a little different from implementing it for straight ol' Max. Instead of using, for example, the ctlin object, use midiin, and then use midiselect to look for exactly what you want. Also, make sure your plug-in is in a Live MIDI track, and that the MIDI monitoring is set to IN.

dukeofnapier's icon

Thanks so much for your reply Christopher,

I have tried as you have suggested, and I still cant mange to get it to work,

I have attached the copy of the max for live device I have set up,
As well as a screen shot of my screen when in Ableton Live, just in case the problem is there.

Thanks again,
I hope you can help

4765.ScreenShotDuke.jpg
jpg
Stephane Morisse's icon

Replace the [button] with a [live.button] then ctrl-m to midi map...

MartIn 's icon

@christopher
old thread, i use tap tempo a lot and always wanted to have a device so i can tap the tempo on the keys and send it to live transport. i took the liberty to modify it a little, so i can tap a tempo directly while playing and send it once i see fit, there´s halftempo too. maybe it´s useful to someone as well.

thanks a lot!

TapTempo.amxd
amxd 15.08 KB