Skip to content

gmuller/golsequencer

Repository files navigation

The Game of Life Sequencer Bank is based on a game of life sequencer screencast produced by Wesen in 2008. To see the original screencast click here. It is a bank of 6 step or drum sequencers that generate patterns based on the basics of Conway's Game of Life cellular automaton. Each sequencer operates independently of the others, and can be configured in a variety of ways.

See the blog series

The Game of Life Sequencer Bank is written in Java using the Processing, controlP5 and a customized RWMidi library. It should work wherever Java 1.5 is available (Windows, OS X, Linux), though it has only been tested in Windows and Linux. Any problems should be reported here.

For more info please see the video and example audio at the bottom of the page.

Compile from source

  1. git clone [email protected]:gmuller/golsequencer.git
  2. cd golsequencer
  3. ant

Open in Eclipse

  1. Follow the instructions about to compile from source.
  2. In Eclipse Navigate to "File -> New -> Other".
  3. Select "Java Project from Existing Ant Buildfile".
  4. Navigate to .../golsequencer/build.xml
  5. Complete the wizard

Documentation

The application is divided into 7 tabs, one tab for each sequencer, and a global options for options affecting all sequencers.

Sequencer Tabs

screenshot

Under the options readout is a dropdown labeled "Sequencer 1" containing the following options for the sequencer:

Midi Output
Sets the MIDI Output that the sequencer will use. If a MIDI port is unavailable for any reason you will not be able to select it.
Channel
Set the MIDI Channel of the sequencer. Options are 1-16.
Key
Sets the key of the sequencer. In SINGLE_NOTE SEQ_MODE this is the only note that will play. This options is ignored in DRUM_SEQUENCE mode.
Scale
The scale/mode from which notes will be selected.
Step Size
The size of each step. Values range from 32nd note triplets to Whole Notes.
Update Time
Forces the game to update at an interval independent of the sequencer speed. Use this option to generate patterns more quickly. Values range from 32nd note triplets to Whole Notes.
Drum Map
The Drum Map to use. The IMPULSE map uses the note values native the Ableton Live's Impulse drum machine. The ALL_KEYS map starts at C4 and uses each subsequent note until the number of columns is exhausted.
Seq Mode
The mode of the sequencer. Modes are as follows:
DRUM_SEQUENCE
Steps column at a time t the speed selected in the TIME_BASE option. Outputs the note values of the active notes in that column. Notes are selected based on the row and which drum map was used.
STEP_SEQUENCE
Steps cell at a time, left to right top to bottom at the speed selected in the TIME_BASE option. Outputs a midi note for each on cell. Notes are selected based on an algorithm using the key, scale, octave and range.
ORIGINAL
Outputs not based on the original Wesen setup. The game is updated at the interval selected in the the TIME_BASE option, and outputs are sent for ALL active cells. Best used with monophonic synths.
SINGLE_NOTE
Acts as the step sequencer, but will only output the note selected in the KEY option.

To the left of the sequencer there are several buttons controlling playback.

Play
Starts playback of all sequencers.
Stop
Stops playback of all sequencers.
Tempo
Sets the playback tempo of all sequencers

To the right of the sequencer you have the following options:

Cell Matrix
The cell matrix itself is an adjustable 32 x 32 grid of cells that represent on or off states. The game is played in the grid, and the patterns generated are played in various ways depending on the Seq Mode (see Sequencer Options). Clicking on a cell will toggle its on or off state.
Active
Toggle representing the on/off state of the sequencer. A sequencer that is turned off will still step, it will just not output any notes.
Kill Notes
When this toggle is activated, only one note will play at a time, the last note that the step sequencer saw as on.
Random
This button will generate a random pattern in the cell matrix. Clicking multiple times will turn on additional cells.
Clear
This button will clear all cells in the Cell Matrix
Columns
Rows
Change the number of rows in the cell matrix. The maximum number of rows is 32.
Octave
Change the starting octave value of the notes that are generated. Default is 3. Max is 8.
Range
Change the octave range when randomizing notes. Default and maximum are 3.
Velocity
The velocity of generated notes will reside randomly in the range represented by this slider. The slider has two ends so that notes can be created in any velocity range between 0 and 127.

Options Tab

screenshot

The following options apply to all sequencers.

Midi Sync Port
Which port to use for incoming sync. Has no effect if sync mode is set to 'internal'
Sync Mode
Selects whether to use internal or external sync.

About

source code to the Game of Life Sequencer Bank

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages