pucktronix.golgi. apparatus


pucktronix.golgi.apparatus is a cellular automata-based music sequencer application, with OSC output.

The interface is divided into two parts – the “world” on the left, and the control panel on the right.

You can interact with the “world” in two ways, toggled by the checkbox on the bottom of the control panel – labeled “Toggle Block / Cell Draw Mode”

While the box is unchecked, clicking in the “world” will toggle grid cells – a cell can be either “active” or “dead”.

If the box is checked, clicking and dragging the mouse will draw a colored block over the “world” – up to 8 blocks can be added / edited with the “Block Number” buttons below the checkbox. There are also 8 Block Presets, which can save and switch between Block layouts.

You can adjust the world size using the slider / number-box labeled “World Size” – this will erase any modifications to the world and reinitialize the simulation.

To run the sequencer, click the checkbox in the upper left corner of the control panel. The rate of evolution (in ms) can be adjusted using the number box to the right of this checkbox. The evolution rule (a simple algorithm which determines the change from one generation of the simulation to the next) can be modified with the pull-down menu labeled “Rule”.

The sequencer can also be synced to an external MIDI clock.

As the sequencer runs, eight floating-point numbers between 0.0 and 1.0 are broadcast (using OSC) on the localhost (255.255.255.255) and through port 9999. The eight values correspond to the eight blocks which can be drawn over the grid. Each value corresponds to the proportion of cells under a given block which are “active”. This address / port string is configurable.

Each OSC message address can be modified by editing the text in the corresponding box. (To the far left of the Out 1, Out 2, etc. text) Press “Return” after entering text to confirm. You an also select USB- Octomod-style OSC output formatting.

Finally, in the center of the control panel, are two controls for allowing a variable amount of randomness into the “world”. These controls determine the likelihood of any given cell randomly switching state at a given time.

 

How did this project use Max?

pucktronix.golgi.apparatus was developed using Max and Javascript.