Approaching: norns

norns

#2042

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


#2043

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.


#2044

working on mlr today! many improvements.

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


#2045

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.


#2046

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:


#2047

@enneff this is another interesting way I saw with the kinetic ball idea https://www.facebook.com/dillonbastanartist/videos/276287586498232/


#2048

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:


#2049

heres @darwingrosse walkabout sequencer - thankyou!


#2050

This is very lovely! :heart:


#2051

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

Could be a fun loading screen.


#2052

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

NSGIF-15352196240

source code
-- phase 5: TOTAL SUCCESS!
engine.name = "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 ))
  end

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

end

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 ))
    end
    print("r:"..r)
    redraw()
  end
  
  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 ))
    end
    print("a:"..a)
    redraw()
  end
  
  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 ))
    end
    print("p:"..p)
    redraw()
  end
  
  redraw()
end

function redraw()
  screen.aa(0)
  screen.line_width(1)
  screen.clear()
  screen.move(x[2],y[2])
    for i = 3, p + 1 do
      screen.line(x[i],y[i])
    end
  screen.line(x[2],y[2])
  screen.close()
  screen.stroke()
  screen.pixel(x[1],y[1]) -- comment this out to get rid of the center point
  screen.stroke()
  screen.update()
end

COMING SOON:

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

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


#2053

@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


#2054

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.


#2055

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.


#2056

20 characters of This!


#2057

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.


#2058

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…


#2059

If anyone is looking to edit the Passersby engine into other scripts then this simple demo script might be useful reference: https://gist.github.com/markwheeler/ca2d5fa0b09bd15db8e0b90991150ce1

The main Passersby script is a bit of a monster!


#2060

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.


#2061

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