norns studies
comprehensive lessons on individual elements of norns scripting. through these resources, you’ll learn how to translate your musical ideas into scripts and how to extend those scripts to speak with all kinds of friends.
norns: core concepts
tutorials written by monome.
nb. all of these resources assume you’re on the latest version of the norns software. if you have any questions about updating, please see this section of the docs. note that if you are running software version 220129
or earlier, you will need to complete a fresh installation – more details here.
for the best learning experience, we recommend one lesson per week. a slower pace makes it easier to experiment and uncover the simplicity + musicality of the underlying code.
- first light // learning to see. edit a script.
- many tomorrows // variables, simple maths, keys + encoders
- patterning // screen drawing, for/while loops, tables
- spacetime // functions, parameters, time
- physical // incorporating grids, midi, clock syncing
- streams // system polls, osc, file storage
- softcut // a multi-voice sample playback and recording system built into norns
- clocks // create timed and clock-synced function calls: loops, repetition, and delays
- grid recipes // short snippets of code for canonical grid interactions
- rude mechanicals // introduction to building norns engines with SuperCollider
- skilled labor // extended study of norns engine development
norns: contributed knowledge
resources developed by other learners, script authors, and designers from our community.
- norns study group // a community run discord server for asynchronous and video study sessions
- athenaeum // a repository of study, spike, and sample scripts from Tyler Etters
- norns: tutorial // chunked examples that reveal the idiosyncrasies of the core norns concepts from Devine Lu Linvega
- norns development // general development notes from Jordan Besly’s awesome monome norns repo
- lua libs index // overview of norns library extensions (ibid.)
learning SuperCollider
SuperCollider is a free and open-source platform for making sound, which powers the synthesis layer of norns. many norns scripts are a combination of SuperCollider (where a synthesis engine is defined) and Lua (where the hardware + UI interactions are defined). SuperCollider can be run on most any computer – you do not need a norns to dig into these resources!
for those who want to explore creating new synthesis engines for norns, we’ve developed rude mechanicals, a study which walks through building a norns engine from scratch with SuperCollider and Lua.
we also highly recommend Zack Scholl’s video series, produced in partnership between monome and Music Hackspace: Tone to Drone and Ample Samples.
please note that if you’re new to SuperCollider, you’ll likely make some unexpectedly loud / sharp sounds. to protect your ears and equipment, we recommend that you install the SafetyNet Quark, both within SuperCollider on your computer and on your norns. This Quark ensures that the output volume of SuperCollider won’t reach levels which would damage your hearing. To add this to your norns, simply enter the following line within the Maiden repl, under the SuperCollider
tab:
Quarks.install("SafetyNet")
SuperCollider language fundamentals
- written tutorial
- first steps to colliding atoms
- how to get your code to play
- what is a function?
- if , while , for , etc
- supercollider server explained
- j concepts in supercollider
- how to use an interpreter with supercollider
- node
- bus
some additional starting points for learning:
learning Lua
while you don’t need to master the entire Lua language to make the most of norns, you eventually may be interested in checking out more traditional programming texts.
- lua cheatsheet
- programming in lua (first edition)
- lua 5.3 reference manual
- lua-users tutorials
- lua in 15 mins
ask questions and share what you’re making at llllllll.co
edits to these pages welcome, see monome/docs