live-input focused mlr variant. rough around the edges.

1 track + singing bowl w/ overdub:

a sort-of-polished-up version of of a norns mlr-inspired delay/looper I’ve been using quite a bit for the last year. excels at expressive glitchy improv stuff. many bugs which are also features. largely untested - plz post issues if (when) they arise. don’t foresee a lot of future updates to this, since I’m mainly focused on building some new less glitchy ideas and ports in max with the soon-to-be-completed softcut~.

differences from norns mlr include:

  • a simplified 1-page / 4-buffer layout. lets you cut, repitch, record and switch buffers simultaneously, all of which can be pattern recorded.
  • unlike softcut, the audio engine is home-brewed in max and has a lot of glitchy/rough edges, including buffer clicks & varispeed record/playback resampling artifacts. think early-2000’s microsound. this is all semi-intentional and I’m not looking to alter the behavior for this app.
  • alternate record speed / play speed / overdub architecture. at overdub(fb) = 0, record speed is locked at 1, speed controls playback. at overdub > 0, playback speed is locked at 1, speed controls record. honesty, no idea why I chose this behavior, but it can be fun.

supports multiple instances


Ableton Live
Max for Live
128 or 64 grid


grid layout

first steps

  1. open a live set, drop anaphora.amxd in an audio track and record enanable the track. for a 64 grid, non-varibright layout, use anaphora64.amxd

  2. select your 128 grid from the dropdown on anaphora. make sure ‘focus’ is enabled.

  3. press the top left key on the grid to create a loop. make a sound. press the top left key again to stop the loop. you can also drag and drop existing audio into one of the waveform displays.

  4. recording while a channel is muted results in a new loop.

  5. pattern record captures button presses made on it’s row of the grid, and plays them back

    ~ explore ~




Awesome :slight_smile:
Thank you!!

Whoa amazing, thanks for sharing all these M4L devices!

This wouldn’t happen to work combined with Synechdoche as a ‘grid’ emulation, would it?

glad they might be of use ! just had them all sitting in my github undocumented so I figured it was about time for a proper launch : )

nah, synecdoche spits out midi, the grid devices communicate over OSC, blah blah blah

this would be a pretty approachable feature to add if you’re interested in taking it on tho. the hi object and the device javascript code (accessed via the ‘open’ messagebox in the patch) would be places to look

I also made a grid-free version of this that kind of worked? could share?

edit: found it! it’s spooky


Would love to give it a spin if you could share the grid free version. I have a launchpad mini and a Push2 but no grid =(

edit: thanks!!

1 Like

Not sure what I’m doing wrong but I can’t get this to work. Running Ableton 10.1 I followed instructions but the grid seems to not be recognized. Anyone else experience this? Other maxforlive devices for grid are working

roll call if anyone does have this working. packaging this stuff wrong is incredibly easy to do, so there might be nobody.

i would love to give a play but i only have trusty old grayscale 64

I also have basically already made a 64 grid version of this oops I should probably post that too

edit: did that

1 Like

does the pattern record work on all buttons or just the cuts?

records all buttons for the respective buffer. (hack: in the 128 version, if I remember correctly the pattern records can pattern record each other)


i’ve loaded it up. the 64 version doesn’t have a m0000046 monome 64 option
it only shows 2x m0000046 monome 128
or “none”

my monome lights don’t light up, no transport happens, can’t get the monome to interact with the amxd.
tried toggling focus and switching to all available options.

solid bug reporting @dude, this is definitely an issue with packaging the .amxd file. m4l sucks at this, I think it’s one or several bugs on their end - will report back.

@Prnts is your issue similar to the above? how is the dropdown behaving? ty !

1 Like

yes that’s exactly what I’m seeing on my end as well

ya’ll I bet if you edit the patcher the grid will show up

edit: less confidence

when you say edit the patcher. can you give the simplest possible direct instructions that could achieve your intention? i’m sorry for my simplism, just not sure if you mean parameters to be chngd/svd etc.


lets see if I fixed it:

Looks like its working now. going to give it a go. Thanks!

@andrew One thing I’ve noticed so far which I am not sure if it is due to loading a longer clip (16 bars) That the first button and last button on cut trigger the loop from the beginning

yeeeeeeeeeeeeeeee haw !


probably just something I never noticed because I never use tempos. this may not be your best tool overall for quantized stuff but I suspect I can change this bit pretty easily so I wouldn’t mind doing it. note the buffer also caps out at 128 seconds for no particular reason.