Approaching: norns



for my retinas, will there be a dark mode? I know there was talk about theming/css in the posts above.


That’d be a match made in heaven.


There is a ticket for that already and I expect the style/layout to change a bit post release.

Currently the code base isn’t setup for theming but I get the sense that there are enough web dev savvy folks in this community that a dark mode could happen.


Hey Karl
That’s exactly what i was thinking about. If we can run pd or SC or both i see absolutely no reason why not.

I have so many not to mention some insane CV generators that i have been saving for a rainy day +++ Gendy~ code that Thomas and SPencer and i jut fixed

Norns Xenakis


okay thank you for the info. I think i missed that there as an IDE/interface for it which is very nice idea, bravo
i am going to collect my scripts and review Martin Peach’s stuff as well as Graham Wakefields research

fun times


i am sure that is a given if technobear is in on the game, that’s in his bag of tricks



did you get in on this round of norns? or are you planning to develop without one?


Gendy is the one that I’m (of course) most excited about


I loved Nick’s Gendy ugen and was thinking about it over last couple of days… it’s all very exciting


Just wondering if anyone had much experience with lemur or touch osc? Could grid behaviour be cloned to control mlr on norns for example. I really want to buy another grid not sure I cant afford it this year. Will probably end up selling gear to buy one? :smiley:


I’ll try to answer a few regarding the last few at least at it pertains to me…
1.) yes i got a batch 1 Norns
2.) I am talking about Spencer Russell’s Gendy that i used Flext C++ layr to update for linux 32 bit [organelle] this year. 64 bit is a given.
3.) I am VERY excited to see what can run properly on Norns, Martin Peach has already created a very simple Lua interface for Pure Data so i can enter that way if it’s proper.
4.) graham Wakefield wrote LuaAV but that seems like it’s pulled other than a white paper i found and stuff that is about 7 years old for linux 32 bit which could be cool --i know he’s doing a lot for VR with Oculus/Vive and Max now which i have been using since 1996/teaching since 2004
5.) i have a virtual shitton of experience with lemur and touchOSC


So, just to start tuning my mind into a more nornian state… if i have a SuperCollider project with loads of classes interacted with from a gui; could i just add those classes to the norns’ sc class library and replace the gui with Lua? Or do i have to adapt my classes in some way for this to work?


sc has a bunch of scaffolding code called crone to nicely interface with the lua engine.

here’s how to make the an incredibly simple sc engine:

// CroneEngine_TestSine
// dumbest possible test: a single, mono sinewave
Engine_TestSine : CroneEngine {
	var <synth;

	*new { arg context, doneCallback;
		^, doneCallback);

	alloc {
		synth = {
			arg out, hz=220, amp=0.5, amplag=0.02, hzlag=0.01;
			var amp_, hz_;
			amp_ =, amplag);
			hz_ =, hzlag);, ( * amp_).dup);
		}.play(args: [\out, context.out_b], target: context.xg);

		this.addCommand("hz", "f", { arg msg;
			synth.set(\hz, msg[1]);

		this.addCommand("amp", "f", { arg msg;
			synth.set(\amp, msg[1]);

	free {;;

crone automatically reports available commands when the engine is loaded. so lua will be able to call


for example. this isn’t a thorough explanation. it’s a starter— throwing something to the sc people until the docs and code is ready. but this give you an idea of what it means to wrap some sc code in a way that lua can see it and play easily.


the Norns (of lore) references don’t stop.


Thanks for the example! Looks reasonable.


@tehn I think beside what it will eventually do a lot of ppl have very high expectation on MLR! everything else is a bonus, can’t wait to play norn and congrats on the success of your instrument. :smiley:


I’m sure that @TheTechnobear can port Norns software to Organelle and Organelle to Norns :slight_smile:


just to be clear, both lua and JS are “dynamically typed,” and in fact both do have runtime type errors (if you try to call a number, add a string, concatenate a function, take a property of nil/null, etc.) JS performs type juggling for comparison operators, lua doesn’t. (maybe it does more implicit type conversions elsewhere too, not sure offhand.)

you’re right to point out that they are very similar in surface structure (though not so much in implementation.) here are some more differences:

another one worth mentioning is that in lua, only false and nil are falsy. (0 is truthy.) this gives you the common idiom x = x or v, which initializes x to v if x is unitialized

SC includes a GENDYN imeplementation (for N=1…5)
i wonder how it differs


Wow, I have a lot to learn :wink:


Can I share a clock between a modular system and norns’ MLR, take a stereo out of modular into and out of MLR and mix the original signal with the cut up signal within MLR (or somewhere else within norns)? ie norns is just part of my output signal chain?