norns: ideas

oof, I love this idea… and there are so many different ways one could interpret the cards (also reversals!) that I can imagine doing something like Dronecaster to let people create alternate decks… with accompanying 42x64-pixel grayscale images… woah.

@synthetivv I know just thinking about lil pixel art cards is making me excited!! I definitely had dronecaster in mind while thinking this up

@spamula runes would be cool but the way they are cast and interpreted tends to be so much more open and the meanings more elemental so I had a much harder time coming up with musical interpretations. Also, tarot cards have a tradition of being reinterpreted and adapted into many different versions, while runes have specific religious significance based in historical writing, with little culture of adaptation so I would feel less comfortable making them into a synthesiser!


@nonverbalpoetry I wont mention an I Ching version then and three Norns, one running each divination practice and working together :slight_smile: I used to use all three quite a lot when I was doing those type of things. In the intervening years tho, someone stole my Crowley tarot set, books, runes, etc etc. I shoulda seen that coming :slight_smile:

@justmat Ha! Inevitable that someone would have already done it I guess :slight_smile: I have a pack of the real cards here so it was kinda moot for myself anyway.

:heart_eyes: I wonder if it could just be baked into the Norns start-up sequence - a random strategy appears before the Home page, K2 to refresh the pack & get another, K3 to accept/dismiss & go to Home. And options in Settings would include not showing it at all…


If the Cthulhu awakens because unknowing people are running their synths… I’m ready for it.

Ph’nglui mglw’nafh Cthulhu R’lyeh wgah’nagl fhtagn


@Justmat @spamula in yggdrasil you can draw an oblique strategies card simply by typing “oblique” + enter : )


I enjoy this sort of liberal new-age mix-and-match of belief systems. Very postmodern :smirk: Maybe also Maradona, St. Mary with baby-Jesus or Mohammed icons could jump out at random and drop some sick frequency modulations and envelope generators?

Oram Overtones? Derbyshire Distortion?

1 Like

Had a dream I was visiting a friend and he showed me a tape deck he found at a thrift store. He called it the Coolpix (somehow related to the Nikon coolpix series of cameras). It was a portable deck with an extra set of buttons that you would play like a trumpet and this would engage different play heads at different intervals of the tape. You could also pitch the play speed up an down of course!


i hope each of them plays back from a different channel too ! !

Is it possible to add in a feature to a script similar to the global PARAMETERS > MAP function but for crow’s inputs? Would there be a way to hack the code to be able to map multiple parameters to either of crow’s inputs? Or would it make more sense to try and add that into a specific app?

I’m hoping to take a crack at it, but not even sure if this is possible or where might be a good place to start.

@mbillz helped me add that (cyrene/crow_io.lua at master · 21echoes/cyrene · GitHub) to Cyrene. Would probably not be too hard to adapt to your script. And probably not even that much harder to abstract to something very similar to Arcify for anyone to drop into their script with ease!


@21echoes + @mbillz definitely win for cleanest implementation :slight_smile:

clear ideas + vision are always welcome as a PR to the main repo! it’s already been logged as part of a feature request, but you might want to roll it as a script hack or lib first.

if you’re pretty comfortable with code, i’d say start with the example david posted – it’s really nicely organized and can be easily extended.

if you’re just digging in, i’d definitely encourage you to check out the params API – the ref page has all the functions and study 3 has a great flexible example/overview.


essentially, every parameter in a norns script is controllable via one of these two commands:

params:set("osc_name_of_parameter", value)
params:delta("osc_name_of_parameter", delta)

the osc name is inside of the parameter declarations, but it’s also the name that surfaces when you put the parameters into MIDI map mode:

you’ll likely have most success with params:set, you just need to know the range you want to control via crow. this is the out 0.0 100.0 part of the third screen in the image above.

for example, you could add this to control the pulse width parameter in the example screens above:

function process_stream(v)
  local volt_to_param = util.linlin(0,8,0,100,v)
  local clamp_it_down = util.clamp(volt_to_param,0,100)
  params:set("pw", clamp_it_down)

crow.input[2].stream = process_stream
crow.input[2].mode("stream", 0.25)

(^^ purposefully inefficient to demonstrate a potential thought process)

the two util functions are built into norns, which help keep data within a range.

i use util.linlin to generally map an incoming 0-8 V range to 0-100 outgoing integers. i then clamp it down to make sure that if crow reports lower or higher than that range, that it doesn’t send below/above 0 to 100.

once you get the hang of this part of the system, there’s a ton of efficiency to be gained. i also wrote up a dumb lil’ MIDI mutli-map example here: multimap example · GitHub, which could be a decent enough jumping-off point to co-opt for crow, if you need one :slight_smile:

but also, that cyrene example is sliiiick :sparkles:. more libs like Arcify and Passthrough would be rad + a nice way to extend the ecosystem without needing to negotiate designing a system menu.


@dan_derks @21echoes wow that you both so much for all the great info! :pray:

I’m definitely new to Lua so the process may be slow going, but it looks like there is plenty to dig into here to get this working how I’d hoped.

Future dreams: if I can get it functional and clean, I’d be happy to share some sort of lib for this feature to make it available for other apps. Cheers!

1 Like

Alright, feel free to give GitHub - 21echoes/crowify: A Monome Norns library for easily adding Crow support to existing scripts. a spin! I tested it on a few different param types, but haven’t done a particularly thorough amount of testing.


Crowify looks great! Looks like Arcify gave you a starting framework but I’m glad you could take it further.


all the content is here and ready for forking! yggdrasil/functions.lua at main · northern-information/yggdrasil · GitHub


Thank you!


14bit Midi without any additional hack would be amazing

1 Like

Agreed. I made a little midi controller for my pisound with 14bit control messages to accommodate for the controls like a 10 turn pot which would for example work nicely for scanning through a buffer with a bit more granularity. Would be great to have it mappable in Norns without editing scripts. What 14bit midi controllers are you using?