SuperBrain is a five track sequencer with configureable sequencer engines per track. Each track can send note information to external gear via midi or to the internal sc engine. Notes can be send in mono, poly, or in fork mode.
This script was born out of the necessity to control hardware gear via a central interface. SuperBrain combines “structured midi recording” with “generative sequencing” possibilities.
The script itself is based on my personal workflow as well as on the direct inspiration and indirect influence from this wonderful community with its creative spirit.
Hence it contains scaled down variations of community scripts such as meadowphysics, classic approaches such as step sequencers and midi loopers each with their own twist.
Launchpad X or
monome grid (thanks @Quixotic7)
SYSTEM > DEVICES > MIDIselect
Launchpad X 2in device slot nr. 1 (make sure to select
... X 2since this is used for the programmers’s mode)
- the devices in slots 2-5 are referred later to as usb devices, select any usb midi device which you want to later control from the script (if you use a grid instead, use slots 1-4 for usb devices)
- When you run the script, the norns should automatically detect if a Launchpad X is attached, otherwise it assumes a grid is used instead.
The documentation will use the following short notation for grid interaction:
**: double click
*: click followed with hold
[M]: main engine area (x:1-8; y:1-4)
[K]: main keyboard area (x:1-8; y:5-8)
[S]: side area (x:9; y:1-8) == Launchpad side row
[T]: top area (x:10; y:1-8) == Launchpad top row
Thus, the notation _ [K] ** [M] reads: hold button in keyboard area, then double click in main area
For both [S] and [T] adding a number notes the specific button in the area. * [S1] reads: click first (y=1) button in the side area (x=9)
The grid is devided in three main parts: (1) top row = global functions, (2) upper half = sequencer engine, (3) lower half = isomorphic keyboard.
The top row of the Launchpad is used for global functions:
*[T1]: play all tracks
*[T2]: stop all tracks
_ [T3] * [M]: select preset slot
_ [T3] _ [M]: save to preset slot
* [T4-8]: select track
_ [T4-8]: edit track options (sequencer engine, midi target, usb device, midi mode, midi channel)
** [T4-8]: reset sequencer engine of track
The norns UI is only used to support the grid interaction. No changes to the sequences or to the engines can be made directly from norns. However, the UI depicts helpful information to provide feedback during the usage.
The main view shows the symbol of the current sequencer engine in the center of the screen ("’#" = Quantum#Physics). The number in the right corner indicates the selected track, and in the left corner the global transport (play/stop) is shown.
When holding K2 the “help” view is shown and E1 navigates through the different help entries.
Many of the actions performed on the grid produce a short UI overlay to show the change made to the sequencer engine.
is a scaled down version of the famous meadowphysics script. This version offers 4 “rhizomatic cascading counters”. Rules and ranges are not implemented.
* [M]: start counter from or jump to value
** [M]: stop counter
* [S]: start or stop counter
_[S]: set speed and resets for counter
_[S] *[K]: set note
is a graph sequencer with 4 playheads. The 32 vertices are connected via individual edges. In the default configuration the vertices form a traditional 32 step sequencer, meaning each vertex is only connected to the next vertex. If a vertex contains multiple edges, the playhead follows a random edge.
** [M]: clear notes in vertex
_ [M] * [M]: set/remove edge
_ [M] * [K]: add/remove note
_ [K] * [M]: add/remove notes
* [S]: de/activate playhead
_ [S] * [M]: playhead jump to vertex
_ [S] _ [M]: set reset vertex
*_ [S1]: playhead speeds
is a 4 loop midi looper with time filtering. The midi notes are recorded to a fixed 16th note quantization and the loop length can be quantized to the multiple of a chosen value or to the note quantization. Each note stores its order of appearance which can be used to filter early or last added notes (called time frame). This allows to temporarily filter, e.g., early overdubs or to define a time window through which notes are pushed when new notes are added.
* [M]: start empty loop and set length to multiple (x) of the loop quantization value
* [S]: start/stop empty loop or arm existing loop
** [S]: clear loop
_ [S1]: show time frame per loop
_ [S2]: show loop quantization
* This command is taken from another norns script page, but wasn’t verified yet.
monome grid support(thanks @Quixotic7 !)
- check code for launchpad pro compatibility (left and bottom row)
- set default velocity for non-velocity sensitive grids
- more sequencer engines
- maybe small softcut scripts?