Game of Life based sequencer

Zellen (German for “cells”) is a generative sequencer based on Conway’s Game of Life with a bunch of sequencing and play modes, Euclidean rhythms, simple controls, all the scales from @markeats MusicUtil, CV and clocking via Crow, MIDI, PolyPerc for standalone sound, and @ericmoderbacher’s awesome time travel feature.


Norns 2.x
Grid (Developed on a 128 varibright, but should be usable with any Grid (64/128/256))


README on GitHub


v1.4.3 - Download


  • FIX: send midi note off when stopping the sequencer


  • FIX: fixes an issue when using crow’s external clock in an initial board state


  • Updated documentation and version string


  • NEW: Just Friends support via ii (see parameters menu)
  • Renamed “alternative CV” to CV2


  • FIX: raised SCALE_LENGTH to 32 for grid 256 support


  • FIX: prevent test folder and files from showing up in norns menu


  • FIX: some docs/script comments updated


  • NEW: crow cv support
  • NEW: board wraps around at the edges (configurable in parameters)
  • some under the hood changes to make the code more manageable

There’s a small update (1.1.0):

  • MIDI clock (via beatclock.lua) added
  • Fixed a one step pause at the end of the sequence when using semi-automatic loop mode

Played with this a bit this morning. Fun!


seeing an error on encoder 1 turn:

/home/we/norns/lua/core/paramset.lua:194: invalid paramset index: speed
stack traceback:
	[C]: in function 'error'
	/home/we/norns/lua/core/paramset.lua:194: in function 'core/paramset.lookup_param'
	/home/we/norns/lua/core/paramset.lua:165: in function 'core/paramset.delta'
	/home/we/dust/code/zellen/zellen.lua:624: in function 'enc'
	/home/we/norns/lua/core/encoders.lua:57: in function 'core/encoders.process'
1 Like

Thanks for catching that! I fixed this in maiden yesterday but forgot to include it in the 1.1.0 GitHub commit. It’s fixed now (version 1.1.1).


Is it possible to use this to sequence external midi gear?

I’m using a USB/MIDI cable to send to my Minimoog reissue but not having much luck. I feel like I’ve tried every config possible in Norns. And it seems that my cable is receiving the midi out data, though perhaps not in time or with proper “gate” messages.

I’m just wondering if this SHOULD work and if anyone who has made it work might have some tips for setting it up or could point out something obvious I may have missed?


Zellen does send MIDI note data and can send MIDI clock, if activated in the parameters screen. It worked great with my OP-1. Are you using the right MIDI channel? (see parameters, default is channel 1)

I’m currently visiting family and don’t have my Norns with me, so I can’t do any debugging at the moment. I think I have one of those USB-to-DIN-MIDI cables at home that I can try when I get back on Monday.

1 Like

@sbaio I really appreciate the response!

I just tried it again and got it working. It still seems like the gates aren’t firing properly but as long as I have the envelopes wide open and sustain up it’s definately getting the note data. It may be because the Minimoog doesn’t “technically” have a release stage, so perhaps the CC’s are confusing it. Unfortunately I I don’t have another midi synth to try it out on… but this is certainly better than nothing :heart:

1 Like

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.

1 Like

Thanks for reporting this! I’ll look into it.

1 Like

Thanks for sharing this fun patch! I’ve been playing around with storing the board data so that I can go back in time to previous generations. Its seeming to work pretty well, so i’m thinking arc support for generational time loops would be a fun next goal.


Wow, that’s really awesome and super useful! Thanks for making this! If you would like to integrate it with the Zellen github at one point I will happily accept a pull request!

I’ve been away from Norns development over the last months, mostly because I went down the Ciat-Lonbarde rabbit-hole (including paper circuits etc.). But I have a three week vacation coming up in which I plan to dive back into Norns.


This is V COOL! I could see this being a SUPER useful patch.

1 Like

Thank you! I’ll try to take you up on that as soon as possible.

I’ve opened a small can of worms it seems; there are now lots of little features that would go nicely with my mod. So im not sure when ill be ready to share.


Awesome! Looking forward to seeing your ideas! Again, thanks for the work you put in! It’s very much appreciated!

I will resume my own Norns and Zellen development efforts soon. One thing I want to tackle is replacing PolyPerc with another sound engine. PolyPerc is great but it feels a bit limited.


I really like polyperc as it is. But options are always nice. Having the engines in their own file or folder would be cool especially if users could swap without touching too much code. Having the initial two might give people enough example to play around with swapping in their own.


As someone who isn’t a code hound and would like to be limited in my interaction with Maiden while doing sound exploration, I would LOVE the opportunity in this script to choose another synth though the param menu.


So I guess I’ve been looking at this script too much, because I can’t even watch a youtube video without thinking about it.

This type of windmill sweep might be a great patterning option for the sequencer. Could even add some variability to notes and or duration.

One issue for use would be that many of our points are naturally co-linear. Might be easy enough to address with a random selection, or some sort of tie break… hard to say.

I’m thinking it could be visualized on the norns screen. With points for each of the grids buttons. And the line sweeping like radar. The points could oscillate in little orbits or something for the tie-breaking.

Im need to finish some of these ideas before I keep adding features.

2:50 mark has the action.


That’s a fascinating problem/concept and a great explanation in the video, though I’m not sure about the windmill/radar being an extra layer in the Zellen sequencer. To me it feels more like it would make an interesting sequencer on its own.

1 Like

Would love to see this some day, but I think it is a tough problem to solve. The synth engines have different features and APIs so there would have to be an abstraction layer that handles this. Even if this is in place the script would have to be restarted after selecting a new engine since the engine is loaded on script startup. I’ll think about it… maybe I’ll experiment a bit with this idea.