ndls (0.2-beta)


4-track, grid-based, tape looper, delay, & sampler based on softcut. modeless, gesture looping, & performance-minded. highly bendy.

a spiritual successor to anachronism, anaphora, and several unreleased precursors.


read here



  • norns (220802 or later)
    • the required norns version is recent, please be sure that your norns is up-to-date before launching
  • grid (128, 64, 256, or midigrid)

also supported

  • arc
  • midi mapping


install from the maiden catalog


in the maiden REPL, type:

;install https://github.com/andr-ew/ndls/releases/download/latest/complete-source-code.zip


I’ve been working on something like this for something like 5 years, ever since I first got the grid, and it’s still not done, nor will it probably ever be, but here we are! I’m considering this beta since some planned options are missing & since there’s still some rough edges in certain corners, but considering it ready to share widely since the UI & “factory” settings feel like they’re in pretty good place to me & because it has a good track record of stability so far.


@dan_derks, @tehn, @Rodrigo, @zebra, @marcus_fischer – even more so than other scripts I’ve shared, ndls is really just a combination of bits from other’s tools & techniques, rather than an invention or new idea on my part. thankful for cranes, cheat codes, the party van, (norns) mlr, softcut, the gird and collected dust for thoughts & material – this is really just a some of those parts.

beta crew – @Jordskred @renegog @doomglue … wow ok there’s definitely more but I can’t remember all your tags – thank you! this ndls would not be this ndls without the shape of your feedback & kindess

honestly having a strange time trying to form this release day. this is & probably will always be my most ambitious project, also my attempted simplest project - it has way too many features but also somehow still too few, several alternate fully functional dead ends, I’ve rewritten the norns version from scratch three or four times, I don’t remember which number it is. I’ve pretty much totally lost interest in it two years ago but it’s still here finding ways to inspire me & today it’s no longer mine, it’s yours. hello


big congratulations andrew, this is such a wonderful instrument that i’ve been enjoying very much in its beta-beta phases :stuck_out_tongue: for my brain, this is the definitive multitrack looper interface that inspires and intrigues me, thank you so much for making it :slight_smile:

I played an hour-long set last week with just: my dad (to make weird noises with his voice and lil knickknacks), a microphone, a couple pedals, and this script. We’ve tried playing together in this sort of style before, but other loopers or approaches/methods to looping didn’t give us the combination of flexibility and control for it to feel like he and i were both in the moment actively playing together — for our purposes this ended up being the ideal tool, and even in beta form it didn’t let us down :partying_face: Here’s a lil clip from the set: donkey bone chronicles drone set 5/7/23 - YouTube


Congrats andrew! Happy to see this out in the wild and looking forward to spending some time with ndls soon.


Andrew, this looks incredibly awesome. I’ve got zero chops when it comes to script development and I’ve often dreamed of making a looper/delay/sampler, so I’m pretty excited to check this out. Thank you for sharing your work!

@renegog - everything about that project and video is awesome. :heart:


I’m really enjoying this script and I can see it being implemented quite a lot in my setup. Got the “fav” tick within the hour of using it and it seems perfect for creating little textural/rhythmic backdrops. Congrats on the release!


I can’t wait to try this script, but I’m still a slave to the clock despite all my attempts to break free from it. Recently I had a dream in which I kidnapped Hainbach and forced him to mentor me . . .

. . . but I don’t live in Germany so that idea is plain silly.

Congratulations on this wonderful project. I look forward to seeing it blossom and evolve.


Congratulations on the release! This looks like a lot of fun to play!

I can’t seem to get the midigrid to work. I’ve tried adding the following line of code (to line 20) in ndls.lua:

local grid = util.file_exists(_path.code.."midigrid") and include "midigrid/lib/mg_128" or grid

This results in the message “error: load fail” when selecting the script. I’ve tried with both one and two Launchpad mini mk2s. I’m running norns shield version 230509.

1 Like

!thx all

@renegog yeyyy glad you got a recording - legendary. i think the 0.2 layout for 64 ended up pretty close to your drawing, thx for the feedback :sunglasses:

@branch well you’re in luck cause synchronous looping & clock sync are planned for 1.0 no kidnapping required

yyyep same bug / same code copied from orgn (or other way around i don’t remember) where size detection code breaks midigrid whoops. until i push a new version someone posted a band aid fix in the orgn thread


This mirrors so cleanly what I strive to do with norns or just about all my loop approach practices - thanks for sharing.


i meant to tell you when i saw you last week irl but its been so wildly inspiring to see the way you’ve shaped and made these instruments and see the ways people use them. big big love to you and to all the work you’ve put in here.


Thank you for pointing me in the right direction! I used the workaround method described here. When line 24 and 25 in the script are commented out the launchpads loads with alternate 64 grid layout :slight_smile:

I wasn’t able to get both launchpads to load as a 128 grid, though. Adding grid_width = 16 as suggested in the workaround method didn’t seem to do the trick here.

hmm for ndls i think you’d get there by throwing in a line of wide = true , probably after the lines you changed. you also might want to throw in a varibright = false for better brightness levels (uhhh i think that does it)

i feel like splitting up the layout for this one would be funky but ymmv ~ the 64 layout covers all the same territory as the 128 just more condensed & a bit more memorization needed

@zanderraymond thx zand <3


Yes, that worked. Thanks a lot!
I’ll definitely try out both the 64 and 128 configurations to see what feels best. Looking forward to play around with the script!


I know it’s in beta, but I’m having an absolute blast with this script @andrew. I made a descriptive jam where I kinda showcase my use for it by recording an old music box into it. For those interested you can easily get some ideas here, but I do encourage anyone to explore on their own as the script has quite a lot of possibilities.


wohoo thank you for sharing @fellowfinch <3

i’ve been trying to put less energy into making my own videos for this stuff & just focusing on code because i’ve noticed that more & more lately other ppl are filling in w/ their own tutorials & clips.

just wanted to say that the work you put in is very appreciated ~ added a link to this in the norns.community page under “tutorials”, hope that’s ok : )


of course, no problem! I really enjoy making these videos, as I wanna give something back to this wonderful community and if it means more time for your making these great scripts than that’s another reason that I should stick to making 'em :slight_smile:


Incredible work, I’ve had this recommended to me by several users - just speaks to the script. Do you have any sort of timeline for when it’ll support clock sync?

Monome 64, Arc 2, and Shield making NDLS

I’m having a great time with this, and had to document the beautiful 64/arc 2 support. Thank you for all the hard work you’ve poured into this script. I also look forward to clock sync in the future.


I finally got around to installing and using ndls and it’s so great.
Thanks so much for making this and all the effort you put into the documentation.


Wow how did I miss this @andrew thank you so much for making this, it feels like such an accomplishment. I can seriously say your various tools have had a lot of influence over the music I’ve made these past few years, and this feels like a great “coming together” of all those small things into one beautiful instrument. It’ll be in my fav norns scripts for sure.