{:.} nest_


nest is a language of touch for objects by monome

nest helps you build a touchable user interface for a norns script, and provides the tools to hook up that interface to whatever sound engine or musical process you’d like to interact with (a synth engine, a softcut looper, a lua sequencer, midi output, crow voltages & i2c). you’re welcome to think about nest as a full-blown library, a markup language, or a maiden-scriptable application in the vein of teletype’s grid ops.

it works by splitting up an interface (grid, arc, or norns itself) into any number of lego pieces called affordances, each with a unique value and unique behaviors configured through properties. these lego blocks can then be bound to your musical process using custom action functions (much like the params system). affordances are organized inside special tables called nests which help group your affordances and allow them to communicate with each other and with the hardware itself. a basic snippet of nest code might look a bit like this:

nest_ {
    my_affordance = _affordance {
        property = 5,
        value = 1,
        action = function(self, value)


studies assume only basic knowledge of lua and the norns system. the format should feel very familiar to norns studies proper, each progresses on basic concepts and concludes with a simple musical piece on the grid (if you’re using norns gridless, see below note on compatibility).

  1. nested affordances
  1. multiplicity

  2. affordance overview

  1. state & meta-affordances



while a norns by itself is technically the only requirement for nest_, it tends to prove more useful when building interfaces with lots of input (grid, grid + norns, or grid + arc + norns). norns after all, just has three keys and two encoders, so many musical ideas can be expressed cleanly without this sort of system, and you get some more flexibility as a bonus (see the examples in norns studies, if you haven’t already). if you want to get a feel for the sort of textual norns interfaces the txt module can be used for, feel free to skip ahead to study 3.


install via the maiden project manager, in the community catalog


been working on the current iteration of nest_ most days for about 6 months, and I’ve been iterating on various forms in max for about three years, ever since I first got my grid. super excited to finally share the magic of nesting w/ the world : )


been loving the soft drop of the youtube clips popping up :slight_smile: very happy for you and excited to dive more into these and see what other people do with them. feels like it opens up new portals to norns’ infinite potential. thank you for your gifts.


thank you ! happy to add to the large gift stack of norns potential

<< a small bump to say that the links to the studies where broken, and I have fixed said links >>


regardless of your familiarity with code plz feel free to ask questions here or via PM ! I don’t imagine this thing to be unconfusuing to anybody, happy to talk more and get into further specifics : )


Study 4 blew me away - thank you. Study 4 should be a standalone script all by itself with w/ FM synth support for the 8 parameters as an option. @vicimity seriously check this out and you will see what i mean.


in video four the switch between the sequencer and the playing by hand is beautiful

an exercise for the reader ; ) ; ) ; )

my surprise was that adding this feature to the script involved not adding anything to the script


Wonderful work, and great documentation. Can’t wait to dig in!

1 Like

Blew me away also! Went ahead and made a midi / w/syn version of this study. Not sure if I’m done or I should start adding stuff on top… For anyone who wants to play here is the repo.

In params you can choose output, scale and root note. There are also cc mappings in there. Default is mapped to Novation Peak in the following order: Noise, Filter Cutoff, Osc1 lvl, Osc2 lvl, Osc3 lvl, attack, sustain and decay.


had a blooming few moments today with nested affordances recorded onto tape and moved around in twine. @andrew thanks for these, they’re a real joy:)