Autocell

A 2-dimensional cellular automaton that generates little melodies and pitch CV.

This is my first attempt at cellular automata on ZOIA; a ‘game of life’ where cells change state (i.e. “live or die”) according to some basic rules of whether their neighbours are alive or dead. The rules for this one are simple; any cell that has ONE or TWO living neighbour becomes alive, but any cell that has THREE or FOUR living neighbours dies. This calculation repeats at every LFO tick, and you can manually toggle any cell on the grid to ‘seed’ the process (or press the random SEED button). The edges of a cellular automaton can be treated as either closed borders or wrapping around; I tested some variations and finally compromised and made the top/right borders permeable to the bottom/left borders, but not the other way around (this way the pattern doesn’t get ‘stuck’ or eliminate itself too fast and keeps on evolving the longest).

At every LFO tick, every living cell is summed to calculate a few pitch signals (they are weighed differently to provide nice melodic variations), and they are sent out via the CV outputs, and played on a simple internal voice plus a delay line.
I know, all this sounds complicated, but just try it out and watch the cells migrate and evolve and enjoy the melodies it generates!

NOTE: this patch is VERY close to the maximum nr of connections ZOIA can handle!! I could hardly fit in the actual voice when the grid was finished…
If you add any more connections and hit SAVE there is no error or crash, but if you then load it your new connections will not be there!

=====

[OVERVIEW]
-Input/Output: No input(!), Stereo output.
-CPU load: Around 102%
-Build: Initial version built on ZEBU with firmware 2.80
-MIDI: No MIDI in this patch. If controls are set to CC’s I use CC channels 21/36 (see CONTROLS section for details).

-CV Inputs:
1) Clock Trig
2) Seed Trig
3) Spread CV
4) Transpose CV
-CV Outputs:
1) Pitch1 (1V/oct)
2) Pitch2 (1V/oct)
3) Pitch3 (1V/oct)
4) Pitch4 (1V/oct)

[REVISIONS]
1.0: Initial patch.

[CONTROLS]
All the main controls are on PAGE0 and are labeled and starred (see below for a “Picture Manual” in the comments). The Stereo Output module with gain parameter is on PAGE1.

CELL GRID 5X5 (the cells of the automaton; press to toggle individual cells)
LFO (sets the main LFO rate)
SPREAD (determines the spread and maximum height of notes)
DELAY (sets delay time)
TRANSPOSE (global tuning of the internal voice)
LPF (filter of the internal voice)

ZEBU LEFT button = RESET (clears entire grid).
ZEBU RIGHT button = SEED (toggles one or more random cells on the grid).
ZOIA stompswitches = Unused.

=====

[PATCH STRUCTURE]
This is a massive patch, with lots of pages full of switches and S&H modules. It’s so big I’m at the limit of what a patch can handle, not even in terms of CPU but in terms of MAX NR OF CONNECTIONS it can handle. That’s why I’m not fully satisfied with it; I’d have like to make the voices themselves nicer, or calculate some kind of cool CV outputs, but the cellular grid takes up all the connections and the output currently isn’t even THAT interesting… so, I’ll probably need to give this automaton principle another go soon!

Anyway, I’ve built this from CV Switches and S&H modules; each ‘cell’ has a corresponding S&H and CV Switch, and on each tick of the LFO the S&H modules are sampled, and they look at their neighbouring cells (i.e. the CV Switch values). The cell grid itself is just UI buttons with the CV output enabled.
I made this one a while ago, so for more details I’d have to dig back into it, but well, why bother…

=====

[TIPS/TRICKS]
>>> If you press a cell closer to the top-right, the pattern dies out quickly, but as you move away from that corner it will take more cycles before it dies out.
>>> If you want to incorporate this patch in a bigger modular patch, just trigger the SEED input occasionally to keep the pattern going indefinitely.

[THOUGHTS/IDEAS/PLANS]
Honestly, I’m mostly sharing this cause the cellular automaton is a cool principle, but there’s not much room for expanding this one into an actual useful patch, so I’ll probably give this automaton principle another go soon, but in a simplified way. Stay tuned!

If there’s any bugs/questions/remarks/requests or suggestions for improvement, please let me know!
Enjoy!

(Image: Alberto Seveso)

One comments on “Autocell
  • Leave a Reply

      1564 PM
    • Platform:
    • Category: Composition Game Sequencer Synthesizer
    • Revision: 1.0
    • License: Do What The F*ck You Want To Public License
    • Modified: 1 year ago
    • Views: 825
      Likes: 5
      Downloads: 396
    Download
    Chat