Boolean Ops


Boolean Ops

Boolean Ops performs dyadic and monadic Boolean operations on a pair of voltage inputs, which it interprets as truth values (True/False), outputting the single resulting value as a Boolean interpreted as a voltage. By default, conversions to and from Boolean values are made using the VM system-level truth threshold value 2.5 V; thus, anything below 2.5 V is False, anything 2.5 V or above is True. In conversions in the other direction, False = 0.0, True = 5.0. If the BLink input jack is populated, you have the option of basing these conversions on either BLink's Threshold value, or its Modulated Threshold value; the output voltages will be half the difference between Maximum and Threshold below Maximum.

There are eight independent channels of two-input, one-output operations. In addition, Boolean Ops generates either Triggers or Gates for each channel, based on the settings of the Event button and the Gate Priority button. Both the Gate and Logic Out jacks also have LEDs that indicate when their state is True (except for Triggers, which are too fleeting for you to see the LEDs).

For the sake of utility, the T and F output jacks supply True and False reference voltages, respectively. Again, these can be interpreted via the system threshold or one of BLink's thresholds (which means, in the case of BLink+, the modulated threshold, that these values can be time-variable).

The logic output (but not the trigger/gate output) can be frozen on a channel-by-channel basis by passing in a True input on the appropriate line of the Lock CV Jack. Since the lock voltages can also be generated by Boolean Ops, you can do some fancy tricks with it.

The eight Op CV jacks allow the Op Buttons to be changed programatically; input CVs are clamped to the range from 0 to 4 and divided into 0.5 V partitions to select one of the eight different operations. The In CV and Out CV jacks change the Input and Output Buttons, respectively; zero volts selects the "System" option, negative voltage selects "BLink," and positive voltage selects "BLink+."

You can find this help within the Boolean Ops module by left-clicking on the Cyberwerks name at the bottom of the module.


Note that all the buttons except the Trigger/Gate Toggle are multi-state buttons; pressing them repeatedly cycles through all the states. Depending on the presence or absence or BLink and the setting of the Trigger/Gate Toggle button, some controls may be reverted to their default values and disabled.

The T/F, Input, and Output jacks have buttons allowing you to select the System threshold ("System"), the BLink threshold ("BLink"), or the BLink modulated threshold ("BLink+") for purposes of conversions between voltages and truth values.

The Trigger/Gate button specifies whether the Trigger/Gate Output Jacks output triggers (single sample spikes) or gates (multi-sample true values).

The Operator buttons associated with each channel have eight states, representing the Boolean operations AND, OR, XOR, NAND, NOR, XNOR, NOT-A, and NOT-B. The first six of these are dyadic, taking two inputs, while the last two are monadic, working on only the A or B input respectively (it doesn't matter what's plugged into the unused jack in that case).

The Event button specifies which events will trigger the onset of a gate or trigger output. It has four states: None, which effectively disables gates and triggers, In Mod, which triggers on a change of Boolean state in either the A In or B In jacks; Out Mod, which triggers on a change of Boolean state in the logic output; and Both, which combines In Mod and Out Mod.

The Gate Priority button is only active when the Trigger/Gate Toggle is set to Gate (the Trigger/Gate output jacks will be labeled "Gate"), because its settings don't have any relevance to one-sample triggers. When active, it has three states, New, Old, and Follow. Since gates have multi-sample duration, priority becomes an issue. New specifies that a newly-starting gate will always take place, even if an earlier gate is still active; Old specifies that a new gate will not trigger if one is already in progress; Follow specifies that the gate level will follow, or match the truth state of the logic output (i.e., if the result of a Boolean operation is True, then a gate will be active, and if False, no gate is active).

The Gate Duration Knob sets the time a gate will remain active, from 0.21 ms to 500 ms. The default value is 125 ms. The control is inactive when triggers are selected, since the length of a trigger is always one sample.

Boolean Operations

  • The AND operation outputs True only if both of its inputs are True, and False otherwise.
  • The OR operation outputs True if one or both of its inputs are True, and False otherwise.
  • The XOR operation outputs True one, but not both, of its inputs are True, and False otherwise.
  • The NAND, NOR, and XNOR operations output the inverse of the AND, OR, and XOR operations, respectively.
  • The NOT-A operation outputs the inverse of the value of A In.
  • The NOT-B operation outputs the inverse of the value of B In.