Skip to content
This repository has been archived by the owner on Jun 9, 2021. It is now read-only.

p3r7/awesome-monome-norns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 

Repository files navigation

This document will not be updated anymore, being replaced by norns.community, a community-driven wiki (launch post).

Don't hesitate to copy sections of this document onto norns.community if you find they didn't get ported.

Awesome monome norns

A list of links and resources for the norns hardware music platform by monome.

The community resides mostly on llllllll.co (pronounced lines).

Table of Contents

What / why is norns?

norns is a hardware music platform.

It's built around the idea of community: creating and sharing ideas in the form of small apps (scripts).

It allows running apps built with SuperCollider and/or softcut, a powerful live sampler / player.

In addition, Pure Data patches can also be run (see Pure Data).

It runs Linux and is built around the Raspberry Pi (processing unit + USB ports) but uses a separate low-latency audio codec chip (ADC/DAC).

For more details, see the docs and the t/Approaching: norns thread, specifically posts:

What can it do?

A more correct question would be "What can it be?".

Switching apps (scripts) allows going into totally different contexts.

Some are inspired by existing hardware / software, others are totally new and sometimes produce very experimental (yet musical) results.

To give you some concrete examples, norns can be:

  • an analogue-sounding synth with molly_the_poly, a pimped up Juno-6 emulation
  • a 4 track tape recorder / looper with reels
  • chainable multieffects with pedalboard
  • an advanced sequencer with takt, inspired with the Electron Octatrack
  • a nasty sounding sample player with timber/keys (MPC-like) timber/player (rompler-like)

For a more complete list, see the script List section.

Lingo

norns designate both the hardware and software side of the platform.

It runs independent musical scripts (sometimes also called apps) written in the lua programming language.

In addition to lua, in order to record and play back and manipulate sound, scripts rely on bindings with softcut and/or SuperCollider. Bindable SuperCollider sub-scripts are called engines.

maiden is the web-based IDE (http:https://norn.local).

You might encounter the name matron, which designate the program that performs lua code evaluation and provides binding to hardware (screen / encoders / buttons).

The folder were data is stored called dust (/home/we/dust/). It comes bundled with some default scripts, engines & samples (lines tread).

Audio can be saved to disk with tape, the internal audio recorder.

Hardware

There are 3 variations of the norns hardware:

name audio path case battery audio monitor output supported Raspberry Pi models price point releases
norns (shop) cleanest * 2x aluminum block (hard anodized), custom caps & buttons βœ” βœ” CM3, CM3+ $800 / $680 (b-stock) instant
norns shield (shop) clean 3D-printed w/ acrylic face plate / DIY ❌ βœ” 3B, 3B+ $240 ** instant
fates cleanest * acrylic / DIY ❌ βœ” 3B, 3B+, 4 n/a with delay ***

*: the original norns and fates have an isolated audio power section which is much more immune to noise.

**: to which must be added the price of the Raspberry Pi, micro SD card, power supply and eventually an alternative case. So you're eventually looking more at ≃$300.

***: fates runs on an unofficial fork of the norns software, with its own kernel, so update cycles run behind the official releases given there is a separate maintainer.

As of writting, all 3 versions are compatible with every app published.

norns shield is currently the most economic version but is DIY and lacks some of the features of its big brother. It's design is open source.

fates is an unofficial project similar to the norns shield, not initiated by monome.

norns and norns shield use a CS4270 codec. norns uses an additional amp chip to drive a monitor (headphone) output. fates uses a WM8731 codec which embeds an headphone amp chip.

norns shield

For getting help regarding assembly please use t/DIY: norns shield.

People share their own case design in t/norns shield case designs.

A few highlights:

If you don't have access to a fablab, you can use a laser-cut service such as ponoko (US) or razorlab (UK).

For encoder caps, any D-shaft knob cap should fit.

You can look at makers such as Sifam / Selco, the various offerings at aliexpress (example) or even go the 3D printing route.

For screws/spacers, use M2 for the screen and M2.5 for everything else.

monome hardware companions

Some scripts are made to pair with some of other monome hardware.

The most prominent are:

  • grid, a keyboard mostly used for sequencer scripts
  • arc, an array of knobs with sequencing functionalities
  • crow for interacting with eurorack / modular synth gear

You don't necessarily have to own any of those "peripherals" to enjoy your norns. It depends of the scripts you plan to use.

See the list of scripts by I/O to see what you're missing.

Please note that most scripts assume a 128 varybright grid. Older non-varybright models will work but you'll be missing some visual feedback.

There is a DIY grid project that allows making one for ≃$250. To use it with the norns, patching and recompiling is required to have it recognized. It will work right of the bat on a PC (with Max, Pure Data...). It doesn't (and will certainly never) work with eurorack monome modules such as ansible.

There is also a DIY arc project which will also cost ≃$250. It does not require any special patching.

Other hardware companions

Synth scripts generally rely on MIDI inputs. So a keyboards, pads or sequencer is a must have. A computer with midi output will do as well.

Lots of parameters can also be controlled with midi CC by using anything with midi knobs / sliders.

Some examples related to the monome community:

Some trackers scripts (orca and nisp) rely on a USB computer keyboard.

Those plus other hardware accessories & peripherals are discussed in t/Friends of norns: gear, accessories, etc.

script List

Many scripts are available through maiden (real-time list) but many more are missing.

The documentation has a list of popular scripts.

This section is aimed at being more complete and providing more meta-data to select which app corresponds to your needs.

Synths & Drones

app on maiden code description demo doc
ash/earthsea βœ”οΈ gh PolySub engine. Also acts as a sequencer with grid.
benjolis βœ”οΈ gh port of Alejandro Olarte’s Benjolis SuperCollider patch, inspired from Rob Hordijk’s Benjolin 1, 2
dronecaster βœ”οΈ gh various drones 1
fm7 βœ”οΈ gh DX7-inspired polyphonic FM synth 1 online
grendy βœ”οΈ gh a simple drone synth, grendel drone commander inspired
hachi βœ”οΈ gh TR-808 reproduction with euclydian sequencer
haven βœ”οΈ gh two unique oscillators: one high, one low 1
lissadron βœ”οΈ gh a software synth making extensive use of seeded randomness, internal sequencer for voice change internal sequencer
mi-eng/macro-b ❌️️ gh collection of complex oscillator sources, based upon the Mutable Instrument Braids macro-oscillator 1
mi-eng/macro-p ❌️️ gh collection of complex oscillator sources, based upon the Mutable Instrument Plaits macro-oscillator 1
mi-eng/modal-e ❌️️ gh modal synth, based upon the Mutable Instrument Elements 1
mi-eng/resonate-r ❌️️ gh ring resonator, can be used as basic percusive oscillator, based upon the Mutable Instrument Rings 1
molly_the_poly default️ gh Juno-6 voice structure with chorus, the extra modulation of a Jupiter-8, and CS-80 inspired ring modulation 1
moln βœ”οΈ gh Polyphonic substractive synthesizer
passersby βœ”οΈ gh Wave folding, FM, LPG, spring-ish reverb, LFO and two dice to roll 1
rudiments βœ”οΈ gh 8 voice lofi percussion synthesizer and sequencer (playfair-style)
showers βœ”οΈ gh a thunderstorm (rain & thunder)
sines ❌️ gh a simple FM sine drone synth
stjoernuithrott βœ”οΈ gh drone synth inspired by the Moffeenzeef Stargazer
there ❌️ gh a theremin

Granular Sample Players & Synths

app on maiden code description demo doc
ash/angl βœ”οΈ gh use an arc to control pitch and speed granulation of four audio files 1
glut βœ”οΈ gh granular synth inspired by mlr/rove, grainfield & loomer cumulus 1
gemini βœ”οΈ gh one file, two granulators 1
langl ❌️ gh ash/angl-inspired granulator, also uses arc and offer more control 1
mangl βœ”οΈ gh a 7 track granular sample player 1
uhf βœ”οΈ gh your tapes transmitted thru late-night static and broken antenna frequencies

Sample Players

app on maiden code description demo doc
abacus βœ” gh drum loop slicer / player / sequencer 1
beets βœ” gh drum loop slicer / player 1, 2, 3
crash βœ” gh random drum kit player (606 samples)
drum_room βœ” gh MIDI-controlled drum kits 1
ortf βœ” gh browse play & loop your tape folder 1
timber/keys βœ” gh map a sample at different pitches across midi keys / grid 1
timber/player βœ” gh load whole directory of samples mapped onto midi keys / grid 1

Basic Samplers

app on maiden code description demo doc
sam βœ” gh record, adjust start & end points, save to tape

Sequencers

app on maiden code description demo doc
animator βœ”οΈ gh 2D polyphonic sequencer for grids 1, 2 online
arcologies βœ”οΈ gh interactive environment for designing 2d sound arcologies gallery online
arp_index βœ”οΈ gh generate sequence from company stocks 1
ash/earthsea βœ”οΈ gh grid-enabled shape-memory pattern instrument
ash/playfair βœ”οΈ gh euclidean drummer, four sequences, each with its own sample 1
awake default gh two looped sequences 1
boing βœ” gh a bouncing ball sequencer 1
breakthrough βœ” gh rebound meets breakout 1
buoys βœ” gh kinetic sequencer based on motion of water 1
cheat_codes βœ”οΈ gh sample playground 1 pdf
circles βœ”οΈ gh move cursor, place circles, make music 1
cyrene βœ”οΈ gh drum pattern generator 1, grid
dunes βœ” gh function sequencer, inspired by spacetime audio, midi
drift ❌ gh sequencer based on particle systems midi
euclidigons βœ”οΈ gh plucky geometric rhythm generator 1, 2
foulplay βœ”οΈ gh euclidean drummer, inspired by ash/playfair 1 online
fourtunes ️❌️ gh 4 track polyphonic step sequencer online
fretwork ️❌ gh ornamental sequencer 1
fugu βœ” gh 4 playhead sequencer, inspired by the Fugue Machine iOS app 1, 2, 3
grd ❌️ gh 8x8 autonomy 1, 2
gridstep βœ”οΈ gh step-based 16-track polyphonic sequencer with various grid layouts and micro-timing 1 online
groovecats ❌️ gh particle-based step sequencer 1
hpns ❌️ gh clocks-based random step sequencer
ising ❌ gh sequencer based on 2D ferromagnetism ising model, zeelen-inspired
islands βœ”οΈ gh kria-based sequencer with internal playback 1 presentation video
isoseq βœ”οΈ gh isomorphic step sequence 1 presentation video
kria_midi βœ”οΈ gh port of the kria sequencer with midi output 1, 1
less_concepts βœ”οΈ gh cellular automata sequencer 1
loom βœ”οΈ gh pattern weaving sequencer for grids 1, 2
meadowphysics βœ”οΈ gh grid-enabled rhizomatic cascading counter 1 online
nono ❌️ gh Nanoloop-inspired 4 channel sequencer 1
orbital ❌️ gh circular 16 step sequencer
orca βœ”οΈ gh esoteric programming language 1, 2
patchwork βœ”οΈ gh dual function (note + command patterns) sequencer 1
pitfalls βœ”οΈ gh microtonal scale / chord sequencer 1
pixels βœ”οΈ gh landscape-traversal sequencer 1
punchcard βœ”οΈ gh experimental sequencer that works like a classic punchcard computer 1, 2
qfwfq βœ”οΈ gh sequencer inspired by brute force password hacking
quence βœ”οΈ gh a probabilistic 4-track sequencer 1, 2
rebound βœ”οΈ gh a kinetic sequencer 1
spacetime we/study/study3 βœ”οΈ a weird function sequencer 1
step βœ”οΈ gh a simple step sequencer
strides βœ”οΈ gh sample or midi pattern sequencer 1 online
strum βœ”οΈ gh 16-step sequencer w/ a variety of pattern transition mechanisms 1
takt βœ”οΈ gh Digitakt-inspired parameter locking step sequencer 1 online
tambla βœ”οΈ gh Arpgegio sequencer online
torii βœ”οΈ gh gated audio sequencer 1, 2
traffic βœ”οΈ gh loom-inspired, with decoupling between patterns & notes 1
vials βœ”οΈ gh 4 track performance-oriented sample sequencer online
wifihifi ❌️ gh turn local Wi-Fi signals into music online
zeelen βœ”οΈ gh game of Life based sequencer 1, crow online

Trackers

app on maiden code description demo doc
nisp βœ”οΈ gh LISP (Scheme dialect) livecoding tracker 1, 2
yggdrasil βœ”οΈ gh "cyberdeck" tracker 1, 2 online

Control Modulation Sources

app on maiden code description demo doc
barycenter ❌ gh fluctuating relationships in orbit
buoys βœ”οΈ gh its midi output mode produces abstract midi CC LFOs
cccccccc βœ”οΈ gh 8 LFOs as MIDI CC output, arc-controlled 1, 1
changes βœ”οΈ gh 8 connected sine wave LFOs as MIDI CC output 1, 2
shapes ❌ gh visually based modulation source for crow
strides βœ” gh allows midi CC record / replay with knobs

Audio Effects

app on maiden code description demo doc
greyhole βœ”οΈ gh echo / delay 1
manifold βœ”οΈ gh multi-effects processing for live performance 1
mi-eng/modal-e ❌️ gh modal synth, affects input audio, based upon the Mutable Instrument Rings 1
mi-eng/resonate-r ❌️ gh ring resonator, based upon the Mutable Instrument Rings 1
pedalboard βœ”οΈ gh chainable effects for live performance
phyllis βœ”οΈ gh digitally modeled analog filter 1
pools βœ”οΈ gh a shimmery reverb 1
stack βœ”οΈ gh stack of bandpass filter, sequenceable
sway βœ”οΈ gh analysis-driven live audio processing 1
timeparty βœ”οΈ gh sequenced time-based multi-effect

Loopers, Live Samplers & Crazy Delays

app on maiden code description demo doc
ash/orbit βœ”οΈ gh dual async start-stop loop recorder
barcode βœ”οΈ gh a randomized looper 1
b-b-b-b-beat βœ”οΈ gh beat repeater/glitcher inspired by Ableton's Beat Repeat, MASF Possessed & MWFX Judder 1
blndr βœ”οΈ gh a quantized delay with time bending effects 1
bounds βœ”οΈ gh kinetic stereo looper / delay, otis with rebound mechanics 1
clcks βœ”οΈ gh a tempo-locked repeater 1
compass βœ”οΈ gh asynchronous looper, with command-based sequencer 1
cranes βœ”οΈ gh stereo varispeed looper / delay / timeline-smoosher 1 video
here-there βœ”οΈ gh feedback of granular replay and sines
glitchlets ❌️ gh glitches incoming audio, quantized to the global tempo 1
jiffy βœ”οΈ gh 16 seconds looper
mi-eng/texture-c ❌️ gh realtime granualr audio processor, based upon the Mutable Instrument Clouds 1
mlr βœ”οΈ gh live sample-cutting platform 1, 2
oooooo βœ”οΈ gh digital tape loops x6 1, 2
otis βœ”οΈ gh dual tape delay/looper/sampler 1
piwip βœ”οΈ gh a sampler that works in realtime 1, 2, 3, 4
reels βœ”οΈ gh a 4-track asynchronous looper 1
samsara βœ”οΈ gh minimalist looper that eventually reaches nirvana
tunnels βœ”οΈ gh a collection of uncertain delays 1

Midi Effects

app on maiden code description demo doc
athenaeum/delay ❌ gh generates MIDI delay with visual feedback 1, 2

Utilities

app on maiden code description demo doc
athenaeum/arc ❌ gh interract with arc, read and write leds, no sound 1
caliper βœ” gh tuner for eurorack modules using norns + crow
clarck βœ” gh use arc as a clock to display time 1
defuser ❌ llll musical bomb defusal game 1
foundry ❌ gh browse all glyphs of all installed fonts, play with options
grid-test ❌ gh utility to test grids 1
midimatrix ❌️ gh simple midi matrix example app
midi-monitor βœ”οΈ gh simple midi monitor with note feedback 1
monitor βœ”οΈ gh midi monitor and input/output channel & note transpose 1, 2
n16o βœ”οΈ gh turn a Korg nanoKONTROL2 into an ER-301 controller
norman βœ”οΈ gh normalize & auto-trim sample files on disk
norns.online βœ”οΈ gh expose norns screen and buttons/encodeers to the internet 1
onehanded βœ”οΈ gh simple MIDI note / CC trigger
practice ❌️ gh musical scale quizz
rpmate ❌️ gh utility to help feeding a sped up audio to a hardware sampler
seaflex βœ” ️ gh practice chords shapes on grid, earthsea layout
shell_runner ❌ ️ gh menu to launch shell scripts
tuner βœ”οΈ gh a tuner

scripts by I/O

symbol meaning
βœ”οΈ yes
πŸ”΄ mandatory
πŸ”Ά strongly encouraged
βšͺ optional
app audio in midi sync midi in keyboard grid arc audio out midi out crow
abacus βœ”
ash/angl πŸ”΄ βœ”
ash/earthsea βœ” βšͺ βœ” βœ”
ash/orbit βœ” βœ”
ash/playfair βšͺ βœ”
athenaeum/arc πŸ”΄
athenaeum/delay βœ” βœ”
arcologies πŸ”΄ βœ” βœ” βœ”
arp_index βšͺ βœ”
awake βšͺ βšͺ βœ”οΈ βœ”οΈ
barcode βœ” βœ”οΈ ️
barycenter βœ”οΈ βœ”οΈ
beets βœ” βšͺ βšͺ βšͺ βœ”οΈ ️
b-b-b-b-beat βœ” βœ” βœ”οΈ ️
benjolis βœ”οΈ ️
boing βšͺ βœ”οΈ βœ”οΈ βœ”
bounds βœ” βœ”οΈ ️
breakthrough βœ” ️ βœ”οΈ
buoys βœ” πŸ”΄ βšͺ οΈβœ” βœ”οΈ βœ”
caliper βœ” βœ”
cccccccc πŸ”΄ βœ”
changes βœ”
cheat_codes πŸ”Ά ** πŸ”Ά
circles βœ” βœ”
clarck πŸ”΄
clcks βœ” βœ”
compass βœ” βšͺ βœ”
cranes βœ”οΈ βšͺ βœ”οΈ
crash ️ ? βœ”οΈ
cyrene ️ βšͺ βšͺ ️ βœ” βœ”
defuser πŸ”΄ βœ”οΈ
drift βœ”οΈ βœ”
dronecaster βœ”οΈ
drum_room πŸ”΄ βœ”οΈ
dunes βœ”οΈ
euclidigons βœ”οΈ βœ”οΈ
foulplay πŸ”Ά βœ”οΈ βœ”οΈ
fretwork βšͺ βœ”οΈ βœ”οΈ βœ”
fm7 πŸ”Ά πŸ”Ά βœ”οΈ
fourtunes πŸ”΄ βœ”οΈ
fugu πŸ”΄ βœ”οΈ
gemini ️ βšͺ βœ”οΈ
glitchlets βœ” βšͺ βœ”οΈ
glut ️ πŸ”Ά βœ”οΈ
grd ️ βœ”οΈ
greyhole βœ”οΈ βœ”οΈ
grid-test ️ πŸ”΄ ️
gridstep ️ πŸ”΄ βœ”οΈ βœ”
groovecats ️ πŸ”΄ βœ”οΈ
hachi ️ βœ”οΈ
haven ️ βœ”οΈ
here-there βœ” βœ”οΈ
hpns ️ βœ”
ising πŸ”Ά βœ”οΈ
islands πŸ”Ά βœ”οΈ
isoseq βšͺ πŸ”΄ βœ”οΈ βœ”
kria_midi πŸ”Ά βœ”οΈ
langl πŸ”΄ βœ”οΈ
less_concepts πŸ”Ά βœ”οΈ βœ” βœ”
lissadron πŸ”Ά βœ”οΈ
loom βšͺ πŸ”΄ βœ”οΈ βœ”
mangl πŸ”Ά πŸ”Ά βœ”οΈ ️
manifold βœ” πŸ”Ά βœ”οΈ ️
meadowphysics πŸ”΄ βœ”οΈ βœ”οΈ
mi-eng/macro-b βœ” βœ”οΈ ️
mi-eng/macro-p βœ” βœ”οΈ ️
mi-eng/modal-e βœ” βœ” βœ”οΈ ️
mi-eng/texture-c βœ” βœ”οΈ ️
mi-eng/resonate-r βœ” βœ” βœ”οΈ ️
midimatrix βœ” βœ”οΈ ️
midi-monitor βœ” βœ”οΈ ️
mlr βœ”οΈ πŸ”΄ βœ”οΈ
molly_the_poly πŸ”΄ * βšͺ * βœ”οΈ
moln πŸ”΄ * βšͺ * βšͺ βœ”οΈ
monitor βœ” ️ βœ”οΈ
n16o πŸ”΄ ️ βœ”
nisp πŸ”΄ βœ”οΈ
nono βœ”οΈ βœ”
norman ️
norns.online ️
onehanded ️ ️ βœ”
oooooo βœ”οΈ βœ”οΈ
orbital ️ βœ”οΈ
orca βœ”οΈ βœ” πŸ”΄ βšͺ βœ”οΈ βœ”
ortf ️ βœ”οΈ
otis βœ”οΈ βœ”οΈ
passersby πŸ”΄ * βšͺ * βœ”οΈ
patchwork πŸ”΄ πŸ”΄ βœ”οΈ βœ”οΈ
pedalboard βœ”οΈ βœ”οΈ
pitfalls βšͺ βœ”
piwip
pixels βœ” βœ”
pools βœ”οΈ βœ”οΈ
practice ️
punchcard πŸ”΄ βœ”οΈ
qfwfq βšͺ βœ” βœ”οΈ
quence πŸ”΄ βœ” βœ”οΈ βœ”
rebound ️ βšͺ ️ βœ”
reels βœ”οΈ βœ”οΈ
rpmate βœ”οΈ βœ”οΈ
rudiments ️ βšͺ βœ”οΈ
seaflex πŸ”΄ βœ”
shapes βœ”
shell_runner
showers βœ”
sines βœ”
spacetime we/study/study3 βœ”οΈ
step πŸ”΄ βšͺ βœ”οΈ
stjoernuithrott βšͺ βœ”οΈ
strides βœ”οΈ πŸ”΄ βœ”οΈ βœ”οΈ
strum βšͺ βœ”οΈ πŸ”΄ βœ”οΈ βœ”οΈ
takt πŸ”΄ βœ”οΈ
tambla πŸ”΄ *️ βšͺ * βœ”οΈ βœ”
there βœ”οΈ
timber/keys βšͺ πŸ”΄ * βœ”οΈ
timber/player βšͺ πŸ”΄ * βšͺ * βœ”οΈ
timeparty βœ” βšͺ πŸ”΄ βœ”οΈ βšͺ
torii βšͺ βœ”οΈ
traffic πŸ”Ά βšͺ βœ”οΈ
tuner βœ” ️
uhf βœ”οΈ
vials πŸ”Ά βœ”οΈ
wifihifi βœ”οΈ
yggdrasil βšͺ πŸ”΄ βœ”οΈ βœ” βœ”
zeelen πŸ”΄ βœ”οΈ βœ” βœ”

Special cases:

  • *: grid acts as a midi keyboard and can replace it
  • **: grid can be replaced by TouchOSC

Pure Data

Pure Data patches originally built for the Organelle can run on any norns device.

This is done by escaping the norns runtime environment and booting into a Pure Data-compatible one.

Please note that next release of the norns software will add native support of Pure Data, akin to what we currently have with SuperCollider.

This is easily done thanks to the combination of 2 projects:

In addition, installing Sideckick also provides:

  • Orac: a patch chaining software for Pure Data
  • NuiLite: a lightweight Pure Data external (i.e. extension) for making and running patches without depending on the Organelle/Mother or Orac layer.

For more details, see also the the Sidekick project wiki.

Development: General

The norns platform allows developing small programs using the lua programming language.

They are generally referred to as scripts and sometimes apps (once packaged and distributed).

2 internal sound processing units are at our disposal:

  • engine: an instance of SuperCollider (sometimes also referred to as external)
  • softcut: a live multi-channel sampler / player that can be used to build crazy loopers and delays

Even though SuperCollider is generally used to define a virtual synthesizer, it can also take audio from the inputs (missing on the above diagram).

Most scripts you'll find in the wild use either softcut or engine, but some might use the 2 of them.

Documentation

Tutorials & Example scripts

Community

When wanting to contribute or seeking help, use one of those threads:

Additionally, there is a Discord norns study group (blog, lines thread) that meets regularly for sharing development knowledge.

Development: Libraries & Engines

When developing scripts, you rely on lua libraries (classes & modules). One of them, engine, allows interacting with a running SuperCollider instance.

When using SuperCollider, one can rely on an already installed SuperCollider library on spin their own. Those SuperCollider libraries (in essence a SynthDef) are called engines in the context of norns development.

Most advanced scripts come with their own custom libraries / engine.

Here are listed the ones most often spotted in the wild.

Softcut & Softcut-based libs

library code description provided by used by
softcut lua, undelying C sample record & playback installed by default sam, reels, piwip
supercut lua higher-level wrapper around softcut wrms
halfsecond lua simple 1/2s delay awake awake, vials, tambla

SuperCollider engines

To get the list of engines installed on your norns, type tab.print(engine.names) in the matron console in maiden.

library code description provided by used by
ack lua wrapper, sclang simple sample playback step, ash/playfair, foulplay, takt, crash, vials, strides
timber lua wrapper, sclang advanced sample playback timber timber, orca
glut sclang granular sample playback glut glut, mangl, uhf, langl
Thebangs sclang+lua wrapper fork of PolyPerc w/ multiple synth algorythms & control over polyphony groovecats
PolyPerc sclang simple polyphonic filtered decaying square wave installed by default awake, meadowphysics, barycenter, zeelen, orbital, nono, tambla
PolySub sclang multi-type oscillator with polyphonic modulation busses for polytimbral expression installed by default ash/earthsea
Gong sclang basic FM synth installed by default
TestSine sclang a basic single mono sinewave installed by default there
R sclang collection of engines that link together in a modular synth-style workflow installed by default moln, torii
mi-engines lua+scland port of Mutable Instruments rack modules mi-eng/* mi-eng/*
molly_the_poly lua wrapper, sclang analogue (substractive) synth molly_the_poly molly_the_poly, arp_index, loom, quence, fugu
passersby lua wrapper, sclang westcoast-style synth passersby passersby, less_concepts, dunes
Dust2 sclang impulses (ticks) bgc_dust
PrimitiveString sclang euclidigons euclidigons

Lua libs

Those are more generic Lua libs that add either:

  • improve handling of midi / LFOs
  • provide support for additional hardware
  • provide additional drawing utils
library code description provided by used by
passthrough lua allows norns to pass through midi between connected devices passthrough passthrough, b-b-b-b-beat, beets, stjoernuithrott
midi lua helper to trig MIDI out euclidigons euclidigons
midigrid lua use alternative midi grid hardware as a grid (e.g. Novation Launchpad)
middy lua define midi mappings to specific controllers in your scripts, JSON configuration
hnds lua LFOs to modulate app parameters otis otis, pools, greyhole, pedalboard, wrms, timeparty
nest_ lua advanced, callback-based, user interaction definitions, grid support
arcify lua simple parameter binding to arc beets, compass
shnth lua use the shbobo shnth as a controller
screencap lua animated capture of the screen (into an animated png)
grid-capture lua capture a grid button press sequence as a gif
shape lua draw shapes on screen euclidigons euclidigons
noise lua draw perlin Noise on screen
moreFilters lua provides a moving, windowed RMS/standard deviation filter
3d lua 3D drawing lib
p8 lua pico-8 code adaptation layer
pitfalls gh compute microtonal intervals/scales/chords pitfalls pitfalls
namesizer gh randome (file) name generator

Development: C

A niche use-case is to disable the norns software services and interact with the internal sound routing and hardware peripherals using pure C.

This effort is discussed in t/low-level-norns.

For a working example with grid and arc support see project norns-lowlevel (explanation & demo).

Contributing

Contributions and suggestions are always welcome!

I am by no mean the owner of this document, merely its initiator. It belongs to the community.

To discuss about the general structure and content use t/Index of norns-related resources.

For less impacting modifications / suggestions, you can:

License

unlicense

Releases

No releases published

Packages

No packages published