Device Details

Device Overview

Name/Version: Timing Sensitive Midi Looper 1.2.1
Author: krito  
Description: Krito's Timing Sensitive Midi Looper is a lightweight zero latency midi looper, made for live midi looping.


- Record, Overdub, Play and Clear buttons. These work as independent buttons: When "Record" is on, it records all incoming note input. Without "Overdub" on, it also overwrites the notes it passes while recording. "Play" switches the output of recorded notes on/off. The device is linked to Ableton Live's transport and cannot be stopped independently.
- Quantisation grid: Choose a quantisation grid: 8th, 12th or 16th.
- Quantisation amount: Control the amount of quantisation from 0% - 100%.
- Delay: Apply a delay to the quantised bit of the notes. The delay can be positive and negative.
- Swing: Apply a swing to the quantised bit of the notes. Swing is essentially a delay for every other note. Notes are counted by the quantisation grid, so with a 8th grid you get 8th swing etc. Swing can also be positive and negative.
- Note End: You can toggle between quantising the note end.
- Gate Time: If you choose to quantise the note end, you can change the length of the quantised bit of the note length.
- Through: You can choose wether you let input pass through the device or not. This can be useful if you have an advanced setup using external gear.
- Stable midi output: No matter the input or the settings, the device promises not to output hanging or overlapping (2 notes with the same pitch) notes.
- Non-Destructive quantisation: The original notes are never changed, only the output is changed by the quantisation settings. That way you can play with the quantisation settings until you find a setting you like.
- Realtime quantisation settings: You can change the quantisation settings while playback on the fly. Changes are effective as soon as logically possible: As some quantisation settings potentially move notes back in time, quantisation settings can only be effective for notes that are a a little bit in the future.
- Performance: Because only necessary calculations are done for each note, the CPU usage is almost zero.
- Automation and mapping: All parameters can be automated and mapped to midi remote control. There is also a hidden automation lane called "Sequencer Mode", which acts as a combined automation lane for the "Record", "Overdub" and "Play" buttons.

Features planned:
- Recording Pitch Bend, Mod Wheel and other Midi CC messages
- Transpose mode: When transpose mode is active, the currently playing sequence will be transposed by the last incoming note. You may know this kind of behaviour from step sequencers.
- Replace record mode: This mode is like the normal record mode, but only deletes the underlying sequence when a note is played, otherwise keeps it.
- Undo: It would be great to have some kind of undo, but the details of this function have to be designed first (what is undone when exactly)

This device has been used and tested with Ableton 11.0.12 and Max 8.1.11. If you find any bugs or errors, please let me know!

Have Fun

Device Details

Downloads: 1146
Tags sequencer, utility
Live Version Used: 11.3.313
Max Version Used: 8.5.5
Date Added: Sep 26 2021 15:17:56
Date Last Updated: Nov 27 2023 04:39:08
Average Rating (4) 5
Rate this device: (must be logged in to rate devices login)
Device Type: midi_device
URL (optional):
License (more info): AttributionNonCommercialShareAlike

Device Files

Device File: Krito's Timing Sensitive Midi Looper.amxd


good job!
I test this

Hi Krito,
thanx for your good device!

I love Midi Loopers especially if they offer an option to disable the "through" output like yours :)

One thing: If "overdub" is not activated (just with "record" and "play" activated) the loop (e.g. after 2 bars) is not playing as recorded, just a few tones are audible ...
I?m on Live 10.1 / OSX Catalina.

Also it shouldn?t be possible to activate "record" and "overdub" in parallel. After recording something with "record" and pressing "overdub" afterwards should automatically change the state of the "record"-button.


I needed this, thank you Krito!

I am glad that I can automate the record/overdub/play/clear buttons via automation lanes in the sequencer view, however it would be much more useful if this automation showed up in the same way as the native looper device. Eg. as a single automation lane for state as opposed to individual automation lanes for triggering the buttons.

Hey everyone,

Thank you for all this feedback!

I have uploaded a new version to improve on those areas you commented:

1. As I get from the comment of @spacesoul, is that the meaning of the record, overdub and play buttons is ambiguous: Instead of a single state button as used by many loopers I followed the design of this device:
The downside is you can not use it with a single button, however it is a bit more clear what is happening when pressing a button. To make that more clear, buttons without a meaning are greyed out now: For example, "play" has no meaning when "record" is on and "overdub" is off. This is shown in the interface no more clearly.
2. There was a bug that some notes would be played in "record" mode without "overdub" but "play" turned on. I fixed this.
3. @dazeofresistance I clearly see the use of a single automation lane for "Sequencer Mode". I could not reasonably fit a "Sequencer Mode" button on the interface, but I added an automation parameter with that name. You can select it in the automation view as a device parameter. Here you can choose between "off", "Record", "Overdub" and "Play". These modes then change the values of the buttons, and also overwrite their automation if present.

I hope you all enjoy the update! Let me know :)

man...its amazing stuff...i really enjoy it.
i came from hardware sequencer ...good job.
anyway im kind a new here.
in addition to overdub will be also good that u can add midi replace mode (overwrite).
like on korg emx1 or arturia keystep...for example when have a simple sequence running and u r on the overwrite mode and record , only when u play keys it will replace the notes in the same position that already was in the sequence.
it gives u rythmic fill to play...think about that.
anyway do u think it possible to do ?
tnx a lot man , peace !

This is a gorgeous piece of code!

Just what I needed for my current rig, this is great!

It works great except that I am having an issue with the pitch and mod wheel... they are not being recorded in to the midi sequence.

I can see and hear the midi modulation changes going into Live when I move the wheels, but the sequence is recorded "flat", i.e., without the pitch or mod wheel changes. Is this normal or am I doing something wrong? Thanks for your help!

Mac mini M1, OS 12.2.1, Live 11.1.5b

Hey Krito,

Been using your looper with pleasure in my arrangement view live set. Love it! The only thing which doesn't seem to work properly a lot of times is the quantisation (so I put it off sometimes unfortunately..). It seems to make little hick-ups in timing, some 16th are delayed, one 16th note.. Also, it doesn't seem to work in odd meters, like 6/4, it starts shuffling then (kinda funny, but not what I need haha)..
Maybe something to check :)

The best,

After some troubleshooting I found that it messes up the quantisation grid, probably because of tempo-changes in my set. I deleted the device and put it back with just one track (it automates only in one tempo (4/4 114 BPM) and then it seems to have found the right grid again..
Before I used one looper throughout the whole set for one instrument-group (drums for example), I tried to map the 'clear' button every time a song or the BPM changes. But this didn't seem to work.. That's a pity, because tempi might change during songs. ;)


With automate during the whole set I mean automating the 'sequencer state' throughout the arrangement.

i love it! if there can be dedicated assignable buttons for loop length 2,4,8,16 that would be amazing. thank you!!!

Thank you for all your feedback!

I have uploaded a new version:
- Quantisation now works on any time measure, not only 4/4.
- You can decide between beats and bars as unit for the loop length. This enables you to do polyrhythms for example with a length of 7 beats on a standard 4/4 measure.
- Added assignable multi-buttons as an alternative way to change the loop length.


This is really great! Good job. And thanks so much for sharing it, very generous.

I have just one thing on my wish list:
I'd love to have the option to have the Through option enabled only when not Playing. So I would have the input coming through until I (record and then) Play. Then while playing the loop the Through is disabled so I hear only the loop.

Then it would be just perfect!

Hey Krito

Thank you for the updates! I totally forgot about this thread.. I'm gonna try the updated version in my live set soon and let you know about the odd-meter stuff. :)


Hey guys and Mr. Krito,
could anyone of you please be so kind to make a Youtube demonstration of this device? It looks really fascinating, but i m too dumb to use it...
Thanks in advance :)

Hey Krito,

Amazing plugin, I'm almost at the point where I would use it regularly. Although I have a bug that hinders me from it. If I play the song at a start point where the sequence would start from the beginning, it ignores the first note. The note is played however when it loops. I only can it bring to play if I crank up the delay knob on the micro delay section.

Tested under Ableton 11.2.10 under Mac OS (M1)

Thank you Very Useful Midi Looper! What else necessary is UNDO button for undo last layer (for undo live playing mistakes).

it has one issu looper recieve all midi information from all 16 midi channels no matter which midi channel is selected on the track

Hello ! Your M4L device is amazing ! Iy's the onlyI fnd to make my live performance work ! Big thank you :)

Do you think it's possible to integrate also midi CC (like modwheel or other midi commande) ?

amazing device!!!

Hi Everyone, thank you all for you feedback.

I released a minor update on this device, which mainly fixes the bug reported by mangomeat:
- The first note is not dropped anymore when starting to play a previously recorded sequence under normal circumstances. It may still being dropped when using lots of negative delay or the note is supposed to move into negative time for other reasons, e.g. recorded note is very late and lot of quantisation amount. (Thanks for reporting!)
- Playing with the grid settings is more stable and less likely to lose notes or play them twice
- Changed the default settings so that the device is ready to record and play


Login to comment on this device.

[ browse device library ]