Norns: ideas



Driving down the NY State Thruway this afternoon, we had a nice time playing with the AM radio to pass the time. Though this particular device doesn’t handle AM band, it would be nice to use something like this to receive the various radio signals, with Norns polling and processing the incoming signal. Maybe use the grid or arc (or MIDI) to change bands. Feasible?


Also, developing a crude (though probably not very useful) spectrum analyzer would be a good self-assigned exercise.


This is relevant to my interests. Do you know the Wave Farm people?


this! - :laughing: so I can re kindle my first (very enjoyable) endeavours with a music programming language!


It’s a start.


I am now! Looks very interesting! At the moment, I’m trying to source a receiver that 1) doesn’t require more than 1 GB of RAM 2) works with Raspberry Pi and 3) won’t melt. More to come…


I went a little off the deep end and decided to rewrite hid.lua tonight to make device connection work the same as how grid and midi work. (I submitted a PR, but there’s still a couple issues that need resolving)

Thus it’s a bit more plug-n-play and you can just get event data without having to do much.

local keyb = hid.connect(1)
function keyb.event(typ, code, val)
    print("hid.event ", typ, code, val)

Sadly I’ve lost the pen for my wacom tablet so I can’t test that :frowning:


Followup on Wacom and HID…

I borrowed my neighbor’s Intuos and it spits out events like crazy with my HID hacking this week. :slight_smile:

Likely it’s gonna take some filtering on types since it’s sending LOTS of data for position, etc.

Ping me if you wanna try the HID changes and I’ll point you to the PR or my work in progress


potato camera view of hid keyboard input


I’ve also been poking at the HID code to add raw input reports and output reports, to support the Illucia DTR and the Elgato Streamdeck. I took a look at your changes and mine seem totally non-conflicting. Regardless I’m going to try and finish up a couple clock PRs before I come back to the HID stuff, so I can wait til after you’re done. (Or if you want to tackle output reports, be my guest; I think I’m doing everything right, but I still can’t draw any pixels to the Streamdeck’s button screens.)


I’m not even sure what raw input/output reports would be… (googles)… Wow, yeah - I’ve not gotten anywhere close to that stuff yet. Sounds like you’d need to build the output report from the raw hid data?

I did push a fix for some event type “codes” which may help if event types you need were not getting properly setup.

For the above it’s just a quick hack to read each keystroke into a table and dump lines to the screen.




and this:


oooo. I’m curious about any feedback on how cranes (video / script) can be optimized to fit this bill! my core intent was along the ‘easygrain is to glut’ metaphor, so please lmk what can be changed – definitely looking to sharpen my dev chops. plz branch away, as well!


Awesome, yeah I did run into that issue with the StreamDeck. Here are those changes so far:

I’ll move further USB nerdery over to your GitHub issue.

To take it back to the ideas topic, my first thought with the StreamDeck was to build an Optigan/Orchestron emulator with Norns + Keystep + StreamDeck. Too bad the SD is 3x5 keys instead of 3x7 of the Optigan.

Would SoftCut be able to handle the 63 simultaneous sample tracks of an Optigan?


absolutely not. but you don’t need softcut for just playback


very late to this thread but i’ve got a wacom intuos as well. i’m probably not advanced enough yet to contribute to the codebase HID stuff but would be happy to bug test and report back to the best of my ability when it gets to that point if needed. would be very interesting to see how it might be used


What about a 4 track Cranes? Flock of Cranes?


We gotta think big:



Some inspiration for the Wacom tablet code. If you haven’t seen this, the gestural controls are expressive and beautiful. Would add a lot to an otherwise rigid step sequencer, lets say.

Their specific mappings that they’re using are explained here:


Oh snap, I have a DIY Illucia at home, sitting in a drawer.