Approaching: norns



More broadly, is there a plan for a systems update (with a sprinkling of fresh dust) sometime soon?


are there any updates planned for mlr? i would love to be able to use it live but the aliasing issues are really restricting. also, recalling presets would be nice.


working on mlr today! many improvements.

update (with dust) is coming very soon… trying to tidy it up and make it whole.


There’s already some code that does this for a DIY Eurorack module “dodeca/dubldeca”. Not much to it really. I’ve made some additions to the original code and a hardware hack to get better resolution output from the DAC pin (for pitch output).

I’m also working on knob box with possible “expanders” - one of which could include CV output I suppose.


I would love to sync over MIDI via Ansible… is that possible with a USB A-A cable? Even better would be MIDI Thru Norns so I can play a MIDI keyboard through Ansible at the same time :thinking:


@enneff this is another interesting way I saw with the kinetic ball idea


rebound is a ton of fun, thank you @enneff! The shift controls were fun to explore and figure out :).

here’s a track I did using rebound, with some cc mapped params of the engine controlled by the korg nanokontrol2 faders. I ran that through delays for movement around the stereo field.

here’s what the rebound patch looked like:


heres @darwingrosse walkabout sequencer - thankyou!


This is very lovely! :heart:


Messing around with some screen experiments tonight and created something pretty from a happy accident.

Could be a fun loading screen.


Finished what I started last night: A rotatable, resizable polygon generator.


source code
-- phase 5: TOTAL SUCCESS! = "TestSine"

function init()
  r = 10 -- radius
  a = 1  -- angle
  p = 3  -- n points
  x[p+1] = {}
  y[p+1] = {}
  x[1] = 64 -- this defines the center of the polygon (x,y)
  y[1] = 32
  for i = 1, p+1 do
    x[i+1] = x[1] + (r * math.cos(a + (i+i-1)*math.pi / p ))
    y[i+1] = y[1] + (r * math.sin(a + (i+i-1)*math.pi / p ))

-- xy = xy + (10 * cos(radians))


function enc(n,d)
  if n == 3 then
    r = r + d/2
    for i = 1, p+1 do
      x[i+1] = x[1] + (r * math.cos(a + (i+i-1)*math.pi / p ))
      y[i+1] = y[1] + (r * math.sin(a + (i+i-1)*math.pi / p ))
  if n == 2 then
    a = a + d / (math.pi^math.pi)
    for i = 1, p+1 do
      x[i+1] = x[1] + (r * math.cos(a + (i+i-1)*math.pi / p ))
      y[i+1] = y[1] + (r * math.sin(a + (i+i-1)*math.pi / p ))
  if n == 1 then
    p = p + d
    for i = 1, p+1 do
      x[i+1] = x[1] + (r * math.cos(a + (i+i-1)*math.pi / p ))
      y[i+1] = y[1] + (r * math.sin(a + (i+i-1)*math.pi / p ))

function redraw()
    for i = 3, p + 1 do
  screen.pixel(x[1],y[1]) -- comment this out to get rid of the center point


SHAPES: A visuals based drone-maker/sound processor. name pending

@tehn is this something that would be useful for me to make into a screen utility function?


@tyler super nice!!

yes if you’d like to abstract this function into polygon(radius, angle, sides) we could put it into the core screen library


I just want to say that the passerby script is so so nice. Just loaded it up using my keystep to sequence it. This is probably my favorite norns script so far that doesn’t utilize the grid.


Its also my favourite sounding synth on Norns. I’d love to see Passersby utilising the grid in some of the other sequencers, like Awake / Rebound / Earthsea / Walkabout. It would be great to have some sort of engine chooser for all these sequencer apps.


20 characters of This!


Totally! I briefly tried changing the engine in rebound with zero success. Hopefully someone that actually gets the programming end of things makes it easier for the rest of us.


I experimented with putting the earthsea sequencer with passersby and the kayan engine with rebound… They both work but are clunky copy-paste implementations; earthsea+passersby sequences one voice only and rebound+karplus is prone to freaking out with too many balls or too long a sustain time.

When I get back to my home computer tonight I’ll put the gists up…


If anyone is looking to edit the Passersby engine into other scripts then this simple demo script might be useful reference:

The main Passersby script is a bit of a monster!


I’d really love this, although I know it’s somewhat antithetical to the idea that scripts are where combining these elements is supposed to be set.

As the total list of scripts expands, it would be lovely to keep just one earthsea script and pick the engine when launching the script.


I think the problem currently is that way the scripts are written - the engine interface is not a fixed thing - engines/script are free to define their own interactions.

Having a fixed interface would restrict the creative options that Norns allows - I certainly wouldn’t be in favour of that

Perhaps having a baseline interface (& the ability to provide ‘shims’ on top of that that allow different scripts to get what they need) might be an option - or perhaps script makes - say Earthsea could have requirements that engine makers should choose to meet. Kind of like the Interface mechanism in Java