General

Hemisphere Suite

Hemisphere Suite is an alternate firmware for the Ornament and Crime eurorack module.

Hemisphere Suite is an open-source project by Jason Justian (aka chysn).

Ornament and Crime is a collaborative open-source project by Patrick Dowling (aka pld), Max Stadler (aka mxmxmx) and Tim Churches (aka bennelong.bicyclist).

This cheat-sheet is based on the Hemisphere Suite Wiki which is under MIT license and used with permission.

Links

Hemisphere Suite Home Hemisphere Suite Wiki

License

Copyright 2018, Jason Justian Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Launching Hemisphere

Hemisphere is an app for Ornament and Crime. To launch Hemisphere, long-press the right encoder button and release after about 2 seconds. At the application selection menu, use the right encoder wheel to position the cursor over Hemisphere and press the right encoder button.

Selecting Applets

https://youtu.be/nB_nk_f3hzo

You may enter selection mode for one side of Hemisphere by pressing the Up or Down control button. The Up button enters Selection Mode for the left hemisphere. Down for the right hemisphere. In selection mode, a frame will appear around the side of the screen for the hemisphere you're selecting. Turn the corresponding hemisphere's encoder knob to cycle through available applets.

While one hemisphere is in Selection Mode, the opposite hemisphere can continue to be used as normal (Beta 2).

To leave Selection Mode, (1) press the Up or Down button corresponding to the hemisphere being selected, or (2) press the encoder button corresponding to the hemisphere being selected. (3) If you push the opposite Up or Down button, Selection Mode will switch to that hemisphere.

2. Saving State

https://youtu.be/uc1rcwqUbL0

To save Hemisphere settings, long-press the right encoder button and release after about 2 seconds. Then long-press the right encoder button again on the application selection menu. This will save the state of all Ornament and Crime apps that are capable of saving state.

For Hemisphere, the two selected applets and their save-able settings will be saved. Most applets will save all settings. If an applet's data set is particularly large (for example, that of Lofi Tape), that applet will not save its data. But most applets will return to their saved state at launch.

System Exclusive

https://youtu.be/6R99A0Yvqlk

As of Hemisphere 1.3 (release date August 10, 2018), you may also save Hemisphere setups via system exclusive over USB MIDI. To save a setup, do the following:

  1. Prepare your MIDI librarian software to receive a system exclusive dump
  2. Make your applet settings in Hemisphere
  3. Long-press the right encoder button to go to the main menu
  4. Your librarian should receive the dump that Hemisphere initiates when it is suspended

To restore the settings, simply dump the system exclusive message back while Hemisphere is running. You may send multiple dumps in succession to restore settings for any number of applets.

3. Help Screens

https://youtu.be/3I734jXkrvA

Each applet has a help screen. To access a help screen, double-click the Up or Down encoder button that corresponds to the hemisphere for which you'd like help. Pressing that button again will turn off the help screen. Pressing the opposite button will show the help screen for the other applet.

Both applets will continue to function normally, but "in the blind," while a help screen is displayed.

4. Master Clock Forwarding

https://youtu.be/WgqHVCxjSXc

Master Clock Forwarding allows you to avoid the use of stacked cables or mults if you want both hemispheres to sync to the same clock. When Master Clock Forwarding is active, any applet in the right hemisphere that responds to clock at Digital In 3 will respond to clock at Digital In 1 instead. Master Clock Forwarding applies only to clock signals and not gate signals, and it applies only to the first digital input for the hemisphere.

To activate Master Clock Forwarding, long-press the left encoder button for about two seconds. When you release the button, a clock icon will appear in the center of the menu bar. To exit Master Clock Forwarding, long press the left encoder button again. Note that you can hold down the button as long as you want to, in order to time the transition of the clock from one state (or one input) to another. Thus, Master Clock Forwarding is a performance control.

Master Clock Forwarding remains in effect as you change applets. The state of Master Clock Forwarding is not saved when you save the O_C's state.

5. Internal Clock

Note: Older versions of Hemisphere Suite (v1.3 to v1.7) have Category Filtering instead of Internal Clock. See https://youtu.be/6545D9zRVIQ for more information.

https://youtu.be/HND6HpVVtyo

The internal clock provides a way to use Hemisphere's sequencers and other clocked applets without an external clock source. A Clock Setup screen allows changes to tempo and clock multiplier.

To access the Clock Setup screen, long-hold the Down control button for about two seconds. When you release it, the Clock Setup screen will appear. Use either encoder button to move the cursor between the clock source, tempo (in beats per minute), and multiplier (from x 1 to x 24). Turn either encoder to change the value at the cursor. Push either the Up or Down control button to return to Hemisphere's main screen.

If the clock source is set to Internal, you'll see a small metronome icon on the main screen. To start or stop the clock, long-hold the left encoder button. The clock will start or stop when you release the button. While the internal clock is running, any digital input that expects a "clock" signal will respond as though a clock signal is present at the jack.

If you need the tempo control available, you may use the Metronome applet to change the clock tempo. The Metronome applet also outputs the multiplied and beat clocks at its outputs.

6. Screen Blanking

To protect your OLED against long-term burn-in, the screen will blank (darken) after a configurable period of inactivity. All running applications will continue to function as normal while the screen is blanked. Set the screen blanking time, in minutes, during the configuration procedure.

You may blank the screen manually at any time by long-pressing the Up button. Pressing any button or turning any encoder will return the module to normal operation.

Modes

"A"SR is an "Analog" Shift Register simulation with a 256-step ring buffer. When selected in one hemisphere, it has two indexed outputs. When selected in both hemispheres, the same buffer is used across all four outputs.

Controls

  • Digital Ins: A clock pulse at Digital 1 advances the buffer, and a gate at Digital 2 freezes the buffer to writing
  • CV Ins: CV 1 is the signal to be sampled, and CV 2 is bi-polar modulation of the index between -32 and 32 steps
  • Outputs: Indexed outputs (see below)
  • Encoders: Set index and scale

Unlinked Operation

When "A"SR is selected in one hemisphere (whether the left or the right), it operates as described above. The Out A/C is the most recent value, and Out B/D is a previous value based on the index; an index of n indicates that B/D will play n step(s) back. At an index of 0, both outputs will be the same. When the index value is modulated by CV, a small CV indicator displays below the value.

Linked Operation

When "A"SR is selected in both hemispheres, it becomes a "linked" applet. A link icon will appear in the upper right corner of the screen.

When linked, the scale may be different for each hemisphere, but the base index will be the same. Digital 1, Digital 2, and CV 1 do nothing. The index for each side may be modulated independently using CV 2. When the index value is modulated by CV, a small CV indicator displays below the value.

Linked outputs are routed as follows:

  • Out A: The most recent sample
  • Out B: n steps back
  • Out C: 2n steps back
  • Out D: 3n steps back

where n is the index.

"A"SR is in Hemisphere Suite from v1.5.

AD EG is an attack/decay envelope generator with forward and reverse trigger inputs, and end-of-cycle trigger output.

Controls

  • Digital Ins: Input 1 triggers the AD envelope, and Input 2 triggers the envelope in reverse (DA)
  • CV Ins: CV 1 is bi-polar modulation for attack, and CV 2 is bi-polar modulation of decay
  • Outputs: Output A/C is the envelope signal, and Output B/C emits a trigger at the end of the cycle

Note that triggering the envelope in reverse does not change the CV modulation controls, meaning that CV 1 controls the effective "attack" segment regardless of direction.

Video

ADSR EG is a straightforward linear envelope generator. It has a single envelope, but responds independently on two channels.

Controls

  • Digital Ins: Gate Channels 1 and 2
  • CV Ins: CV 1 is bi-polar modification for attack, and CV 2 is bi-polar modification for release
  • Outputs: Amplitude for channels 1 and 2
  • Encoder Push: Cycles cursor between Attack, Decay, Sustain, and Release
  • Encoder Turn: Increases or decreases selected parameter

Note that CV inputs modify the attack and release rates over a range of about -2.5 volts to about 2.5 volts. There is a small center detent in the middle of the range, at which point no modification will be made.

Annular Fusion is a dual Euclidean trigger generator. It can be used to generate Euclidean rhythms of up to 32 steps in length.

Controls

  • Digital Ins: Digital 1 clocks Annular Fusion, and Digital 2 resets
  • CV Ins: CV 1 is bipolar rotation for the outer ring, and CV 2 is bipolar rotation for the inner ring
  • Outputs: Output A/C is trigger output for the outer ring, and Output B/D is trigger output for the inner ring
  • Encoder push: Cycles cursor through outer ring length, outer ring hits, inner ring length, and inner ring hits
  • Encoder turn: Increases or decreases the selected value

The cursor will appear under the parameter that you're editing (length on top, hits on the bottom), and a ring indicator will show the ring (outer or inner) that you're currently editing as brighter.

AttenOff is a dual attenuator/offset.

Controls

  • CV Ins: Inputs for each channel
  • CV Outs: For each channel, outputs voltage attenuated by the level, with the offset voltage added
  • Encoder: Move cursor

The offset voltage range is -3V to +5V, selectable in 1 semitone (approx. .08V) increments.

Level has 64 increments, and shows between 0% and 100%.

AttenOff is available in Hemisphere Suite from v1.8.

Backup/Restore is a utility that allows you to transfer complete sets of app and/or calibration data to and from your module. Possible uses include

  • Transferring app data to a new O_C module,
  • Moving calibration to a replacement Teensy for the same O_C module,
  • Changing settings between pieces during live shows,
  • Intercontinental internet-based collaboration with other Hemisphere Suite users, or
  • Simply preparing for inevitable disaster.

Backing Up Your Module

Backup/Restore backs up data as it exists in the EEPROM. So if you want to take a backup of the OC's _current state, save the module's state by long-pressing the right button from the main menu.

Connect your computer or tablet to the module and enter the Backup/Restore app on your module. Turn either encoder to choose "Data" or "Calibration." Enable recording on your SysEx Librarian software, and then press the right encoder button ([BACKUP]). The size of the data dump will be 172 bytes for Calibration, and about 2.5K for Data.

Restoring Your Module

Connect your computer or tablet to the module and enter the Backup/Restore app on your module. Press the left encoder button ([RESTORE]). Backup/Restore will indicate that it is listening for SysEx data. From your SysEx Librarian software, initiate the dump. The module's screen should indicate a progress bar. When the restore is successful, the module returns to the saved state.

If you use Backup/Restore to restore calibration settings, you'll need to cycle the power on your module for the restored calibration settings to become active.

Binary Counter is weird. It takes four logic inputs (high or low) and provides a binary-summed output and a count output.

Controls

  • Digital Ins: Digital 1 is Bit 3, Digital 2 is Bit 2,
  • CV Ins: CV 1 is Bit 1 and CV 2 is Bit 0
  • Outputs: A/C is the binary sum of the inputs, and B/D is the count of the inputs

Binary Sum (Output A/C)

Each bit contributes a value to Output A/C based on its bit number. Approximate voltages are as follows:

  • Bit 0 contributes .33V
  • Bit 1 contributes .67V
  • Bit 2 contributes 1.33V
  • Bit 3 contributes 2.67V

Count (Output B/D)

Each bit contributes the same value (approximately 1.25V) to Output B/D.

Binary Counter is in Hemisphere Suite from v1.4.

Boots 'n Cats (BootsNCat) is a simple bass/snare drum synthesizer with stereo audio outputs.

Controls

  • Digital Ins: Triggers, where Digital 1 fires the bass drum, and Digital 2 fires the snare drum
  • CV Ins: Attenuation Levels, where CV 1 attenuates the bass drum, and CV 2 attenuates the snare drum
  • Outputs: Audio outputs, where A/C is the bass drum output and B/D is the snare drum output, but see Blend below
  • Encoder: Sets Tone and Decay for drums, and Blend

Tone

Each drum has a Tone control that sets the basic sound of the drum. For the bass drum, Tone controls the frequency, with higher values indicating a higher frequency. For the snare drum, the Tone control is more like a low-pass filter, with high values indicating a higher cutoff frequency.

Decay

Each drum has a Decay control that sets the decay of the drum between about 1/10 of a second and 1 second, with higher values indicating longer decay.

Blend

At a Blend level of 0, the bass drum and snare drum are totally isolated on Outputs A/C and B/D, respectively. As the Blend is increased, some of the signal from the opposite channel will be fed into each channel. A Blend level of 63 results in a 50/50 mix on both outputs.

Boots 'n Cats is available in Hemisphere Suite starting with V1.6.

Brancher is a Bernoulli Gate, inspired by Mutable Instruments Branches. It sends incoming gate or clock to one of two outputs, based on selected probability.

Controls

  • Digital Ins: Digital 1 is the signal (clock or gate) that will be routed to A/C or B/D
  • CV Ins: CV 1 is a bi-polar voltage that modulates the probability
  • Outputs: A/C or B/D mirrors Digital 1. Only one will be in use at a time.
  • Encoder Push: Overrides the probability-selected output and switches to the other one
  • Encoder Turn: Sets probability from 0% to 100%

Burst is a burst generator based loosely on the Ladik S-075.

Controls

  • Digital Ins: Digital 1 is an optional timing clock, and Digital 2 triggers the bursts
  • CV Ins: CV 1 sets the Number of bursts and CV 2 is bi-polar modulation of the Spacing
  • Outputs: Output 1 is a series of 2ms triggers, and Output 2 is a gate that remains high while a series of bursts is in progress
  • Encoder Push: Move cursor between Number and Spacing
  • Encoder Turn: Update Number (1-12) and Spacing (8ms-500ms) settings. If Burst is clocked (see below), and the cursor is on Spacing, then clocked is turned off.

When Burst receives a trigger at Digital 2, it begins a series of 2ms triggers from Output 1 and a gate from Output 2. The number of triggers is the Number setting. The time between each trigger (in milliseconds) is the Spacing setting. The Output 2 gate remains high until the final trigger has fired.

If Burst receives another trigger at Digital 2 before the burst sequence has finished, a new sequence will start.

When CV is received at CV 1, the Number setting at the panel is overridden. There is a center detent around 0V, so slightly more than 0V is required to change the Number.

When CV is received at CV 2, the Spacing setting at the panel is modulated. There is a center detent around 0V, so slightly more than 0V is required to change the Spacing.

When a clock signal is received at Digital 1, Burst becomes clocked. At the second clock, the Spacing value is calculated to be the clock tempo divided by Number. When Burst is clocked, this calculated Spacing value overrides both the panel and the signal at CV 2. Burst will remain clocked until you move the cursor to the Spacing value and change it. You probably want to stop the clock first, though, or Burst will become clocked again immediately.

Hemisphere Suite 1.7 Update (Nov. 30, 2018): CV Recorder is a two-track 384-step CV recorder with smoothing (linear interpolation) and adjustable start/end points.

Controls

  • Digital Ins: A clock to Digital 1 advances the sequencer, and a trigger to Digital 2 resets to the start step.
  • CV Ins: CV1 is the input for Track 1, and CV2 is the input for Track 2
  • Outputs: A/C is the output for Track 1, and B/D is the output for Track 2
  • Encoder Push: Advance cursor (Start Point, End Point, Smoothing on/off, transport control)
  • Encoder Turn: Set value

Recording

To start recording, choose a length by setting the Start and End points. Advance the cursor down to the transport control (which will usually just say "Play"). Turn the encoder to choose which track or tracks you wish to record (1, 2, 1+2). When you press the encoder button, recording will begin. An indicator bar will display on top of the transport control line to indicate remaining steps.

Video

Calculate is a series of utilities for performing arithmetical operations on two CV inputs.

Controls

  • Digital Ins: Clock input for Channel 1 and Channel 2, to hold input voltage or clocked random voltage
  • CV Ins: Calculation operand CV values
  • Outputs: A/C Channel 1 result, B/D Channel 2 result
  • Encoder Push: Switch cursor between Channel 1 and Channel 2 operator selection
  • Encoder Turn: Select operator

The following operators are available:

  • Min: The result is the lower voltage of the two operands
  • Max: The result is the higher voltage of the two operands
  • Sum: The result is the sum of the two operands, up to 5 volts
  • Diff: The result is the absolute value of the difference between the two operands
  • Mean: The result is the mean (average) of the two operands (that is, Sum divided by 2)
  • S&H: When the channel is clocked, the output is held at the voltage of the corresponding input
  • Rnd: A random value between 0 and 5 volts appears at the corresponding output. When the channel is clocked, a random value is held at the corresponding output until the next clock. To reset the input (that is, to turn off clocked operation), place the cursor on the Rnd operator and turn the encoder. If you turn the encoder clockwise, clocked operation will be turned off without changing away from the Rnd operator. When Rnd is clocked, a clock icon will appear to the right of the operator selector.

Captain MIDI is a highly-configurable CV-to-MIDI and MIDI-to-CV interface. It supports four outputs for MIDI-to-CV and four inputs for CV-to-MIDI. It features multi-channel operation, polyphonic note distribution (up to four notes), transposition, and note-range for layers and/or splits. It keeps a log of the last 100 MIDI messages. Up to four complete Setups can be saved in memory. Setups can be copied from the panel, or saved and retrieved via MIDI system exclusive dump.

Captain MIDI is a standalone Ornament and Crime application with a classic O_C-style interface. It is included with Hemisphere Suite, starting at v1.3.

Videos

References

Connection

The back of the Ornament and Crime module has a micro USB port. This is what you use to make a MIDI connection to a USB host, usually a Windows, macOS, or Linux computer. Hemisphere Suite uses a class-compliant MIDI interface, which should be recognized as "Hemisphere" by your operating system and DAW/MIDI software.

Basic Controls and Navigation

  • Right Encoder: Selects parameter or value. Pushing the right encoder switches between parameter selection and value editing.
  • Left Encoder: Selects Setup screen (Assign, Channel, Transpose, Range High, Range Low). Pushing the right encoder toggles between the Setup screen and the Log Display. When the log is displayed, the left encoder scrolls through the last 100 MIDI events sent and/or received. A left encoder button long-press (held for about 2 seconds, and released) initiates a Panic! function: Captain MIDI sends Note Off for all notes and on all channels.
  • Up/Down Buttons: Selects which Setup (from 1-4) is active. If the down button is long-pressed, the active Setup may be copied to another Setup.

Setup Screen Basics

Each of the Setup screens has eight parameters. The input or output (I/O) name is shown on the left, and the value is on the right. The parameters are arranged in groups of four, with the MIDI-to-CV parameters and then CV-to-MIDI parameters:

  • A name like "MIDI > ?" indicates that a MIDI message of the assigned type, on the assigned channel, is routed to the corresponding letter output.
  • A name like "? > MIDI" indicates that a MIDI message of the assigned type, on the assigned channel, is sent when the voltage at the corresponding CV input changes or, in the case of notes, when a gate is received at the corresponding digital input.

If the assigned type is Note or Legato, and a MIDI channel is set, an eighth note icon appears next to the parameter name. This indicates that note-specific parameters (transpose, range) apply to the assignment.

Each parameter line also displays a MIDI indicator icon when its assignment is sending or receiving MIDI data. For note assignments, a note name is displayed instead of a MIDI icon.

Assign Setup Screen

On this screen, you determine which MIDI messages are sent or received.

MIDI-to-CV (MIDI In) Types

  • Note: When a Note On message is received on the specified channel, the assigned output sends a quantized pitch value corresponding to the message's MIDI note number. Note may be assigned to any number of outputs. If Note is assigned to multiple outputs on the same channel, reception will be polyphonic; each new simultaneous note will be picked up by a different output until no more Note outputs are available. You may have up to four notes of polyphony by assigning all four outputs on the same MIDI channel; but you'll have to find another way to control your VCAs, since you won't have any outputs for gates.
  • Gate: When a Note On message is received on the specified channel, the assigned output sends a high (approx. 5 volt) signal, which remains high until the corresponding Note Off message is received.
  • Trig: When a Note On message is received on the specified channel, a trigger is sent on the assigned output.
  • Veloc: When a Note On message is received on the specified channel, the assigned output sends CV between 0 and 5 volts proportional to the velocity of the Note On message. When the corresponding Note Off message is received, the assigned output goes to 0V.
  • Mod: When a continuous controller message is received for CC#1 (modulation wheel) on the assigned MIDI channel, the assigned output sends CV between 0 and 5 volts proportional to the CC value.
  • Aft: When aftertouch is received on the assigned MIDI channel, the assigned output sends CV between 0 and 5 volts proportional to the aftertouch value.
  • Bend: When pitch bend is received on the assigned MIDI channel, the assigned output sends CV between about -3V and 3V proportional to the pitch bend value.
  • Expr, Pan, Brth: Similar to Mod, but with different controller numbers (Expression: #11, Pan: #10, Breath: #2). These output values are maintained until the controller changes.
  • Hold: When a hold pedal controller message is received on the assigned MIDI channel, the assigned output sends 5V until the pedal is released.
  • yAxis: Similar to Mod, with with controller number #74. This is used as the Y-Axis controller for three-directional controllers that support MPE.
  • Clock: There are four clock settings, which send triggers to the assigned CV output at various divisions of an incoming MIDI beat clock. The settings are: Qtr (which triggers every 24 clocks), 8th (12 clocks), 16th (6 clocks), and 24ppq (sends a trigger with every clock). Note that clock is a real-time message, and doesn't require a MIDI channel to be assigned. A clock indicator on the parameter line moves every eighth note.

CV-to-MIDI (MIDI Out) Types

  • Note: When Note or Leg. (Legato) is assigned to an input, the digital input and the CV input are used at the same time. When the digital input goes high, the voltage at the CV input is quantized into a MIDI note number, and a Note On message is sent on the specified channel. When the digital input goes low, a Note Off message is sent.
  • Leg. (Legato): Works like Note, except that Captain MIDI watches the CV input for pitch changes. If the pitch changes by a semitone or more, a Note Off is sent (regardless of whether the gate has gone low) and a new Note On is sent for the new pitch. This is a more natural setting for humans playing CV controllers (like Pressure Points, Tetrapad, Keystep) because it doesn't require a player to completely disengage the controller before playing another note. The Note setting is more appropriate for sequenced melodies.
  • Veloc: Usually, a Note On message uses a default velocity of 100. However, if Veloc is assigned to the same channel as a Note or Leg. assignment, the Note On velocity will be proportional to the voltage at the assigned input. Note that if two Veloc assignments are made on the same channel, only the lowest-numbered assignment will be used for Note On velocity.
  • Mod: A change in positive voltage at the assigned input will cause a MIDI controller change for CC#1 (modulation wheel) to be sent on the specified channel.
  • Aft: A change in positive voltage at the assigned input will cause a MIDI channel aftertouch message to be sent on the specified channel.
  • Bend: A change in bi-polar voltage at the assigned input will cause a MIDI pitch bend message to be sent on the specified channel. Positive voltage is positive bend, and negative voltage is negative bend. The range is about -3V to +3V.
  • Hold: Voltage over around 2.5 volts at the assigned input will cause a MIDI Hold "on" (127) controller message to be sent. When the assigned input goes to 0 volts, a MIDI Hold "off" (0) message is sent.
  • Expr, Pan, Brth, yAxis: Similar to Mod, but with different controller numbers (Expression: #11, Pan: #10, Breath: #2, Y-Axis: #74).

MIDI Channel Setup Screen

This screen sets the MIDI channel for each assignment. For the MIDI-to-CV ("MIDI > ?") assignments, this determines which channel Captain MIDI is listening on. For the MIDI-to-CV ("? > MIDI") assignments, this determines which channel Captain MIDI is transmitting on.

When the channel is set to "Off" the assignment is effectively muted; no MIDI data will be received or sent.

Transpose Setup Screen

The transpose screen sets transpose values over a four-octave (-24 to +24 semitone) range. The transpose value is added to outgoing voltage for MIDI-to-CV assignments, and is added to MIDI note numbers for CV-to-MIDI assignments.

Transpose is a note-specific screen, and only assignments set to Note or Legato, and have a MIDI channel set, will be shown.

Note Range Low/High Setup Screens

These screens set the low and high values transmitted or recognized by the assignment, between the lowest MIDI note (C -1) and the highest (G9). Values outside the range will be ignored. Range checking is applied after transposition. So if a Note On is out of range, but transposition takes it into range, the note will be played; if a Note On is in range, but transposition would take it out of range, the note will be ignored.

Range screens are note-specific screens, and only assignments set to Note or Legato, and have a MIDI channel set, will be shown.

Setups

Captain MIDI has four independent Setups. A Setup consists of information for assignments, channels, transposition, and note range for all eight inputs and outputs. Use the Up and Down buttons to change the active Setup. The active Setup number is shown at the top of all of the Setup screens.

Copying Setups

To copy the information for the active Setup to another Setup, long-press the Down button. When you release the button, a Copy screen will open. Choose the copy's destination with the Up and Down buttons, and then push the right encoder ("[Copy]") to execute the copy. To leave the Copy screen without changing any data, push the left encoder ("[Cancel]") or long-press the Down button again.

If you select a Setup as its own copy destination, the display will change to a SysEx dump screen. The right encoder option becomes "[Dump]". If you push the right encoder, Captain MIDI will send a system exclusive file containing the data for the active Setup.

Saving Setups

There are two ways to save Setup data.

Save all four Setups in the module: Long-press the left encoder to get to the main menu, then long-press the left encoder again to save data for all apps. A solid rectangle will expand from the middle of the screen to confirm the save operation. The Ornament and Crime module will recall the saved Setups on power-up.

Save using MIDI system exclusive: Follow the SysEx dump procedure from the Copying Setups section above, and capture the system exclusive dump with SysEx librarian software. The restore a Setup from a SysEx dump, simply send the SysEx file back to the module whenever Captain MIDI is running.

Shortcut: When you long-press the right encoder to go to the main menu, the current Setup's data also is dumped via SysEx.

Notes about System Exclusive:

  • A Setup from a received SysEx dump will always be placed in the active Setup, regardless of the Setup's original location.
  • You can use system exclusive to change Captain MIDI's handling of MIDI data in an automated way during a performance.
  • Data received from a SysEx dump will overwrite Setups in memory, but not data saved via the first save method; that is, unless you long-press to save the new Setup data, Captain MIDI will return to its previously-saved state at the next power-up.

Log Display

Captain MIDI logs the most recent 100 MIDI messages, in and out. Push the left encoder button to see the MIDI log. When the log is being displayed, use the left encoder to scroll through the events. Push the left encoder button again to return to the Setup screens.

Captain MIDI can be used to identify the applications associated with Hemisphere Suite system exclusive data. Open the log and send the system exclusive file to Captain MIDI. If it's a Hemisphere Suite file, Captain MIDI will identify it. Note that SysEx messages are logged only while you are viewing the Log Display.

Panic! Function

Long-press the left encoder if notes get hung. Captain MIDI will send Note Off messages on all 16 MIDI channels for all MIDI notes.

Thanks to Roel Das for writing the chord pattern code, and generously allowing it to be used here.

Carpeggio is an arpeggiator/sequencer that uses coordinates on a 4x4 Cartesian plane to select notes. Notes can be assigned to the plane from among 55 chord patterns. Carpeggio can also be clocked and reset, to function as a more traditional arpeggiator. Additionally, any of the 16 notes may be edited on the fly, allowing Carpeggio to function as a Cartesian or traditional 16-step sequencer.

Controls

  • Digital Ins: A clock to Digital 1 plays the CV at the current position and advances to the next step (x, then y), and Digital 2 resets to (1,1)
  • CV Ins: CV 1 is the x position on the plane, and CV 2 is the y position
  • Outputs: Output 1 is the quantized pitch, Output 2 is a modulation output proportional to x*y
  • Encoder Push: Cycles the cursor between note, chord, and transpose

Cartesian Operation

Provide x and y CV (0-5V) to the CV inputs. The position will be displayed with cross hairs on the grid. To select the note at the current position for playing, provide a clock signal to Digital 1.

Linear Operation

To use Carpeggio as a more traditional linear arpeggiator or sequencer, disconnect the x and y CV (or set them both to 0V). A clock to Digital 1 will play the note at the current position, and then advance to the next position, from left to right, and top to bottom.

A clock at Digital 2 will reset Carpeggio to (1,1), or upper-left.

Note Editing

When the cursor is flashing under the note number near the bottom of the screen, the note at the current step may be edited with the encoder. Such edits will be lost on power-down, or when the chord is changed.

Changing Chords

When the cursor is flashing under the chord name, select a chord with the encoder. If you change the chord and push the encoder, the sixteen steps will be filled with notes from that chord, removing any note edits you've made. When you're changing chords, a checkmark will appear next to the currently-selected chord. If you press the encoder button at this chord, your note changes will not be overwritten.

When you push the encoder button to change a chord, the cursor will remain at the chord selection setting, so that you can change chords multiple times without delay. To move the cursor to the Transpose setting, press the encoder button without changing the chord.

Transposition

Carpeggio has a four octave transposition range, 24 semitones in either direction.

Video

Clock Div is a two-way clock divider and multiplier, using a single clock source. It can divide from 1:1 to 1:8, and multiply from 2:1 to 8:1. Each channel can be set from the panel, or via CV.

Controls

  • Digital Ins: Digital 1 clocks the divider/multiplier, and Digital 2 resets the divider
  • CV Ins: Bi-polar voltage sets the division or multiplication for each channel
  • Outputs: A/C outputs triggers for the top section, B/D outputs triggers for the bottom section
  • Encoder Push: Changes cursor between top and bottom sections
  • Encoder Turn: Selects the division or multiplication for the selected section

Division works by counting clocks and sending a trigger on the nth clock. When the encoder is turned, the counter is reset.

Multiplication works by counting interrupt cycles (c) between the last two clock inputs, and sending a trigger every c/n cycles.

CV inputs are bipolar, with a range of about -2.5 volts to about 2.5 volts. Positive values set clock division, and negative values set clock multiplication. There's a small center detent CV range, over which range control is only set from the panel. This is done because O_C can't sense whether a jack is patched.

Clock Skipper is a dual probability skipper.

Controls

  • Digital Ins: Clock input for each channel
  • CV Ins: Bi-polar probability modulation for each channel
  • Outputs: Clock output (based on probability) for each channel
  • Encoder: Set probability for each channel

Both channels are identical. When an incoming clock is received at the digital input, that clock may or may not be sent to the corresponding output, depending on the probability. A probability of 100% means that the gate will always be passed along. Probability can be modified with voltage to the CV inputs. Negative voltage decreases probability, and positive voltage increases probability.

Compare is a comparator applet with complementary gate outputs.

Controls

  • CV Ins: CV 1 is the input, and CV 2 is a bi-polar level modification
  • Outputs: A/C is a gate (high) if CV 1 is greater than the modified level. B/C is gate if the modified level is equal to or greater than CV 1.
  • Encoder turn: Set the level

Dr. Crusher is a single-channel sample rate and bit resolution reducer for CV or audio signals.

Controls

  • Digital Ins: A gate signal to Digital 1 defeats the effect and passes the signal from Out A at maximum rate and resolution
  • CV Ins: CV 1 is the signal input
  • Outputs: Out A/C is the output with rate and resolution reduction applied, and Out B/D is the signal at maximum rate and resolution
  • Encoder: Alternate between sample rate (.5kHz ~ 16.7kHz) and bit resolution (2-bit ~ 14-bit) selection

Note that the maximum rate (16.7kHz) and resolution (14-bit) values are the maximum values available to the firmware, so some "crushing" will always be applied, no matter what, including when the "defeat" is activated and when monitoring Out B/D.

If you're not getting any signal at lower bit resolutions, increase the input amplitude.

Dr. Crusher is in Hemisphere Suite starting with v1.7.

Video

Dual Quantizer converts CV input to pitches of specific musical scales.

Controls

  • Digital Ins: Clock for each channel
  • CV Ins: Unquantized CV for each channel
  • Outputs: Quantized CV for each channel
  • Encoder Push: Alternate cursor between Channel 1 and Channel 2
  • Encoder Turn: Select scale and reset channel to continuous operation

Each channel begins in continuous operation. That is, the incoming CV is quantized at a rate of about 16667 times per second. This might result in undesirable slippage between notes, so clocked operation is available on a per-channel basis.

To enter clocked operation, send a clock signal to a digital input. A clock icon will appear next to the selector for the corresponding channel to indicate that that quantizer is in clocked mode.

To return to continuous operation, stop sending clock to the channel, and then change the scale. As long as no additional clock signals are received at the channel, the quantizer will remain in continuous operation.

While Enigma imposes a track-song workflow, Enigma, Jr. allows you to organize your Turing Machines via CV. It allows playback and temporary manipulation of registers in your Enigma Register Library.

Controls

  • Digital Ins: Digital 1 advances the register
  • CV Ins: CV 1 is a bi-polar modulation of the pitch, and CV 2 is the Organize modulation (see below)
  • CV Outs: Assignable
  • Encoder: Choose Register, probability, or assign outputs

In many respects, Enigma, Jr. is similar to ShiftReg. But instead of generating a random sixteen-bit register, Enigma, Jr. uses a Register from the Enigma Register Library. Enigma may be used to shape and curate this Library (see https://github.com/Chysn/O_C-HemisphereSuite/wiki/Enigma).

Both outputs are assignable to any of the CV values that Enigma can use. These are:

  • Note: There are five depths of note data, from 3 bits to 7 bits. At 3-bit depth, melodies will be constrained to 8 notes of the selected scale. At 4-bit depth, 16 notes; at 5-bit depth, 32 notes; at 6-bit depth, 64 notes; and, at 7-bit depth, 128 notes (or the entire MIDI note range) is available. The note types look at the least-significant bits of the current Register.
  • Modulation/Expression: The least-significant 8 bits are used to generate a modulation value that's scaled to 0-5 volts. Modulation and Expression are identical for CV.
  • Gate: When bit 0 is 1, the assigned output emits 5V until the next time bit 0 is 0. That is, a high gate will span multiple rotations of the Register
  • Trigger: When bit 0 is 1, a trigger pulse is emitted at the assigned output

Organize

CV 2 is the Organize control. When a Register has advanced to the end of its length, CV 2 is read, and a new Register is loaded, based on the CV 2 modulation. If your Library has Registers marked as Favorites, the CV will choose from among your Favorites. If you have no Favorites selected, the CV will choose at random from among all 40 Registers in the Library.

Enigma, Jr. is in Hemisphere Suite from v1.5.

Enigma is a Shift Register (a.k.a. "Turing Machine") Workstation, designed to enable (nearly) repeatable full compositions by curating a Turing Machine library and chaining Turing Machines into songs. Enigma is in Hemisphere Suite starting with v1.5.

Workflow

Enigma's workflow involves four screens:

  • Library contains 40 Turing Machines (hereafter called "Registers"). As you audition a Register in the Library, you may change its length, probability, and rotation. You may "lock" a Register by designating it as a Favorite.

  • Assign allows you to choose the function of each of the Ornament and Crime's four outputs (A, B, C, D). Each output may be assigned to a source track, a type (note, modulation, gate, or trigger), a scale (for note types), and a MIDI channel (1-16, or Off). On the Assign screen, you may choose whether you're auditioning the Library or the current Song.

  • Song allows you to chain Registers together on up to four tracks. Each track may contain up to 99 steps, for a total of 396 steps. Each step specifies a Register, the number of times that Register repeats, the probability of a bit flip at each step (see "How a Turing Machine Works," below), and the transposition of notes played.

  • Play allows you to control the playback of the song by choosing clock divide and loop per track, resetting and starting the song. It also allows you to visually monitor the song's position.

Navigation and Control Overview

The left encoder chooses screens and screen-level selection. Each press of the left encoder button moves to the next screen (in the order Library -> Assign -> Song -> Play). Turning the left encoder selects items as follows:

  • Library Screen: The Register (A-1 through E-8)
  • Assign Screen: The output (A, B, C, D)
  • Song/Play: The track (Track 1 through Track 4)

The right encoder chooses parameters and values on each screen. Each press of the right encoder button moves to the next parameter from left-to-right, top-to-bottom. Turing the right encoder changes the selected value.

The up and down buttons have different functions on each screen. Each screen will display the function of these buttons for a few seconds. You can dismiss this help by moving any control. During each session, Enigma will pay attention to how long you view the help text and will adjust the time accordingly. If you dismiss a help screen within one second, Enigma will stop showing them to you.

Long-pressing the down button allows you to erase the current song and start over. You will be asked to confirm this action. On the confirmation screen, press the right encoder to erase the song, and the left encoder to cancel.

Long-pressing the left encoder button will send data related to the screen via system exclusive (SysEx) dump. Library, output assignment, and song data can be sent and received separately. Long-pressing the right encoder will return you to th main menu, and send all data via SysEx dump.

How a Turing Machine Works

The original Turing Machine circuit, by Music Thing's Tom Whitwell, works like this: A random sixteen-bit number is generated. On an incoming clock signal, the binary representation of that number is shifted to the left by one bit. A probability check determines whether the last bit (bit 15) of the pre-shifted number is moved back to the beginning (bit 0) during this rotation, or it changes its value. Then, an output value is determined based on the new sixteen-bit number. Originally, this was the bottom eight bits scaled to a voltage output.

How Enigma is Different

Enigma uses Turing Machine-like registers as its source material for composition. In a traditional Turing Machine or Turing Machine-like system, the starting register is different with each session. So if your Turing Machine hits upon a melody or modulation pattern that you like, you need to record it somehow, either with an audio recorder or CV recorder. The philosophy of Enigma is that Turing Machines can be durable and re-usable. When you find something you like, you can lock it in place and save it for later, and use it as part of a larger composition.

Library

The Library is where you manage your Registers. Forty registers are arranged in five banks (A-E) of eight registers (1-8). Use the left encoder to select a register. When you first select a register, it starts with a random sixteen-bit number.

Registers are stored with three pieces of information: The register value itself, the length, and the Favorite status of the Register. Two other controls in the Library (probability and rotation) are only used for shaping the Register.

Note: The Library cannot be accessed or auditioned while a song is playing. If you're trying to get to the Library, but can't, go to the Play screen and stop the playback.

Auditioning the Register

A clock signal into Digital 1 will advance the register and calculate a change based on the probability value. The CV at Outputs A-D will be updated. The voltage present at the outputs is determined by the output assignments (see the Assign screen). By default, the assignments are as follows:

  • Output A: A note quantized to a semitone scale
  • Output B: A modulation amount from 0V-5V
  • Output C: A gate (goes high when bit 0 is on, and low when bit 0 is off, capable of spanning multiple advances)
  • Output D: A trigger (fired when bit 0 is on)

Favorites

If you find a melody, modulation pattern, or trigger pattern that you want to keep, press the up button. This will mark the pattern as a Favorite (a heart icon will indicate this status for each pattern). When a pattern is a Favorite, the following things apply:

  • Probability will no longer alter the pattern
  • The pattern cannot be overwritten by single-Register SysEx dumps
  • The pattern may now be reset using the down button
  • The pattern may now be rotated with the right encoder when the "rotate" icons are shown

When a Register is a Favorite, you may turn off Favorite status by pressing the up button again. When you do this, the probability will always start out at 0%.

Assign

The Assign screen is used to specify how the Ornament and Crime's outputs are used. You select the output with the left encoder, and choose and change parameters with the right encoder. The parameters on the Assign screen, from top to bottom, are as follows:

  • Source: Specifies which Track is routed to the output. A Track may be assigned to any number of outputs.
  • Type: Specifies the type of CV that will be generated by the output. See the Types section below.
  • Scale: Available only for note Types, chooses the scale to which the output is quantized
  • MIDI Channel: Specifies the MIDI channel for the output, or Off

While you are on the Assign screen, you may audition from two sets of data, the Library or the Song. Press the up button to audition from the Library (default), and the down button to audition from the Song. If the song isn't playing, all CV outputs will be at 0V.

Types

The following types of CV output are available, based on the current state of the Register that's being auditioned:

  • Note: There are five depths of note data, from 3 bits to 7 bits. At 3-bit depth, melodies will be constrained to 8 notes of the selected scale. At 4-bit depth, 16 notes; at 5-bit depth, 32 notes; at 6-bit depth, 64 notes; and, at 7-bit depth, 128 notes (or the entire MIDI note range) is available. The note types look at the least-significant bits of the current Register.
  • Modulation/Expression: The least-significant 8 bits are used to generate a modulation value that's scaled to 0-5 volts. Modulation and Expression are identical for CV, but generate different MIDI messages (see below).
  • Gate: When bit 0 is 1, the assigned output emits 5V until the next time bit 0 is 0. That is, a high gate will span multiple rotations of the Register
  • Trigger: When bit 0 is 1, a trigger pulse is emitted at the assigned output

When the MIDI channel is set (that is, it's not Off), the Type also determines the MIDI event that's generated:

  • Note: Sends a Note Off for the output's previous note (if any), and a Note On message based on the specified bit depth. For depths of 3-6, the note is above Middle C (that is, if a three-bit value is 5, the MIDI note number is 65 (Middle C, 60, plus 5). For a depth of 7, the seven-bit value determines the raw MIDI note number. If you want to play notes in rhythm, then set the MIDI Channel of the output to "Off" and specify a MIDI Channel for the next Gate or Trigger output (see below). Note that MIDI output does not observe the Scale setting used by the CV output.
  • Modulation/Expression: The least-significant 8 bits are scaled down to a seven-bit number (0-127) for sending a MIDI modulation or expression event. Modulation is a continuous controller number of 1, and Expression is a continuous controller number of 11, which is often used for relative volume changes.
  • Gate/Trigger: If a Note value was calculated in a previous output, but the MIDI Channel is Off, then that note is considered "deferred." A deferred note will be played if a MIDI Channel is assigned to a subsequent Gate or Trigger output. For MIDI output, Gate and Trigger do the same thing.

Song

Song mode allows you to chain Registers together into long (or short) compositions of up to four Tracks. This is done by creating a series of "Steps" on each Track.

Use the left encoder to choose the Track (Track 1 - Track 4). The right encoder will cycle through the following settings:

  • Step Number: The Step number cursor is a blinking highlighted number showing the current Step number. Use the right encoder to move through the existing steps.
  • Register: Choose a Register (from A-1 to E-8). When the cursor is over the Register selection, the Favorite status and length of the Register will be shown to the right.
  • Probability: Probability is checked each time the Register is advanced, allowing the Register to randomly change over time. Note that this only changes the Register on playback, and not in the Library, regardless of the Register's Favorite status. When a new step starts, each Register is returned to its original form in the Library.
  • Number of Plays: A Register can be played between 1 and 99 times for a single Step.
  • Transposition: For each Step, notes played from the Track can be transposed over an eight-octave range, from -48 semitones to +48 semitones. Transposition is in semitones, regardless of the scale used, allowing you to use this value to specify a diatonic root.

Adding and Deleting Steps

A Track starts out with no Steps. To add a Step, press the up button. This will insert a step after the selected step. The default Register of your new step will be randomly selected from among your Favorite Registers. If you have no Favorites, the default will be A-1.

To delete a Step, press the down button. This will delete the currently-selected step, and the next Step up will now be selected.

Play

Songs may be played from the Assign or Song screens, but the Play screen provides some extra setup and playback control.

As with the Song screen, the right encoder is used to select the Track. This screen is formatted a bit differently, as a table with the following information:

  • Track Number
  • Track Step Location: Shows the Step number, and the number of times the Register has started playing during this step, after the semicolon
  • Clock Divide value: Specifies how many clock pulses are required to advance the Register on this track
  • One Shot/Loop: Specifies whether the Track plays once and stops, or loops. You can set up a short looping triggered rhythm that plays alongside a longer melody; or, a looping melodic ostinato that goes on throughout a composition.
  • Play Status: The play icon, solid, indicates that the Track is playing. The play icon, blinking, indicates that the Track is paused, but will continue playback when the up button is pressed. The stop icon indicates that the Track has run out of material to play.

Pressing the right encoder button alternates between the Clock Divide and the Loop setting on the selected channel.

On the Play screen, the up button toggles between playback and pause. The current status is shown with an icon in the upper-right corner of the screen. The down button resets the song to the beginning.

CV Control

The Digital and CV inputs have the same function whenever a song is being played. These controls are as follows:

  • Digital 1: The master clock. Advances all Tracks, observing the Clock Division of each Track. This is the only CV control that works in the Library
  • Digital 2: Reset the song
  • Digital 3: Reset the song and start playback
  • Digital 4: Toggle between playback and pause
  • CV 1: Gate Song End. When a high signal is sent to this input, the song will stop playing when all non-looping Tracks have ended. This can be used to end a song for recording, without having to fade out.
  • CV 2: Gate Song Repeat: When a high signal is sent to this input, the song will start over from the beginning when all non-looping Tracks have ended. When both CV 1 and CV 2 are un-gated, the default behavior is for looping Tracks to just continue looping until otherwise stopped.

Storage

Internal Storage

As with other Ornament and Crime applications, the state of the Ornament and Crime can be stored by long-pressing the right encoder button, and then long-pressing it a second time at the main menu. This will store the following data for Enigma:

  • All 40 Registers in the Register Library
  • The current output assignments (as seen on the Assign screen)
  • 32 Steps of the current Song
  • The Track settings, Clock Division and One-Shot/Loop (as seen on the Play screen)

The Ornament and Crime's internal EEPROM is too small to save all 396 possible song Steps, so it only saves the first 32 Steps. If the Song is longer than that, then only 32 Steps will be restored when the module is powered up again. To help determine whether your entire song will be saved, there is a percentage counter in the upper-right corner of the Song screen. When your song exceeds 32 steps in length, the percentage will be highlighted. To save the entire song, you'll need to use System Exclusive storage (see below).

System Exclusive Storage

As with all Hemisphere Suite applications, returning to the main menu with a long-press of the right encoder will initiate a SysEx dump of all app data. For Enigma, this includes the entire Register Library, the current output assignments, all Steps of the current song, and the Track settings. If you save this data with a SysEx Librarian, you can dump it back any time Enigma is running to restore the entire app state.

You may initiate dumps of subsets of information by long-pressing the left encoder button. In the Library, this will dump all 40 Registers; on the Assign screen, it will dump the output assignments; on the Song or Play screen, this will dump the Song's steps and Track settings.

When you mark a Register as a Favorite in the Library, Enigma will send SysEx for the single Register. If you send this SysEx back while in the Library, it will be saved to the current Register location, provided that is not marked as a Favorite. If it is, the incoming dump will be ignored.

A single Register dump received outside the Library will be stored in its original location and--again--only if the current occupant of that location is not a Favorite.

EnvFollow is an envelope follower and ducker.

Controls

  • CV Inputs: Signal inputs for channels 1 and 2
  • Outputs: Output 1's output increases as the amplitude of Input 1 increases. Output 2's output decreases as the amplitude of Input 2 increases.
  • Encoder: Gain per channel

Since audio signals are typically much lower than the typical CV range, a gain of up to 31x is provided.

EnvFollow is in Hemisphere Suite starting at v1.4.

Gate Delay is a dual trigger/gate delay loosely based on the Ladik S-189.

Controls

  • Digital Ins: Clock/Trigger input per channel
  • CV Ins: Bi-polar time modulation per channel
  • Outputs: Delayed clock/trigger output
  • Encoder Push: Move cursor between channels
  • Encoder Turn: Set delay time, from 0ms to 2000ms

Gate Delay has a 1ms resolution and a 2 second recording time. Modulation is bi-polar and can change the time by up to 1000ms.

Gated VCA is a VCA for CV, with the ability to gate the first output. It can sort of be used for audio, but works best as an extra CV VCA.

Controls

  • Digital Ins: Digital 1 gates Output A
  • CV Ins: Input 1 is the CV signal and Input 2 is the CV amount
  • Outputs: A/C is silent until Digital In 1 is gated, and B/D is always the VCA output
  • Encoder Turn: Increase and decrease CV Offset

This works like a fairly simple VCA, with the ability to suppress one of the outputs completely, regardless of the CV amount.

Video

LoFi Tape is an audio-rate looper for audio or CV.

Controls

  • Digital Ins: Both digital ins expect a gate signal. Digital 1 pauses playback while the gate is high. Digital 2 records from CV 1 while the gate is high.
  • CV Ins: CV 1 is the signal, which can be an audio or CV signal. CV 2 is Sound-On-Sound, or the balance between the incoming signal and the looped signal.
  • Outputs: A/C is the main output, and B/D is an end-of-cycle trigger
  • Encoder Push: Resets the buffer and records one complete buffer cycle (about 1 second)
  • Encoder Turn: Sets the end point of the buffer

LoFi Tape records at a sampling rate of 2kHz for about one second. Incoming signals are down sampled to 8 bits of resolution.

Video

Logic is a two-input logic module that performs two logical operations at once.

Controls

  • Digital Ins: Two logical operands, in the form of gate signals with high being True and low being False
  • CV Ins: Inputs 1 and 2 set the logical gate when the gate selected for the corresponding channel is "CV"
  • Outputs: Results of the logical operations as a high (5 volt, when True) or low (0 volt, when False) signal
  • Encoder Push: Alternates the cursor between the two channels
  • Encoder Turn: Selects the logical gate or "CV" for each channel

Available gate types are

  • AND: True when both inputs are True
  • OR: True when either or both inputs are True
  • XOR: True when exactly one of the inputs is True
  • NAND: True when either input is False
  • NOR: True when both inputs are False
  • XNOR: True when both inputs are the same

Another option, "CV," is available. When set to "CV," the logical gate type will be set via CV using the corresponding CV input.

LowerRenz is a single Lorenz-only modulation generator based on the O_C's own Low-Rentz Dual Lorenz/Rössler Generator, which is itself based on an Easter Egg from Mutable Instruments Streams.

Controls

  • Digital Ins: A trigger at Digital 1 resets the generator, and a gate at Digital 2 freezes the outputs until the gate goes low.
  • CV Ins: CV 1 is bi-polar modulation for Frequency, and CV 2 is bi-polar modulation for Rho, whatever Rho is
  • Outputs: A/C is the Lorenz X value, and B/D is the Y value
  • Encoder Push: Alternates the cursor between Frequency and Rho, whatever Rho is
  • Encoder Turn: Sets the value at the cursor, either Frequency or Rho. Whatever Rho is.

Video

MIDI In is a monophonic MIDI-to-CV interface that uses the USB port on the back of the Ornament and Crime module. The MIDI interface will appear in your computer as "Hemisphere".

Controls

  • Outputs: Assignable
  • Encoder Push: Cycle cursor between MIDI channel, Out A assignment, and Out B assignment
  • Encoder Turn: Change channel or assignment

Accepts MIDI data from the USB port on the back of the O_C module. If you installed Hemisphere Suite from a hex file, the MIDI driver will be called Hemisphere. If you compiled Hemisphere Suite from source, it will probably be Teensy MIDI.

The following types of MIDI data are assignable to the outputs:

  • Note#: The output is a quantized value based on the MIDI note number
  • Trg: The output is a trigger signal on a MIDI note on message
  • Gate: The output is a 5 volt gate signal, starting at a note on, and ending at the corresponding note off. Since the applet is monophonic, the gate will only pay attention to one note at a time.
  • Veloc: The output is a scaled voltage (0-5 volts) corresponding the to last note's velocity
  • Mod: The output is a scaled voltage (0-5 volts) corresponding to the position of CC#1 (modulation wheel)
  • Aft: The output is a scaled voltage (0-5 volts) corresponding to the aftertouch value
  • Bend: The output is a scaled voltage (-3 to 5 volts) corresponding to the pitch bend value
  • Clock: The output is a clock signal every twelve pulses (eight notes). The clock can be reset by turning the encoder to the right.

The screensaver for MIDI In displays the last six MIDI messages. It will always display note activity on the selected channel. Other data (note off, aftertouch, pitch bend, modulation) will only be shown if that data type is assigned to a CV output.

MIDI In is available in Hemisphere Suite.

Video

MIDI Out is a monophonic CV-to-MIDI interface that uses the USB port on the back of the Ornament and Crime module. The MIDI interface will appear in your computer as "Hemisphere".

Controls

  • Digital Ins: Digital 1 is a gate. A new gate causes MIDI Out to send a new Note On message, with the note based on CV 1
  • CV Ins: CV 1 will be quantized to a MIDI note number, which will be sent when Digital 1 goes high. CV 2 is assignable.
  • Encoder Push: Toggles the cursor between MIDI Out channel, CV 2 function, transposition, and legato
  • Encoder Turn: Set channel, function, transposition, or legato

The CV 2 input may be assigned to one of the following MIDI messages:

  • Mod: Incoming CV will be converted to a CC#1 (modulation wheel) coarse value message
  • Aft: Incoming CV will be converted to an aftertouch message
  • Bend: Incoming CV will be converted a pitch bend message. Pitch bend can be positive or negative, so MIDI Out expects a bi-polar voltage
  • Veloc: Incoming CV will be used to set the velocity value of outgoing Note On messages. If Veloc is not assigned to CV 2, Note On messages will have velocity of 100.

Transposition

Transposition has a range of -24 to +24 semitones, and this number is simply added to the computed note number.

Legato

When Legato is Off, a Note On message is only sent when the gate goes from low to high. In other words, one note needs to be released before the next note can be sent. This option is useful for playing MIDI Out with sequencers, or when using things like LFOs for pitch.

When Legato is On, once the gate goes high, a Note On message is sent. If the note changes, then a Note Off message is sent for the previous note, and a new Note On message is sent for the new note. This option is useful for playing MIDI Out with a CV controller (Tetrapad, Pressure Points, KeyStep, etc.).

Notes

Note 1: There is a ~3 millisecond delay between the time the gate goes high and the note value is read from CV 1. This is because Ornament and Crime has some latency in the ADCs which causes the digital inputs to register first; so some delay is required to give us the best chance of getting the right note.

Note 2: Unlike MIDI In, MIDI Out can be used in pairs.

Metronome is a control system for the Hemisphere internal clock ()

Controls

  • CV Outs: Out 1 sends a clock pulse on the specified multiples of the beat, and Out 2 sends a clock pulse on each beat.
  • Encoder: Sets the tempo of the internal clock

The internal clock provides a way to use Hemisphere's sequencers and other clocked applets without an external clock source. A Clock Setup screen allows changes to tempo and clock multiplier.

To access the Clock Setup screen, long-hold the Down control button for about two seconds. When you release it, the Clock Setup screen will appear. Use either encoder button to move the cursor between the clock source, tempo (in beats per minute), and multiplier (from x 1 to x 24). Turn either encoder to change the value at the cursor. Push either the Up or Down control button to return to Hemisphere's main screen.

If the clock source is set to Internal, you'll see a small metronome icon on the main screen. To start or stop the clock, long-hold the left encoder button. The clock will start or stop when you release the button. While the internal clock is running, any digital input that expects a "clock" signal will respond as though a clock signal is present at the jack.

Metronome is in Hemisphere Suite starting at v1.6.

Mixer:Balance is a two-input CV mixer with a balance control and two complementary outputs.

Controls

  • Inputs: CV 1 and CV 2 are the input signals
  • Outputs: Complementary mixed outputs
  • Encoder: Determines the balance between CV 1 and CV 2

The balance indicator, controlled by the encoder, shows the relationship between the CV 1 and CV 2 signals' relative levels at Output A/C. With the indicator all the way to the left, only CV 1's signal appears at A/C; all the way to the right, only CV 2's signal appears at A/C.

Output B/D is the complement of A/C. That is, the relative levels of CV 1 and CV 2 are the opposite, so that with the balance indicator at the left, only CV 2's signal appears at B/D, etc.

In Mixer:Balance, all signals are attenuated by 50% before being sent to the mix.

Neural Net is a highly-configurable logic processor with six Neurons, each of which can contain one of 11 different logic gates, including a Threshold Logic Neuron. Sources for each logic gate can be any of the eight inputs, any of the six Neurons, or a consistent ON/OFF value. Four Setups can be saved for later use, and Setups can be saved and loaded via MIDI system exclusive.

Basic Controls and Navigation

Neural Net has two basic setup screens, the Selection Screen (which shows all six Neurons), and the Edit Screen (which allows editing and monitoring of a single Neuron). The controls work exactly the same way on both screens, but some changes are only visible from the Edit Screen.

  • Left Encoder: Specifies what is being edited. It can be any of the six Neurons, or the Output assignments.
  • Left Encoder Press: Alternates between the Selection Screen and the Edit Screen.
  • Left Encoder Long-Press: Toggles the All Connections display.
  • Right Encoder: Changes the value at the cursor.
  • Right Encoder Press: Advances the cursor.
  • Up/Down Buttons: Selects which Setup (from 1-4) is active. If the down button is long-pressed, the active Setup may be copied to another Setup.

Selection Screen

The Selection Screen shows an overview of all six Neurons, all inputs, and all outputs. Use the left encoder to choose a different Neuron, or the outputs.

The inputs are on the left side, with the Digital inputs (1-4) under the D, and the Control Voltage inputs (1-4) under the V. When an input is high, its corresponding number's display is reversed.

The outputs (A-D) are on the right side. When an output is high, its corresponding letter's display is reversed. If the outputs are selected, a blinking line will appear to the left of the outputs.

The six Neurons are in the center, with Neurons #1, #3, and #5 at the top, and Neurons #2, #4, and #6 at the bottom. Each Neuron shows the symbol of its selected logic gate. If a Neuron is selected, the logic gate type's name will blink, and lines from the Neuron's source(s) and dotted lines to assigned outputs (if any) will be displayed.

Note: When a new Neuron is selected, the Neuron's editing cursor is reset to the logic gate type. This means that you can use the right encoder to set the gate type without having to go to the Edit screen.

Another Note: Actually, you never have to go to the edit screen. Since the controls work the same way on both screens, you can cursor through the parameters and change everything right from the Selection Screen. But it's hard to do that blind, and you'll probably want to go to the Edit Screen.

Long-press the left encoder to turn on All Connections. This will show source and assignment lines for all Neurons and outputs. Long-press the left encoder again to turn off All Connections.

Edit Screen

Press the left encoder button to alternate between the Selection Screen and the Edit Screen.

The Edit Screen is split into two halves. The left half of the screen shows the logic gate type and the Neuron's parameters. The right half of the screen shows the logic gate symbol, along with its inputs and output state. For the Threshold Logic Neuron, the right half of the screen also allows editing of weights and threshold.

Press the right encoder button to advance the cursor, and turn the right encoder to change the value. The following sources are available: Dig 1, Dig 2, Dig 3, Dig 4, CV 1, CV 2, CV 3, CV 4, Neuron 1, Neuron 2, Neuron 3, Neuron 4, ON, and OFF.

Edit Screen Parameter Names

The meanings of the parameters you'll see on the Edit Screen are below. See Logic Gate Reference for details about what the settings actually do.

  • Opd: Source of an operand of a logical operation (NOT, AND, OR, XOR, etc.). All operands in a logical gate are "commutative," meaning that the resulting state will be the same regardless of the order of the operands.
  • Data: Source of the Data input for the Data Flip-Flop.
  • Toggl: Source of the Toggle input for the Toggle Flip-Flop.
  • Clock: Source of the Clock input for the Flip-Flop.
  • Set: Source of the Set input for the Set-Reset Latch.
  • Reset: Source of the Reset input for the Set-Reset Latch.
  • Den 1-3: Source of a Dendrite input for the Threshold Logic Neuron.

Output Assignment

When the outputs are selected, the Edit Screen shows Outputs A-D, with a Neuron assigned to each. The state of the selected Neurons will be sent to the specified outputs.

Logic Gate Reference

  • NOT is a unary (single-input) gate whose state is the opposite of its operand.
  • AND is a binary (two-input) gate whose state is ON if and only if both of its operands are ON.
  • OR is a binary gate whose state is ON if and only if at least one of its operands are ON.
  • XOR is a binary gate whose state is ON if and only if exactly one of its operands is ON.
  • NAND is a binary gate whose state is ON if and only if at least one of its operands are OFF.
  • NOR is a binary gate whose state is ON if and only if both of its operands are OFF.
  • XNOR is a binary gate whose state is ON if and only if both of its operands are the same value.
  • D-FF is a Data Flip-Flop. When its Clock input goes high, its state becomes the value of its Data input.
  • T-FF is a Toggle Flip-Flop. When its Clock input goes high, its state flips if the value of its Toggle input is ON.
  • Latch is a Set-Reset NOR Latch. When its Set input goes ON, its state becomes ON. When its Reset input goes ON, its state becomes OFF.
  • TL Neuron is a Threshold Logic Neuron, a ternary (triple-input) gate whose state is ON if and only if the sum of the weights of ON inputs (dendrites) exceeds its specified threshold. See here for more information about Threshold Logic Neurons.

Setups

Neural Net has four independent Setups. A Setup consists of information for Neuron logic gate assignments, source assignments, and output assignments. Use the Up and Down buttons to change the active Setup. The active Setup number is shown at the top of all of the Setup screens.

Copying Setups

To copy the information for the active Setup to another Setup, long-press the Down button. When you release the button, a Copy screen will open. Choose the copy's destination with the Up and Down buttons, and then push the right encoder ("[Copy]") to execute the copy. To leave the Copy screen without changing any data, push the left encoder ("[Cancel]") or long-press the Down button again.

If you select a Setup as its own copy destination, the display will change to a SysEx dump screen. The right encoder option becomes "[Dump]". If you push the right encoder, Neural Net will send a system exclusive file containing the data for the active Setup.

Saving Setups

There are two ways to save Setup data.

Save all four Setups in the module: Long-press the left encoder to get to the main menu, then long-press the left encoder again to save data for all apps. A solid rectangle will expand from the middle of the screen to confirm the save operation. The Ornament and Crime module will recall the saved Setups on power-up.

Save using MIDI system exclusive: Follow the SysEx dump procedure from the Copying Setups section above, and capture the system exclusive dump with SysEx librarian software. The restore a Setup from a SysEx dump, simply send the SysEx file back to the module whenever Neural Net is running.

Shortcut: When you long-press the right encoder to go to the main menu, the current Setup's data also is dumped via SysEx.

Notes about System Exclusive:

  • A Setup from a received SysEx dump will always be placed in the active Setup, regardless of the Setup's original location.
  • You can use system exclusive to change Neural Net in an automated way during a performance.
  • Data received from a SysEx dump will overwrite Setups in memory, but not data saved via the first save method; that is, unless you long-press to save the new Setup data, Neural Net will return to its previously-saved state at the next power-up.

Palimpsest is an accent sequencer that composes a pattern by way of a repeated sequence of trigger impressions.

Controls

  • Digital Ins: Clock to Digital 1 advances the sequence step. Digital 2 is the "Brush" input.
  • CV Ins: CV 1 modulates Decompose, and CV 2 modulates Compose
  • CV Outs: A/C is the accent output, and B/D is a trigger output sent when the level of the composed step is around 3V
  • Encoder Push: Moves cursor between Compose, Decompose, and Length settings

Palimpsest for Ornament and Crime is a port of this developer's alternate firmware for Mutable Instruments Peaks.

The idea behind Palimpsest is to write sequences gradually, using a pair of trigger signals. One of the triggers (Digital 1) clocks the sequencer. The other trigger (Digital 2) is a "Brush," which adds a CV value ("Compose") to the current step. If the sequencer is clocked without a brush trigger having arrived during that step, a CV value ("Decompose") is subtracted from that step.

The results can be subtle, with a small Compose value and small or zero Decompose value. Or more dramatic shifts can be made, with larger values.

The sequence length can be between 2 and 16 steps. When the cursor is on the Length setting, the sequence is locked, and incoming triggers will not affect it.

Like twenty years ago, I owned a Kurzweil K2000. It had what we call today--but didn't call back then--an Easter Egg. It was a Pong game that you could play from the panel, and it generated MIDI notes when the ball bounced off a wall.

This is the Pong we all know and love, with a few twists. As a ball bounces its way across the screen, the player defends the left side of the screen with a "paddle," and the module defends the right side. It's an unfair game, though, because the module can't lose. As you return the ball and level up, the ball gets faster, and your paddle gets smaller and closer to your opponent. The odds are not in your favor!

Controls

  • Up/Down Buttons: Move the paddle up and down. This is really to illustrate the use of the buttons' event handler, and you really don't want to play the game with these things.
  • Encoders: Both encoders move the paddle up and down.
  • CV Input 1: Negative values move the paddle up, and positive values move the paddle down. There's a "center detent," a small range that doesn't move the paddle at all. This is to compensate for noise that gets into the ADC.
  • Output A: When the ball bounces off your paddle, a short 5V trigger is sent to Output A.
  • Output B: When the ball bounces off anything else, a short 5V trigger is sent to Output B.
  • Output C: Sends 0 to 4-ish volts, based on the Y position of the ball. 0V is the top of the screen.
  • Output D: Sends 0 to 4-ish volts, based on the Y position of the player paddle. 0V is the top of the screen.

Exercises 1. Create a patch that can be played by this game 1. Create a patch that can play this game

My patch's high score is 24, using Maths and Distro. Update 8/31/2018: 27 with just Maths!

RunglBook is a chaotic shift-register modulation based on Rob Hordijk's rungler circuit.

Controls

  • Digital Ins: Digital 1 is the clock, and Digital 2 freezes the shift register to writing
  • CV Ins: CV 1 is the signal
  • CV Outs: A/C is the Rungle output based on the low three bits, and B/D is the Rungle output based on the high three bits
  • Encoder: Set threshold in semitone increments

When Digital 1 is clocked, the register is shifted one bit to the left, and the signal is read. If the signal exceeds the voltage threshold, bit low bit of the shift register is set to 1. Otherwise, it is set to 0.

If Digital 2 is receiving a gate at the time the clock is received, the register is shifted, but no read is done; instead, the high bit is moved to bit 0.

Three bits of the eight-bit register are scaled to 8 possible values between 0V and 5V, and sent to the outputs. These are the Rungle outputs.

RunglBook is in Hemisphere Suite starting with v1.5.

Scale Duet is a single-channel quantizer that allows you to switch between two user-defined scales. The scales are edited with an on-screen keyboard.

Controls

  • Digital Ins: Digital 1 clocks the quantizer, and Digital 2 is a gate that chooses between Scale 1 (low) and Scale 2 (high)
  • CV Ins: CV 1 is the signal to be quantized.
  • Outputs: A/C is the quantized output for the selected scale
  • Encoder Push: Toggles the note above the cursor ON or OFF. A small square will appear on the keyboard for notes that will be played when that scale is selected.
  • Encoder Turn: Moves through the notes for each scale, and between Scales 1 and 2.

Scale Duet differs from Dual Quantizer in a few important ways:

  • Scale Duet plays from two user-defined scales, rather than pre-programmed scales
  • It quantizes only one value at a time
  • It does not have a continuous mode; it only quantizes when clocked

https://www.youtube.com/watch?v=UKX79rkSdIQ

Scale Editor is a standalone application for editing and managing user-defined microtonal scales, and importing scales from the internal scale library, or via system exclusive. A web-based Scala-to-Hemisphere Suite converter is available (http://www.beigemaze.com/scala), which can generate system exclusive files from Scala documents.

Basic Controls and Navigation

  • CV Input 1/Output A: CV 1 is input for unquantized pitch CV. The quantized pitch appears at Output A, using the currently-selected user scale. Pitch is quantized in real time
  • CV Output B: Quantized pitch for the currently-selected user scale and the selected note.
  • Right Encoder: Selects note or length. Push the right encoder button to toggle between those two functions. For Output B, note selection can be used to set the octave of the currently-selected note's output. On the Import screen, the right encoder chooses the scale, and the right encoder button executes the import.
  • Left Encoder: Changes the value of the currently-selected note by as little as 1.28 cents sharp or flat. Pressing the left encoder undoes the most recent note value change. Long-pressing the left encoder sends a system exclusive dump of the current scale data.
  • Up/Down: Chooses the user scale. Long-pressing the Down button opens the Import screen.

Choosing a User Scale

Press the Up and Down buttons to choose a scale (from USER1 to USER4).

Selecting and Editing Notes

Use the right encoder to choose which note you're currently editing. The value of the note, in cents from the root, is shown at the bottom of the display.

Turn the left encoder to change the value by as little as 1.28 cents. Turn clockwise for sharp, and counterclockwise for flat. Note values cannot overlap or exceed adjacent nodes, so the range of each note will be constrained based on the settings of the next note.

Undo

If you make a mistake, you don't need to remember the old value of the note. Press the left encoder button to undo a note value change. You can undo a change until you select a different note.

Monitoring

You can hear the changes you're making in real time with two different monitoring methods. Both methods update pitch in real time as you make changes:

  • Full Scale Monitoring: Patch unquantized CV into Input 1, and patch Output A into an oscillator. Output A will continuously quantize Input 1 according to the currently-selected scale. The octave played will correspond to the input.
  • Selected Note Monitoring: Output B will continuously output the quantized value of the currently-selected note. You can change the note's octave (within a 5-octave range) by turning the right encoder beyond the first or last note.

Changing Scale Length

User scales may contain between 4 and 16 notes. Press the right encoder button to enter the Scale Length screen. The display will show the number of notes. Now, use the right encoder to choose the number of notes. When you're done, press the right encoder to return to the Note Edit screen.

Importing Scales

The Import screen allows you to copy any scale in the scale library to the currently-selected user scale. Long-press the Down button to enter the Import screen. Then use the right encoder to choose a scale. To import the specified scale into the current user scale, press the right encoder ("[IMPORT]"). If you change your mind, press the left encoder ("[CANCEL]").

System Exclusive

You may initiate a MIDI system exclusive dump of the current scale by long-pressing the left encoder, or by long-pressing the right encoder to return to the main menu. You may capture the system exclusive dump with a sysex librarian program on a connected computer.

To restore a scale from a sysex dump, simply initiate the dump from the computer while Scale Editor is running. The received scale will be placed into the currently-selected scale.

Scala Format Import

With the help of a web-based tool (http://www.beigemaze.com/scala), you can bring Scala scales into Scale Editor. Upload (or paste) your Scala into the tool, and download the SysEx file. See "System Exclusive" (above) for how to send the file to Scale Editor.

For your convenience, sysex files for about 3000 scales from the Scala Scale Archive are available here, along with the original Scala files and instructions:

http://beigemaze.com/downloads/HSScalaArchive.zip

These scales are distributed with the kind permission of Manuel Op de Coul

This applet is a dual Schmitt Trigger with a programmable threshold range.

Controls

  • CV Inputs: Input for each channel
  • Outputs: Gate signal for each channel
  • Encoder push: Alternates between Low threshold, High threshold, and locked
  • Encoder turn: Set Low and High thresholds

A Schmitt Trigger is a type of comparator that provides hysteresis in a modular patch. Each Schmitt Trigger's output goes high when its input crosses the High threshold (default of 2.6V), and stays high until the input goes back below the Low threshold (default of 2.1V).

Schmitt Trigger is in Hemisphere Suite from v1.4.

Scope is a simple CV and clock monitoring tool.

Controls

  • Digital Ins: Digital 1 is a clock for the BPM display. Digital 2 determines the wavelength for the visual display of CV 1 data (as of Hemisphere Suite 1.1)
  • CV Ins: CV 1 goes to the scope, and CV 2 goes to the numeric CV monitor
  • CV Outs: A/C passes CV 1 and B/D passes CV 2
  • Encoder Push: Freezes and unfreezes scope and CV monitor. BPM will continue to function
  • Encoder Turn: Sample rate

The value of the CV monitor is a direct reflection of the O_C's pitch value. It isn't a measurement in any particular units, but 5 volts will be around 7700 or so.

The "sample rate" shown when the encoder is turned is the number of 60µs "ticks" that will elapse between samples. 64 samples will be shown on the display at any time. The display is bi-polar. You can use the encoder to find the best rate at which to view a waveform. Starting at Hemisphere Suite 1.1: If you send a clock to Digital 2 with the same period as the signal to CV 1 (for example, EOR trigger of Maths while viewing a waveform from Maths), Scope is automatically adjust the sample rate for the best view.

Note: Everything's approximate, including the CV passthru.

Video

Sequence5 is a five-step quantized sequencer.

Controls

  • Digital Ins: A clock at Digital 1 advances the sequencer, and a clock at Digital 2 resets to the first step
  • CV Ins: (As of Hemisphere 1.3) CV 1 is a bi-polar transposition control over a two-octave range from -12 to +12 semitones, with CV between -2.5V and +2.5V
  • Outputs: A/C is the quantized CV. B/D sends a trigger when the sequencer gets back to the first step.
  • Encoder Push: Moves the cursor through the note sliders
  • Encoder Turn: Selects the note or mutes the step

Each step is a semitone increment over a 2.5 octave (32-note) range. To change the length of the sequence, you can mute one or more steps by moving the slider all the way down until the slider handle disappears. The clock will skip muted steps.

Video

ShiftReg ("Turing" prior to v1.4C) is a faithful implementation based on Tom Whitwell's original Turing Machine circuit.

Controls

  • Digital Ins: A clock at Digital 1 shifts all bits left, after performing a probability calculation to determine whether the last bit should flip. A gate signal at Digital 2 unlocks probability changes.
  • CV Inputs: CV 1 sets the length. CV 2 is bi-polar modulation of probability.
  • Outputs: A/C is quantized output based on 5 bits, and B/D is voltage output based on 8 bits
  • Encoder Push: Cycles cursor between Length and Probability settings
  • Encoder Turn: Change the selected setting

ShiftReg starts out with a random 16-bit register. The synthesist sets the pattern length and probability.

When a clock is received at digital input 1, ShiftReg determines whether to change the value of the last bit in the pattern (bit length - 1) based on the set probability. At a probability of 0, the bit will never be changed, and at a probability of 100, the bit will always be changed. The entire 16-bit register is shifted, and the last bit's newly-calculated state is added to bit 0.

Note that the old Turing Machine trick of getting a repeating 32-step pattern with a 100% probability is possible here.

The sequence may be "frozen" by setting the probability to 0, or by moving the cursor to the Length setting. When the cursor is at the Length setting, the sequence will not change unless a high gate signal is present at Digital 2. *

ShiftReg has two outputs. The first output is quantized to semitones over a 2.5 octave (32-note) range, and uses the first five bits of the register. The second output uses the first 8 bits of the register, and is proportioned to 5 volts. This output is similar to the output of the original Turing Machine.

* Fun tip! To have total control over when a sequence is changed, set probability to 100%, then move the cursor to the length parameter to lock the probability. Now a high gate signal at Digital 2 will always flip bit 0.

ShiftGate is a dual shift register-based gate/trigger sequencer for creating aleatoric rhythm patterns.

Controls

  • Digital Inputs: Digital 1 clocks the sequencer by shifting both registers to the left, and Digital 2 freezes the sequencer and locks out changes.
  • CV Inputs: Flip input for each channel. When CV is high, the bit rotating off the left side of the corresponding channel's register will be replaced at bit 0 with the opposite value.
  • Outputs: Trigger or gate output for each channel
  • Encoders: Change the length and output type for each channel

ShiftGate has two channels controlled by a single clock input. Each channel starts with a random 16-bit register*. When a clock is received at Digital 1, the following things happen:

  1. The register is shifted to the left.
  2. If Digital 2 is high, the register is frozen; the high bit (based on length) of the previous value is moved back to the beginning (bit 0), and skip to 4.
  3. If the CV input for the corresponding channel is low, the high bit (based on length) of the previous value is moved back to the beginning (bit 0). If the CV input is high, the high bit is flipped, and that value is put at the beginning. This is known as an XOR operation.
  4. The value of bit 0 is examined. If the channel's Type is set to "Trig," then a trigger will be sent from the channel's output if the value is 1. If the channel's type is set to "Gate," the gate state is high if the value is 1. The gate will then remain high until the next time the register's bit 0 is 0.

ShiftGate is in Hemisphere Suite from v1.5.

* When ShiftGate's state is saved via SysEx or system save, Output A's register is saved, and Output B's register is randomized.

Shuffle is a two-step clock offset. Each step can be delayed by between 0% and 99% of the incoming clock tempo.

Controls

  • Digital Ins: Digital 1 is the clock, and a trigger to Digital 2 resets to the first-numbered step
  • CV Ins: Bi-polar modulation of the percentage delay for each step
  • Outputs: Output 1 is the outgoing, potentially-delayed, clock
  • Encoder: Set the percentage delay of each step

Note that reset does not, itself, trigger a clock. It just brings the step back to the beginning so that another clock can trigger the first step.

Video

Skewed LFO is a low frequency oscillator with a waveshape that's adjustable from sawtooth, to triangle, to ramp.

Controls

  • Digital Ins: A clock at Digital 1 resets the LFO
  • CV Ins: CV 1 modifies the rate, and CV 2 modifies the skew
  • Outputs: A/C is the bi-polar CV output, and B/D sends an end-of cycle trigger
  • Encoder Push: Alternates cursor between setting rate and skew
  • Encoder Turn: Adjusts the selected setting

Note the the CV inputs modify the settings with bi-polar CV input between about -2.5 volts and about 2.5 volts. There is a small center detent in the middle of the range in which no modification is made.

Slew is a simple slew (or lag) processor. Two independent channels share the same settings. Channel 1's output is linear, and Channel 2's output is exponential.

Controls

  • Digital Ins: Slew defeat for Channels 1 and 2
  • CV Ins: Input signals for Channels 1 and 2
  • Outputs: A/C is the linear Channel 1 output, and B/D is the exponential Channel 2 output
  • Encoder Push: Select between Rise and Fall
  • Encoder Turn: Increase and decrease Rise or Fall time

When Rise or Fall values are changed, a time (in ms) will briefly appear on the display. This indicates the approximate time that it would take for the linear signal to rise or fall 5 volts. The time between actual voltages will be proportionate to this time, and the exponential signal will take less time.

When a high gate is present at either digital input, the corresponding channel's slew will be defeated. That is, the input will pass through to the output.

Squanch is a pitch-shifting quantizer with a single input and two pitch-shifted outputs. It can be used as a voltage adder.

Controls

  • Digital Ins: A clock pulse at Digital 1 causes Squanch to sample the signal at CV 1 and quantize it. A gate at Digital 2 adds one octave to the output at A/C.
  • CV Ins: CV 1 is the signal to be quantized. CV 2 is a bi-polar shift input that adds (or subtracts, if negative) voltage to or from the output at B/D.
  • CV Outs: Quantized output, pitch-shifted as noted above
  • Encoder: Set shift for each output, or scale

Each channel begins in continuous operation. That is, the incoming CV is quantized at a rate of about 16667 times per second. This might result in undesirable slippage between notes, so clocked operation is available.

To enter clocked operation, send a clock signal to Digital 1. A clock icon will appear next to the selector for the scale to indicate that that quantizer is in clocked mode.

To return to continuous operation, stop sending clock to the quantizer, and then change the scale. As long as no additional clock signals are received, the quantizer will remain in continuous operation.

Squanch is in Hemisphere Suite starting with v1.5.

Video

Switch is a two-channel switch with two switching methods: sequential and gated.

Controls

  • Digital Ins: A clock at Digital 1 switches the A/C output between Signal 1 and Signal 2. A gate at Digital 2 switches the B/D output to Signal 2 .
  • CV Ins: CV 1 is Signal 1, and CV 2 is Signal 2
  • Outputs: A/C is the sequentially-selected output, and B/D is the gated output. The sequential output alternates between Signal 1 and Signal 2, and the gated output sends Signal 1 when digital Digital 2 is low, and Signal 2 when high.

Switch uses a Skyline display to indicate status of each channel. The indicator for each channel also specifies whether Signal 1 or Signal 2 is currently selected.

Note: The Ornament and Crime's circuitry is not made for precision 1:1 reproduction of voltages. The outputs will not exactly match the inputs, so Switch is not suitable for pitch CV. This is inherent to the OC's design and does not indicate poor calibration._

The Darkest Timeline is a CV/MIDI sequencer application for Ornament and Crime. It is included in the Hemisphere Suite firmware from version 1.4.

Functional Concepts

Timelines

Two timelines, each of up to 32 steps, run simultaneously. The timeline at the top of the screen is the Pitch Timeline. The timeline at the bottom of the screen is the Probability Timeline.

Pitch Timeline

The Pitch Timeline controls pitch data. The CV output can be quantized to a specific scale and root note. The MIDI output sends Note On and Note Off messages whose notes are based on the Pitch Timeline. The Pitch Timeline is shown on the top half of the screen, and each step on the timeline is shown as a vertical bar, with taller bars corresponding to higher pitches (or voltages).

Probability Timeline

The Probability Timeline controls the probability of trigger CV firing and of MIDI Note On events being sent. For MIDI notes, the Probability Timeline also determines the velocity of the Note On messages. The Probability Timeline is shown on the bottom half of the screen, and each step on the timeline is shown as a vertical bar, with taller bars corresponding to greater probability of the event being fired (from 0% to 100%).

Length

Set the sequence length by turning the left encoder.

The sequence has a single length value, from 1 to 32 steps. If the sequencer is advanced past the last step, it will return to the first step of the sequence (see "Index" below). If the sequencer is running in reverse, and is reverse past the first step, it will return to the last step of the sequence.

Index

To set the index, press the right encoder to enable the index cursor (a flashing vertical line), and then turn the right encoder to change the index. The index can also be set by providing positive voltage to CV Input 3

Most sequencers have adjustable sequence lengths, but the sequence usually starts at the first step. The Darkest Timeline allows you to choose the sequence's first step, or index, either from the panel or via CV. When the sequence is reset, it will go back to the index. When the sequence is advance past its last step, it will go back to the index.

The index is shown as a dashed vertical line. Pressing the right encoder button will toggle the right encoder's function between scrubbing through the sequence and setting the index.

Outputs

Pitch Timeline Universe

Outputs A and B are connected to the Pitch Timeline. Output A is the pitch of the left-most step on the display. This is the "Normal Universe" output.

Output B is the "Parallel Universe," which is the corresponding step in the set of steps after the last step in the sequence. Okay, that sounds confusing, so here's an example. Let's say you have a length of 8, and your index is step 1. So your Normal Universe is steps 1, 2, 3, 4, 5, 6, 7, and 8. Meanwhile, Output B will play steps 9, 10, 11, 12, 13, 14, 15, 16.

If the length is greater than 16, the Normal and Parallel Universes will share steps. If the length is 32, the Normal and Parallel Universes will be identical.

Probability Timeline Universes

Outputs C and D are connected to the Probability Timeline. When the sequencer is advanced to a step, a probability is calculated based on the value in the Probability Timeline. Output C emits a trigger based on this probability; the higher the bar, the higher the probability of C emitting a trigger. At its maximum, the trigger will always fire. At its minimum, the trigger will never fire. This is the "Normal Universe" probability output.

Output D is the "Alternate Universe," which is a trigger based on the complementary probability of the Probability Timeline; if a trigger has a 70% chance of firing in the Normal Universe, it has a 30% chance of firing in the Alternate Universe. The probabilities for both universes are calculated independently, so it's possible for both outputs to fire, or both outputs to not fire on the same step.

MIDI Output Universes

To set MIDI channels, press the left encoder button to enter the Setup screen, and keep pressing the button until you get to the MIDI settings. Then use the left encoder to change the channel.

The Darkest Timeline may send notes independently on up to two MIDI channels. The first of these is the Normal Universe, which is a Note On message that may (or may not) be sent, depending on the probability in the Probability Timeline.

The other MIDI out channel is the Alternate Universe, which uses the Parallel Universe's Pitch Timeline values and the Alternate Universe's Probability Timeline values.

In both cases, the velocity of the Note Out message is proportional to the Probability Timeline value used for the calculation.

Setup Screen

To access the Setup screen, press the left encoder button.

The Setup screen allows you to set the tuning and MIDI settings. Use the left encoder button to move through the settings (and back to the main screen), and use the left encoder to change the selected value. After a short period of inactivity on the Setup screen, you'll be returned to the main screen. Available settings are:

  • Scale: Chooses one of the User or built-in scales. This will be used to quantize the CV outputs. It does not affect MIDI output.
  • Root: Sets the diatonic root note based on the selected scale. This will be used to quantize the CV outputs. It does not affect MIDI output.
  • MIDI Out: Sets the MIDI channel for the Normal Universe MIDI output, as described above. If this is set to Off, there will be no MIDI notes sent from that universe.
  • MIDI Out Alt: Sets the MIDI channel for the Alternate Universe MIDI output, as described above. This this is set to Off, there will be no MIDI notes sent from that universe.
  • MIDI In: Determines whether the recording source is CV or MIDI. If you're recording from CV, this should be set to "Off." Otherwise, input for recording will be expected on the specified channel.
  • Gate/Trigger: Determines whether the Probability Timeline (outputs C and D) will send a 6ms trigger, or a gate that's a percentage of the clock period.

Playback Controls

CV Control of Playback

Inputs: * Digital 1: A trigger will advance the sequencer forward (by default) or backward * Digital 2: When gated, a trigger at Digital 1 will move the sequencer backward * Digital 3: Reset the sequencer to index * Digital 4: When gated, all probabilities are 100% * CV 1: CV record value for Pitch Timeline * CV 2: CV record value for Probability Timeline * CV 3: Set the index (0V ~ 5V) * CV 4: Transpose by adding positive or negative voltage to the Pitch timeline

Outputs: * Output A: CV: Pitch Timeline, Normal Universe * Output B: CV: Pitch Timeline, Parallel Universe * Output C: Trigger: Probability Timeline, Normal Universe * Output D: Trigger: Probability Timeline, Alternate Universe (complementary probability of Output C)

Panel Control of Playback

  • Left Encoder: Change sequence length (clockwise to decrease, counterclockwise to increase) from 1 to 32 steps
  • Press Right Encoder: Toggle Index editing
  • Right Encoder with Index editing off: Scrub through the sequence. If the sequencer is not being clocked with CV 1, calculate probabilities and potentially fire triggers.
  • Right Encoder with Index editing on: Change the index. If the sequencer is not being clocked with CV 1, calculate probabilities and potentially fire triggers.

Recording

Recording is enabled independently for each timeline. Press the Up button to enable recording for the Pitch Timeline, and the Down button to enable recording for the Probability Timeline. Pressing the button a second time will disable recording on the corresponding timeline.

CV Recording

If the MIDI In channel is not set on the Setup screen, recording is done via CV. Connect CV sources to CV 1 (for recording into the Pitch Timeline) and/or CV 2 (for recording into the Probability Timeline), and enable recording on one or two timelines, as specified above. When recording is enabled for a timeline, the leftmost step will display a flashing cursor.

When recording is enabled, and set to record CV, a small "CV" icon will appear at the top of the screen.

To record data to the cursor point(s), set the CV at the corresponding input(s), and then advance the sequencer. You can advance the sequencer with a trigger to Digital 1, or by turning the right encoder.

MIDI Recording

If the MIDI In channel is set on the Setup screen, recording is done via MIDI. Connect your O_C module to a MIDI host (usually a computer), choose "Hemisphere" as the MIDI device, and set the output channel to correspond to The Darkest Timeline's MIDI In channel. When recording is enabled for a timeline, the leftmost step will display a flashing cursor.

When recording is enabled, and set to record MIDI, a small MIDI DIN icon will appear at the top of the screen.

To record data to the cursor point(s), play a note. A value proportional to the note number will be recorded to the Pitch Timeline (if recording is enabled), and a value proportional to the velocity will be recorded to the Probability Timeline (if recording is enabled). The sequencer will advance automatically with each note.

Please note that a trigger at Digital 1 will also advance the sequencer, so you probably want to turn off these triggers while recording MIDI data.

Saving The Darkest Timeline Data

The Darkest Timeline's data can be saved in two ways:

(1) With the built-in Ornament and Crime data storage system Return to the main menu by long-pressing the right encoder. Then, long-press the right encoder again. This will save the state of all applications in the module.

(2) System Exclusive Librarian Your current sequence (both Timelines, length, index, scale, and root) can be dumped to a system exclusive librarian program on a computer for (somewhat) permanent storage. When you long-press the right button to return to the main menu, the sysex dump will be initiated. When setting up your librarian software, select Hemisphere as the MIDI device.

The Darkest Timeline sends your sequence as five sysex messages, so make sure that your librarian captures all of them and stores them in the same file.

To restore your sequence, simply send the dump back any time The Darkest Timeline is running.

Compatibility Note: The Darkest Timeline 2.0 is fully-compatible with sysex files from the previous version. The only difference is that scale and root will not be changed.

Misc. Controls

  • Long-Press Left Encoder: Randomize both timelines.
  • Long-Press Down Button: Clear both timelines.

Video

Threshold Logic Neuron is a three-input programmable logic gate.

Controls

  • Digital Ins: Logical states of Dendrites 1 and 2
  • CV Ins: CV 1 is the logical state of Dendrite 3 (5 volts is high, or True)
  • Outputs: A/C and B/D are the output of the Axon. Both outputs are the same so that one may be patched back to an input, if desired.
  • Encoder Push: Cycle cursor between Dendrite 1, 2, and 3 weight, and Axon threshold
  • Encoder Turn: Set the selected weight or threshold

Threshold Logic Neuron is a three-input/single-output logic gate. Each of three inputs ("Dendrites") is given a weight (in the case of Hemisphere, a weight of between -9 and 9). The output ("Axon") is given a threshold (in Hemisphere, between -27 and 27). When the sum of the weights of high inputs exceeds the threshhold, the output goes high.

The neuron can be used to reproduce common logic gates; for example:

  • Dendrite 1: w=3
  • Dendrite 2: w=3
  • Dendrite 3: w=3
  • Axon Output: t=8

This reproduces and AND gate, because all Dendrites need to go high (for a sum of 9) to exceed the threshold of 8.

  • Dendrite 1: w=3
  • Dendrite 2: w=3
  • Dendrite 3: w=3
  • Axon Output: t=2

This reproduces an OR gate, because only one Dendrite needs to go high to exceed the threshold of 2.

The values can also be negative. So

  • Dendrite 1: w=-3
  • Dendrite 2: w=-3
  • Axon Output: t=-5

This is a two-input NAND gate, because the output is high (because 0>-5) unless both Dendrite 1 and 2 are high, which brings the sum below the threshold.

But you're not limited to reproducing standard Boolean operations. You can create your own logical operations. For example, you can do this:

  • Dendrite 1: w=2
  • Dendrite 2: w=2
  • Dendrite 3: w=5
  • Axon Output: t=3, and mult the output into Dendrite 3

This creates a type of state memory: when Dendrites 1 and 2 go high, the output goes high (2+2>3), and the output is sent back to Dendrite 3, which forces the output to remain high, whatever happens to Dendrites 1 and 2 later.

A variation of that theme is

  • Dendrite 1: w=2
  • Dendrite 2: w=-2
  • Dendrite 3: w=2
  • Axon Output: t=1, and mult the output into Dendrite 3

Now, Dendrite 1 fires the axon, which feeds back into itself. Dendrite 1 can go low again and the output stays high. But a high signal at Dendrite 2 will reset the memory unless Dendrite 1 is still on.

Trending is a dual slope detector with assignable outputs.

Controls

  • Inputs: CV 1 and CV 2 are the incoming signals for each channel
  • Outputs: Outputs A/C and B/D are assignable, and correspond to CV 1 and CV 2 channels
  • Encoder: Assigns output functions, sets Sensitivity

The following functions can be assigned to each output:

  • Rising: The assigned output is a gate, which is high when the signal is rising
  • Falling: The assigned output is a gate, which is high when the signal is falling
  • Steady: The assigned output is a gate, which is high when the signal is steady
  • Moving: The assigned output is a gate, which is high when the signal is rising or falling
  • ChgState: The assigned output emits a trigger when the signal changes from one state to another (e.g., rising to steady, steady to falling, falling to rising, etc.)
  • ChgValue: The assigned output emits a trigger when the signal changes its value by more than 1/4 semitone (or about .02V)

Sensitivity

The sensitivity control can be used to fine-tune the response of the slope detector. At lower settings, the detector will respond more slowly, but will be more consistent. At higher settings, the detector will respond faster, but may change direction more erratically.

Trigger Sequencer 16 is a 16-step trigger sequencer. It's visually and functionally similar to Trigger Sequencer, except it's 1x16 instead of 2x8.

Controls

  • Digital Ins: A clock at Digital 1 advances the sequence. A trigger at Digital 2 resets sequence.
  • CV Ins: While a gate is present at CV 1, the A/C and B/D outputs are swapped
  • Outputs: A/C is the sequence's trigger output, and B/D the NOT trigger output
  • Encoder Push: Cycles cursor between editing 4-step parts of the sequence and sequence length
  • Encoder Turn: Adjust the selected setting

The cursor appears over four steps at a time. Turning the encoder selects a binary representation of the bit pattern. Each quarter of the sequence has sixteen possible values. That is, turning the encoder clockwise will cycle through

  • (silence)
  • ---X
  • --X-
  • --XX
  • -X--
  • -X-X
  • -XX-
  • -XXX
  • X---
  • X--X
  • X-X-
  • X-XX
  • XX--
  • XX-X
  • XXX-
  • XXXX

Video

Trigger Sequencer is a dual eight-step trigger sequencer.

Controls

  • Digital Ins: A clock at Digital 1 advances both sequences. A trigger at Digital 2 resets both sequences to the top.
  • CV Ins: While a gate is present at CV 1, the A/C and B/D outputs are swapped
  • Outputs: A/C is Channel 1's trigger output, and B/D is Channel 2's trigger output
  • Encoder Push: Cycles cursor between editing first and second half of Channel 1, length of Channel 1, first and second half of Channel 2, and length of Channel 2.
  • Encoder Turn: Adjust the selected setting

The cursor appears over four steps at a time. Turning the encoder selects a binary representation of the bit pattern. Each half of the sequence has sixteen possible values. That is, turning the encoder clockwise will cycle through

  • (silence)
  • ---X
  • --X-
  • --XX
  • -X--
  • -X-X
  • -XX-
  • -XXX
  • X---
  • X--X
  • X-X-
  • X-XX
  • XX--
  • XX-X
  • XXX-
  • XXXX

Tuner is a chromatic tuner with adjustable A4 setting.

Important: Tuner can only run in the right hemisphere. It will remind you if you try to place it in the left. This is because technical reasons beyond my control.

Controls

  • Digital Inputs: Digital 2 is the oscillator input
  • Encoder: Set A4 frequency
  • Encoder push: Reset tuner

The A4 frequency has a range of 400-500Hz. The closest note is displayed under the frequency. Under that, it shows how far off from that note in cents the input is. When the note is in tune, it will become highlighted.

If Tuner seems to stop responding, push the encoder button to reset it.

Yeah, that's about it. It's a tuner.

Tuner is available from Hemisphere Suite v1.4.

Video

VectMorph is morph controller inspired by the Doepfer A-144, and based on Vector Oscillator waveforms. There is a variety of built-in waveforms from which to choose, or you can create your own with the Waveform Editor.

Controls

  • CV Ins: With Linked Mode enabled, CV 1 controls the phase of A/C and B/D outputs. With Linked Mode disabled, CV 1 controls the phase of A/C and CV 2 controls the phase of B/D (see Linked Mode below)
  • CV Outs: Morph controller outputs
  • Encoders: Alternate between Phase Offset and waveform for each channel

The Vector Morph Controller (VectMorph) is a modulation source for sending phase-offset output to one or more destinations. A typical use case would involve sending overlapping phased triangular waves to control a voltage-controlled mixer.

Each channel can be assigned a Phase Offset, in degrees. This offset is added to the voltage-determined phase to determine the current amplitude of the channel's output.

Linked Mode

By default, CV 1 controls the phase of both channels. This is Linked Mode. You can use two instances of the Vector Morph Controller, one in each hemisphere, to control up to four things. To use Linked Mode in both hemispheres, mult one hemisphere's CV 1 input to the other hemisphere's CV 1 input (as demonstrated in the video).

If you wish to control the phase of each channel independently, just send some voltage to CV 2. This will disable Linked Mode, and the Link icon will disappear. To return to Linked Mode, stop sending voltage to CV 2, and use the encoder to change the waveform of either channel.

Vector Morph Controller is in Hemisphere Suite starting with v1.6.

VectorEG is a dual envelope generator based on Vector Oscillator waveforms. There is a variety of built-in waveforms from which to choose, or you can create your own with the Waveform Editor.

Controls

  • Digital Ins: A gate at each input starts and sustains the corresponding EG.
  • Outputs: Output A/C is the signal for EG 1, and Output B/D is the signal for EG 2
  • Encoders: Push to alternate the cursor between EG 1 frequency, EG 1 waveform select, EG 2 frequency and EG 2 waveform select.

The EG runs freely until it gets to the second-to-last segment, and sustains at that point. When released, it proceeds to the level of the final segment at the speed specified by the final segment.

Unlike a traditional envelope generator, the speed of the envelope is determined with a single frequency control. The higher the frequency, the faster the envelope will run.

The outputs are uni-polar, and with positive offset, so that a level of -128 in the Waveform Editor corresponds to 0V, and a level of 127 is 5V.

VectorEG is in Hemisphere Suite starting with v1.6.

Vector LFO is a dual low-frequency oscillator based on Vector Oscillator waveforms. There is a variety of built-in waveforms from which to choose, or you can create your own with the Waveform Editor.

Controls

  • Digital Ins: A trigger at each channel syncs the corresponding LFO
  • CV Ins: CV 1 is bi-polar modulation of the frequency of LFO 1. CV2 is attenuation of the amount of LFO 1 that's fed into Output B/D.
  • Outputs: Output A/C is the signal for LFO 1. Output B/D is the signal for LFO 2 mixed with the signal for LFO 1, with the mix based on the input to CV 2.
  • Encoders: Push to alternate the cursor between LFO 1 frequency, LFO 1 waveform select, LFO 2 frequency and LFO 2 waveform select.

The LFO range is from .10Hz to 999Hz.

Output A/C and LFO 1

Output A/C is a the output of only LFO 1. LFO 1 can be synchronized with an external clock at Digital 1, and its frequency can be modulated over a 30Hz bi-polar range with CV 1.

Output B/D and LFO 2

Output B/D is a mixed output. By default, it is a 50%/50% mix of LFO 1 and LFO 2. Increasing voltage to CV 2 causes increasing attenuation of the LFO 1 signal. At 5V, the LFO 1 signal will be absent at Output B/D.

Manual Oscillator Reset

When a new waveshape is selected from the panel, both LFO 1 and LFO 2 will be reset to the beginning of their respective cycles.

VectorLFO is in Hemisphere Suite starting with v1.6.

VectorMod is a dual triggered one-shot or cycling modulation source based on Vector Oscillator waveforms. There is a variety of built-in waveforms from which to choose, or you can create your own with the Waveform Editor.

Controls

  • Digital Ins: A trigger at each input starts the corresponding Modulator
  • CV Ins: A high signal (gate) at each input causes the corresponding Modulator to cycle
  • Outputs: Output A/C is bi-polar the signal for Mod 1, and Output B/D is the bi-polar signal for Mod 2
  • Encoders: Push to alternate the cursor between Mod 1 frequency, Mod 1 waveform select, Mod 2 frequency and Mod 2 waveform select

The speed of the Modulator is determined with a single frequency control. The higher the frequency, the faster the Modulator will run.

VectorMod is in Hemisphere Suite starting with v1.6.

Voltage is a dual gate-activated fixed-voltage emitter.

Controls

  • Digital Ins: Gate for each channel
  • CV Outs: For each channel, outputs specified voltage or 0V, depending on gate state
  • Encoder: Determine gate behavior for each channel

The voltage range is -3V to +5V, selectable in 1 semitone (approx. .08V) increments.

For output, there are two gate states available:

  • G-On: When the gate of the corresponding digital input is high, the output is the specified voltage. Otherwise, it's 0V.
  • G-Off: When the gate of the corresponding digital input is low, the output is the specified voltage. Otherwise, it's 0V.

The indicator over the output name (A,B,C,D) will display when the corresponding output is emitting non-zero voltage.

Voltage is available in Hemisphere Suite from v1.4.

Note: This documentation is for an unreleased feature in Hemisphere Suite. It will be released with Hemisphere Suite 1.6 on October 26, 2018.

Waveform Editor is an application for creating, editing, and saving Vector Oscillator waveforms.

What is a Vector Oscillator Waveform?

Waveforms are described by as few as two, and up to twelve segments. Each segment has a bi-polar level (between -128 and 127) and a time (between 0 and 9). The level and time are not fixed values, but depend on the application and its settings.

Vector Oscillators are used in four Hemisphere applets:

  • VectorLFO, as a cycling bi-polar modulation source
  • VectorEG, as a non-cycling uni-polar gated envelope generator with sustain and release
  • VectorMod, as a bi-polar triggered modulation source that can be either cycling or non-cycling
  • Boots 'n Cats, as an audio oscillator and drum envelope generators

Level

The Level (-128 to 127) is scaled to the specific application. For example, the VectorLFO's range is -3V to 3V. When a Vector Oscillator is started, its signal level is set to the Level of the last segment, and immediately starts moving to the Level of the first segment, based on the segment's Time (see below).

Time

The Time of a segment specifies time relative to other segments in the waveform. Two segments with the same Time value will take the same time to complete, regardless of what that value actually is. The total time that it takes a segment to reach its Level will depend upon the Time value (specifically, its ratio to the sum of all Time values in the waveform) and the waveform's frequency (see below).

Frequency

Each Vector Oscillator application provides one or more ways to affect an oscillator's frequency. In most cases, a value in Hertz (cycles per second) is provided, which expresses how fast the oscillator will cycle (if it is cycling). Each segment in the waveform will be scaled based on its Time and the current frequency. Note that Hz values are approximate, due to hardware and software numeric precision limits.

Basic Controls and Navigation

  • Left Encoder: Turn to move through the waveform's segments. The selected segment will be a solid line. Press the left encoder button to insert a new segment after the selected segment. Long-press the left encoder button to delete the selected segment. Note: You cannot delete a segment if it would leave the waveform with fewer than 2 segments, or if it would leave the waveform with a total Time of 0.
  • Right Encoder: Press to switch the cursor between editing of Level and Time. Turn the right encoder to set the selected segment's Level between -128 and 128, or the selected segment's Time between 0 and 9.
  • Up/Down Buttons: Press to select a waveform. Long-press the Down button to activate a page to add a new waveform, or delete a waveform. Note: You cannot delete the last waveform, and you cannot add a waveform if there are fewer than 3 segments remaining.
  • For jack I/O functions, see Monitoring below.

Segment Memory

Hemisphere Suite allocates 63 segments of waveform memory. The upper-right corner of the screen shows how many segments are remaining. You may add as many waveforms as you like, with the following limitations:

  • At least 3 segments must be available to create a new waveform. This is because each waveform uses one segment as a table-of-contents entry, and each waveform must have at least two Level/Time segments.
  • Each waveform may use up to 12 Level/Time segments

Choosing a Waveform

Press the Up and Down buttons to choose a waveform.

Selecting and Editing Segments

Use the left encoder to move through the segments. The selected segment will be shown as a solid line.

Press the right encoder button to alternate the cursor between Level and Time. Turn the right encoder to set that value for the selected segment.

Adding and Deleting Segments

To add a new segment, press the left encoder button. A new segment will be inserted after the selected segment, and the newly-created segment will become selected. You cannot add a segment if the waveform already has 12 segments.

To delete a segment, long-press the left encoder button. The selected segment will be deleted, and the next segment will become selected. You cannot delete a segment if doing so would leave only one segment in the waveform. You also cannot delete a segment if doing so would leave the waveform with a total Time of 0.

Monitoring

You may monitor the waveform you're editing in four different ways, one for each output:

  • Out A: Bi-polar LFO (default 1Hz) - Modulated by CV 1
  • Out B: Bi-polar audio rate oscillator (default 440Hz) - Modulated by CV 2
  • Out C: Uni-polar gated EG with sustain and release - Gated by Digital 3
  • Out D: Bi-polar triggered one-shot modulation - Triggered by Digital 4

Saving Waveforms

Waveform data can be saved in two ways:

(1) With the built-in Ornament and Crime storage system Return to the main menu by long-pressing the right encoder. Then, long-press the right encoder again. This will save the state of all applications in the module.

(2) System Exclusive Librarian Your current waveform library can be dumped to a system exclusive librarian program on a computer for permanent storage. When you long-press the right button to return to the main menu, the sysex dump will be initiated. When setting up your librarian software, select Hemisphere as the MIDI device.

Waveform Editor sends your waveform library as four sysex messages, so make sure that your librarian captures all of them and stores them in the same file.

To restore your waveforms, simply send the dump back any time Waveform Editor is running.

500+ Samples of the Noise Engineering Basimilus Iteritas Alter for $5

Support SynthModes by buying our new sample pack. Free demo pack available!