norns is many sound instruments.

View the Project on GitHub monome/norns

norns setup

build prerequisites


sudo apt-get install libevdev-dev liblo-dev libudev-dev libcairo2-dev liblua5.3-dev libavahi-compat-libdnssd-dev libasound2-dev


build and install:

or use the debian repository as follows:

curl | sudo apt-key add -
echo "deb stretch main" | sudo tee /etc/apt/sources.list.d/norns.list
sudo apt update
sudo apt install libmonome-dev libnanomsg-dev supercollider-language supercollider-server supercollider-supernova supercollider-dev

building norns

git clone
cd norns
./waf configure

this should build all the c-based components (matron and ws-wrapper.)

the crone audio engine consists of supercollider classes. copy files to the default location for user SC extensions

pushd sc


launching components

1. launch crone (audio engine)

run from the norns directory. this creates a sclang process wrapped with ws-wrapper

if the crone classes are installed correctly, you should see some lines like this in output from sclang initialization:

 Crone startup

 OSC rx port: 57120
 OSC tx port: 8888

and immediately after sclang init, you should see the server being booted and some jack/alsa related messages.

2. launch matron (lua interpreter)

with the audio engine running, run from the norns directory. this creates a matron process wrapped with ws-wrapper

matron waits for crone to finish loading before entering the main event loop.

3. launch maiden (web UI client)

get most recent version

download to ~/maiden/ and untar

execute with ./maiden.arm -debug -site ./app/build -data ~/norns/lua/

docs addendum

if you want to generate the docs (using ldoc) first install:

sudo apt-get install luarocks liblua5.1-dev
sudo luarocks install ldoc

to generate the docs:

ldoc . in the root norns folder

To read the documentation, point the browser window with Maiden loaded to http://norns.local/doc (or use IP address if this doesn’t work).