I still don’t have a norns yet but I’m intrigued by the companion m4l device. Could you talk about that a bit more?


1 Like

This looks so ace! Can’t wait to try it out! Love that it has midi Ready! Transport sync and grid implementation would certainly be welcomed.

Thanks for sharing and cheers!


@ljudvagg developed this part but it’s a fairly straightforward thing. Drop the device on a midi track in Live and set your computers IP in the script (info in the m4l device).

Transport sync is definitely on the horizon. Can’t see the use of grid support though. Not sure how it would add to the functionality. But if you prove me wrong I’m ready to make it happen :wink:


I’ve learnt alot about Norns during this project and @vicimity is a great mentor!

I made this playlist with some of the recordings I made while testing the script. All sounds from Monomachines FM-machine and some effects in Ableton.


I tried this today and got some really unusual sequences with just friends hooked up to a faderfox especially messing with the 2 lfo influence values. It’s a very interesting concept using slopes to make sequences. I am guessing this is something similar to the ASL idea on crow running slopes through quantizers? Hats off to you both for a very cool and unique sequencer.


REALLY digging this script!
it was the center for last night’s noiz session…
Tviburar is controlling two channels on the Virus B.
also in the mix is Bounds and Cheat Codes 2 with other noiz from Ciat Lonbarde, MBase11.

i think Tviburar is having the same issue Delinquencer had.
it doesn’t just see a MIDI device is connected…can you update it to just see a device and TX / RX MIDI on any port?


Hmmm… I’m not following what you mean here. Help me out some more and we’ll take care of it.

Also, thanks for checking it out and the feedback is much appreciated!

1 Like

Hey ya!

I couldn’t get MIDI working originally since the script wants to use a particular port on norns rather than just see the MIDI I/O device.

since the way it is set up now the user has to figure out what port the MIDI device is connected to and then set that in the script…rather than…the script just seeing a MIDI I/O device and just using that for transmitting and receiving.

then it’s a bit easier for the user to just go in and set the MIDI channels for controlling things.

i hope i am making a bit of sense.
if it would help…this is the issue and if you read a bit further down you can see the solution for Delinquencer:

Thats’s really cool! I’m using Bitwig Studio and it was really easy to modify your script so that i can receive the notes in Bitwig using the DrivenByMoss Script. I never tried that before but now it seems quite easy to add osc out to other sequencer scripts :thinking:


I changed line 498 of tviburar.lua to:

    osc.send(osc_dest, "/vkb_midi/1/note/", {note,100})  

So you want the script to automatically find a midi device and route to that? Not sure how that would be done or if it’s a good idea, I’d rather have control of this routing. But I might misunderstand your point. Can you point to a script that does this?

As it is now you can choose either of the 16 midi devices and for that device choose channel for the two outputs. Is this not working for you?

Edit: ran this by @ljudvagg and we came to an understanding (I think). We could add midi device for the separate output options. That way the two lanes can be sent to different locations. I think this would be good.

1 Like


We have updated the script and M4L-device and it’s now easier to connect to Norns. Enter the Norns IP and port (10111 is default) and press ‘Connect to Norns’. It will update the script and start sending OSC to Ableton when you change Twin output to OSC.


Apologies if i’m confusing the matter…
but maybe if the script displayed what was connected to the ports in the parameters page so the user could scroll through and choose what they want to connect to.
again i would refer to the Delinquencer script by @Klindley. :slight_smile:

1 Like


Code for this (in-case anyone reading this is curious and to save you hunting) is:

params:add{type = “option”, id = “midi_out_device_id”, name = “Device”, options = devices, action=new_midi_device}

function buildlistofdevices()
devices = {}
– Get a list of midi devices
count = 1
for id,device in pairs(midi.vports) do
strippedname = string.gsub(, ‘^%s*(.-)%s*$’, ‘%1’)
devices[id] = strippedname … " :" … count
count = count +1

In my delinquencer script, I call the buildlistofdevices function as part of init and before the params are defined.

Make sure the buildlistofdevices gets called when a new midi-device is detected otherwise it won’t appear for the user select, also need to refresh the param.

Kind Regards


Getting a chance to test this out now and very excited about it! I need to set myself to the task of extending it to output MIDI CC too :control_knobs: This is a useful addition to norns world, thank you.

EDIT a little bit of shameless cornercutting Lua programming later: u jes CC modulated bleeps galore!! NTS-1 get to work!

EDIT 2 a pull request is in preparation, once i’ve brought back both of the corners i cut. Am i right that the note argument of play_flo() is expected to range from -24 to 24 (48 values)? One of the corners i cut was actually to read from the LFO directly, to get higher resolution (128 values – I’m not so interested in tonality for this feature).

EDIT 3 PR submitted for MIDI cc output.


@xmacex Wow this is awesome! Thank you! I’ve been sequencing Abletons wavetable synth and changing wave position with the cc value. Got stuck in JAM MODE while testing everything :slight_smile:

I changed some values from 1-128 to 0-127 and default CC to 14 and 15


Many thanks. I have a gradually changing dub techno groove going on for… 4 hours now?


Update 2021-08-04

  • Multiple outputs per lane
  • Separate midi devices per lane

Have fun! /Linus and Filip

PS. this breaks previous psets (due to new params for more output options), sorry about that.


this is genius, i love it


I used this with a digitone yesterday and spent a good hour just slowly tweaking and enjoying this. Had a musicless, unproductive time for a while and this kinda drew me back into just playing.
I really wonder if it could be useful to add refrain to it as well.


20 characters of Refrain would be a great addition