norns: ideas

Oh, amazing! I see that it limits it to four boids which respond to Crows CV inputs, but maybe doesn’t send outputs? In any case, maybe I could adapt that code… Thanks for the heads up!

Output happens in the draw function which is called in step, triggered by the mover metro. Much else I’m not sure about as I’ve never actually used this script!

Right, I would guess that draws to the screen of the Norns?

I think this is a Crow only script - however, porting it to Norns could be quite straightforward. You’d want to include a redraw function and call that to draw to the screen of Norns. Then for interaction with Crow you’d have to prepend “crow.” to input / output lines

1 Like

Not sure where to ask this cuz the Norns: help thread is locked… I just recorded to tape for the first time, and i figured tape playback would be treated as incoming audio but it was ignored by the apps (I was trying to play it back into wrms and then pedalboard). Is this possible already? If not it could be an interesting feature…

i think PARAMETERS / SOFTCUT > input tape gets it into softcut at the moment ? apologies if wrong

1 Like

appears to already be working with wrms, I’m not sure why i thought it wasn’t before perhaps I was being silly(?) pedalboard doesn’t work, I assume this has something to do with it not using softcut.

this was the first thing I tried, but it did not appear to have any effect on the level going into wrms or pedalboard, nor does it seem to now…

@zebra sorry for repeating that question, searched around a bit but evidently didn’t use the right words.

For this particular use-case I will just record out to actual tape and then back in to norns, thats more fun anyways :partying_face:

I’ve left it on hold for a few weeks, but I did some work recently on a Norns script that uses a Boids-ish algorithm in 3 dimensions (based on Craig Reynolds’ description and the OpenSteer code – which I found to be surprisingly different from the 2D pseudocode implementation referenced above).

This version is pretty out of date now, but it should work, and I’ll push some more recent code when I get a chance. It uses three boids’ Z axis positions (as they fly around a randomized Perlin-noise-based terrain surface) to determine the pitch of three FM voices, and their positions relative to another object which rotates around the center of the screen (the “probe”) to determine panning and dynamics.

I wouldn’t recommend gazing too closely at this code just yet – I did some premature optimization to some aspects of the script before figuring out that the real bottleneck was in the screen drawing routines, which has since led me down a different rabbit hole for now. But maybe it’ll be interesting?

(PS - if you’re eggsovereager, I loved the videos you posted recently of the cellular automata with constantly changing rules. lovely.)


Awesome! Yes, I did a 3D boids implementation a while ago too… x, y, and z outputs would be great too! (See below.)

I haven’t yet tried installing from Github to Norns, only from Maiden… will see if I can do that soon.

I am indeed eggsovereager - glad you liked the 1DCA video! It’s kind of an oldie but a goodie, and while I love watching a single ruleset play out, particularly for the chaotic ones like, famously, Rule 30, I thought it would be nice to switch them up too… I actually did a 1DCA implementation in Orca too - I might try copying that over to Norns Orca next, actually, for a nice visual output on screen as it generates rhythmic patterns…

3D boids:

1DCA implemented inside Orca and driving rhythms:


That’s amazing! That’s great to know.

cc’ing @matthewdavid + @andrew since the topic came up in leaving community discord…

sonification of celestial imagery (as shown above) seems like a great idea for a norns script! users could have control of tempo and how data corresponds to frequency, amplitude, and duration of sounds generated

output could be variable, either using internal synth engines / midi / or crow-based cv (along with ii enabled jf and w/synth control)

also would be fun if small images could be loaded from the lib folder for analysis and usage within the script

1 Like

A supercollider implementation of the Buchla 700 from Prof. Aaron Lanterman here… b700ish/b700ish.scd at main · lantertronics/b700ish · GitHub

Might be an interesting idea to translate to the norns?


norns script idea!


a physical simulation.

-a visual representation of a rainstick is a simple vector/wireframe model of a tube (where you are allowed to see within).

-lines of various lengths represent tines inside the rainstick.

-default functionality is for grains striking rainstick tines to trigger an internal synth engine.

-the internal synth engine sounds like a rainstick without using any samples.

-the internal synth engine heavily specializes in noise and percussion sounds.

-tines of shorter length have a higher pitch, but (perhaps unrealistically) are just as likely to strike as tines of longer length… only so that higher notes may still play as frequently as lower ones).

-adjust the angle of the rainstick with an encoder or CV via crow or MIDI.

-hold rainstick in place vertically and have grains generated by CV or MIDI input appear appear at the top and then disappear upon reaching the bottom side of the rainstick.

-alternatively automate the angle of the rainstick with an LFO.

-LFOs may be free or synchronized to a clock.

-ability for the rainstick to automatically rotate once nearly all grains have fallen.

-ability to map additional LFO’s to various parameters.

-ability to change tube length and width.

-ability to make the ends of the tube resonant membranes (like a tuned drum head)?

-ability to change tube/membrane material?

-ability to change tension and dampen the membranes?

-ability to change grain weight and friction.

-ability to change tine springiness.

-ability to change gravity?

-ability to increase or decrease number of tines.

-ability to increase or decrease number of grains.

-ability to increase or decrease size of grains.

-the size of grains may be varied randomly if desired.

-tine scale mode (tines are tuned to a scale) with ability to randomize the order of notes.

-microtonal scale support.

-ability to adjust tine strike velocity sensitivity or turn velocity sensitivity off.

-ability for tine strikes to output MIDI note and velocity.

-ability for tine strikes to output CV (gates and somehow maybe notes) via crow?

Apologies for the overuse of the word ability and I don’t have the ability to make this. :wink:


Related to @mlogger’s idea of sequencing/chaining psets, what about making them switchable via MIDI? Would be a step towards that direction. Each pset could contain a MIDI message that is used to load the pset in question (e.g., a program change message).

That would make sequencing norns scripts with something like an Octatrack or a foot controller really easy.


Small improvement idea here… but it would be nice to have syntax highlighting for Supercollider files in Maiden too.

Even though I primarily develop engines in Supercollider on my MacBook, I eventually need to wrap it in a Crone class on Norns. I find that I end up making a lot of silly syntax errors since I don’t have highlighting in that environment.

I think treatment of just comments, numbers, strings, and basic keywords could go a long way.


i’m sorry, but the music industry is always playing catch-up.

9 years ago, with multi-point gravitation, friction, wall bouncing, blah.

here’s the code: corners/corners.js at master · monome-community/corners · GitHub

the simplicity of the code is amusing: basic mechanics that you’d learn in first year high school physics.

needless to say, easily portable to whatever. would even look much better now with var-bright.


oof, give me that w/ crow cv outputs

i forgot how many of the older max scripts had their business logic in js. soo easy to port to lua - i nornsed one of my older grid libs in a single laundromat visit once


I took a second look at this last weekend and it was looking like more work than I could dedicate at the time. The acme editor which is the basis of the editor in maiden does not have a syntax file for Supercollider. While it is possible to convert language modes from TextMate to acme when I tried that it generated regex code which JavaScript said was invalid and broke the build.

I’m sure it is possible if someone has the cycles.

Regarding the crone integration, it is possible to load the crone classes into the normal desktop Supercollider and work there as opposed to on device.

By the way, is there any way to increase the default font size in Maiden? Ever since the most recent update, the text on the code page has been tiny and almost unreadable. Zooming in on the browser works, but also makes text in the other panels huge in comparison.

1 Like

Idea: Pinball machine

(hadn’t seen @encephalitislethargi s post when I posted that :slight_smile: )