Git Product home page Git Product logo

zellen's Introduction

Zellen is currently not in active development, since I do not own a Norns anymore. If anyone wants to take over, feel free to fork the repository and create a new thread for it in the lines library. If you do so, send me a message on lines and I will happily link your new repository here and in the old lines thread.

zellen

A sequencer for Monome norns based on Conway's Game of Life.

Usage

  • Grid: enter/modify cell pattern
  • KEY2: play/pause current generation (semi-manual mode), advance sequence (manual mode), play/pause sequence (automatic mode)
  • KEY3: advance generation
  • hold KEY1 and press KEY3: erase the board
  • ENC1: set speed (bpm)
  • ENC2: set play mode (see below)
  • ENC3: set play direction (see below)
  • hold KEY3 + ENC3: time jog

Play Modes

Set the play mode with ENC2.

  • reborn (default): Play a note for every cell that was born or reborn (= has exactly three neighbors), regardless of the previous state of the cell
  • born: Play a note for every cell that was born (has exactly three neighbors and was not alive in the previous generation)
  • ghost: Play a note for every cell that is dying(has less than two or more than three neighbors). Ghost notes can have a different pitch! (See the "ghost offset" setting in the parameters screen.)

Play Direction

Set the play direction with ENC3.

  • up: Cells on grid are played from top left (lowest note) to bottom right (highest note).
  • down: Cells on grid are played from bottom right (highest note) to top left (lowest note).
  • random: Cells are played in random order. The randomized order will be stable for a generation and will be re-randomized for every new generation.
  • drunken up: Like up, but decides for each step randomly if it goes up or down.
  • drunken down: Like down, but decides for each step randomly if it goes up or down.

Sequencing modes

Set the sequencing mode in the parameters screen. Default is semi-automatic.

  • manual: Press KEY2 to play the next step in the sequence for a single generation.
  • semi-automatic: Plays the sequence for a single generation (and loops it if "loop seq in semi-auto mode" is enabled (default)).
  • automatic: Like semi-automatic, but automatically calculates the next generation and plays it.

Crow support

Zellen supports CV out via Crow. Crow CV output can be configured in Norns's parameters menu.

Crow configuration for Zellen:

  • Input 1: Clock
  • Input 2: CV offset
  • Output 1: CV
  • Output 2: Trigger
  • Output 3: CV 2
  • Output 4: Clock

CV offset (input 2) can be set to pre or post quantization in the parameters menu.

CV 2 is, just like the main sequence, a CV derived from the current play position on the board. The CV can be calculated with these methods (configurable in the parameters menu):

  • x/y (default)
  • x%y
  • x+y (same as the main sequence)

Just Friends support (via ii)

Zellen supports playing notes on Mannequins Just Friends via Crow and a ii connection. The note value can be determined with the same methods as the CV 2 value for Crow (configurable in the parameters menu).

MIDI

Set the MIDI channel (default: 1), MIDI velocity (default: 100), and MIDI clock in the parameters screen.

More Parameters

There is lots more to discover in the parameters screen, like root note, scale, and ghost offset.

zellen's People

Contributors

sarweiler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

zellen's Issues

Refactoring

Split zellen.lua into smaller, more manageable files.

Redefine KEY functions

  • Use a long press of KEY1 (+ KEY3?) for deleting the board instead of KEY3 + confirmation screen
  • Use KEY2 for playing the current generation
  • Use KEY3 for advancing the generation

Wrap-around board

Make the board wrap around on the edges. Should be configurable in params.

Add a play indicator

Add a play indicator that displays when a sequence is running and which play direction is active.

time-travel

Feature addition, adding item mostly so I have an appropriate place to ask related questions.

Entails the addition of a linked list that holds the board values appended as we move through the generations.

Polyphonic mode

Use X, Y, and combined coordinates to play chords.

Or, maybe better: Use born, reborn, and ghost mode values for polyphony.

Add mode selection

Add a play mode selection:

  • reborn mode (current): play a note for every cell that is born or reborn, regardless of previous state
  • born mode: play a note for every cell that is born and was not alive in the previous generation
  • ghost mode: play note for every cell that is dying

Add a manual step mode

With a manual step mode the player can press KEY2 to advance one step in the current generation. KEY3 advances the generation.

Zellen does not follow external MIDI clock

As reported by lines user SPIKE:

trying to slave Zellen to MIDI clock and no luck.

i was trying other scripts with clock and was having trouble with Fairplay and Foulplay so i tried LOOM which is working but i moved onto Zellen and it’s not reacting to clock for me.

clock is set to external.
switching back to internal everything plays as it should.

Saving things

Provide an option to save the current state of the sequencer (parameters + board). Maybe use KEY2 + KEY3 for saving.

Add basic Crow support

  • Output 1: CV
  • Output 2: Gate
  • Output 3: Envelope (?)
  • Output 4: Clock
  • Input 1: Clock
  • input 2: ? (ideas: loop on/off, octave)

MIDI ideas

  • MIDI sync! (βœ… in V 1.1.0)
  • use CCs with X, Y or X+Y
  • support a second midi device

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.