Determinism

Overview

Not quite a sequencer, nor a set of clock dividers, Determinism is might best be described as a complex counting device. All you need is a trigger signal sent to the input (say from a clock signal or a sync signal) and Determinism will determine (hah, get it?) what gets through and to where, depending on various internal counts and conditions.

Determinism is dead simple in essence, but can become maddeningly complex in practice. The best way to understand it is to take it one section at a time. Watching the video might help as well. But the most important thing to remember is that nothing that happens inside this module is randomized in any way.

Overview/demo video

Central Sequences

The basic premise and underlying construction of Determinism resides in the central area. The two innermost columns of knobs -- each labeled "steps" and heretofore referred to as step sequences -- are truly the core of the module. Determinism alternates between them, outputting a number of triggers equal to the knob setting at the current index, working from left to right, top to bottom, then repeating. The length of each step sequence can be adjusted individually with the cream colored knobs at the top of each sequence.

Paired to each step sequence is another sequence, labeled "divisions," which we will naturally refer to as a division sequence. These values act as an intermediary clock-divider between the original source trigger input and the eventual step sequence output. The lengths of these sequences can be set individually as well, thus potentially resulting in quite long sequences without repetition.

A further option can be found at the bottom of each sequence pair. While each step sequence will increment its position (i.e., move down the list to the next value) after completing its determined number of steps and allowing the alternate sequence to do the same, each division sequence has three options for when to move to the next value. By default, the index option is chosen, meaning the division sequence increments its index along with its partner sequence - they both move through their respective series of values at the same rate. The step option sets the division sequence to increment on every valid output step -- in other words, whatever the number of steps at the current index in the step sequence, that is how many different division values will be stepped through. Finally, the loop option only increments the division sequence when the step sequence loops back to its beginning and restarts -- in other words, each division setting will hold for a full run through that side's step sequence before changing.

Finally, in this section there are a number of convenient toggles for setting knob values. The four toggles slightly below and to the left of the cream length knobs will link all knobs in that sequence's active length to the first knob, allowing one to set all at once. The two other toggles, slightly above and to the left of the sequences on the left side of the module, will link to the opposite sequence, thus allowing one to adjust the length and/or values of both division sequences or step sequences. Note that the bottom toggles also factor in to this operation, thus allowing the potential to set all division or step values in the module at once.

Outputs

There are many output jacks through which one can "sample" the trigger sequence resulting from the internal counts. Note that, depending on settings, there are cases where some outputs (or combinations of outputs) will be redundant.

Main Outputs

As the module runs through its sequences, triggers for each respective side are output from the bottom central output jacks. These provide the complete output of each side given its step and division settings.

Index Outputs

Above the main outputs are columns of output jacks allowing you to tap into the outputs of any individual step sequence index. Connecting to every one of these jacks on a side would be equivalent to connecting to the main output for that side.

Masked Outputs

For further output options, each side offers two masked output jacks with a number of settings. Essentially these provide yet another layer of counting to determine which input triggers pass through and which do not. Note that with default settings, these outputs are exactly the same as the main outputs.

Mask Settings

  • Length: The length knob (labeled with #) determines the overall length of the mask (though this depends also on the selected shape).

  • Shift: The shift knob (labeled with >) allows one to shift the start of the pattern forward by a set number of counts.

  • Shape: The top button opens a drop down menu to allow selection of one of three currently available shapes.

    • Single: This allows 1 trigger to pass and then the rest (length # - 1) are turned off. This is basically just yet another clock division on the output.

    • Spaced: This allows # - 1 triggers to pass, then the last one is turned off. Note that with this shape at length 1, nothing will pass.

    • Even: This allows # triggers to pass, then suppresses that same number # triggers.

  • Reset: The bottom button opens a drop down menu to allow a choice of when to reset the internal counter for the mask pattern.

    • Never: The counter never resets under any controllable circumstances, freely looping through its pattern.

    • Global Reset: The pattern resets only when a global restart is triggered.

    • Cycle Start: The pattern resets only on the start of a cycle (i.e. when all sequences again begin at 0).

    • Step Sequence Start: The pattern resets every time this side's step sequence starts/restarts.

MASK EXAMPLE

Given a length(#) of 5 and a shift(>) of 0, the output triggers will be filtered thusly for each shape (! representing ON and - representing OFF):

  • Single: ! - - - -

  • Spaced: ! ! ! ! -

  • Even: ! ! ! ! ! - - - - -

If the shift was changed to 2, these would become:

  • Single: - - ! - -

  • Spaced: ! - ! ! ! !

  • Even : - - ! ! ! ! ! - - -

Events

The right side of the module offers trigger outputs timed to match certain conditions. Cycle start only triggers when each of the four sequences reach zero. (Note, if changes are made to the sequences during playback without doing a global reset, there are situations where this event will never be triggered.) Side change is just that: each time the module switches which side it is drawing from, this will trigger. Next, sequence start triggers are output separately for each of the four sequences -- when an individual sequence starts back at the top, it sends a corresponding trigger. Finally, the index change jacks send triggers for each of the four sequences when that sequence begins a new index (in other words, not when its previous index completes, but when the other side's index completes).

Control

Input

Send whatever you want to the trigger input. Clock signals or sync signals are probably best, but anything could potentially work. As long as it periodically rises above 2.5 volts and falls below 2.5 volts, it will be interpreted as trigger input.

Play/Stop

These should be self explanatory. Press play to begin running the sequences. Press stop to stop. The jacks below these toggles allow triggered play/stop.

Restarts

The restart section gives the user some control over the position of each sequence. The global restart jack, upon receiving a trigger, sets all internal counters (except mask counters if they are set to never) back to 0. The button performs the same function. Below this are four input jacks through which you can individually reset any of the four sequences with a trigger.


Post any comments, questions, concerns, feature requests, or bug reports on the forum or send an email here. And finally, have fun with it!