Skip to content
Branch: master
Find file Copy path
Find file Copy path
1 contributor

Users who have contributed to this file

211 lines (163 sloc) 8.79 KB

Skylights and SkJack modules are free but developing, debugging, and keeping up with Rack updates is not. 3$ is an hour that can be spent with Rack instead of doing menial typing labor on job markets.


What Note?

The What Note? is a CV tuner with a digital display. It shows the semitone, octave, cents and absolute voltage of the signal which enters its port.

Turing Machines


The ALAN is an SK version of Tom Whitwell’s Turing Machine. I wrote it because the original Turing Machine is open hardware, and so the virtual version should be open source too[fn::There is also a weird rite of passage that one build their own Turing Machine when they start building Eurorack components, as the Turing Machine is a common first project despite its complexity.].

PortWhat it does
Lock KnobControls the probability that bits in the sequence are flipped.
OutOutputs the last eight bits of the sequence, run through an 8-bit DAC.
GateOutputs high if the final bit is lit (represented by a bar through the LED.)
WriteForces new bits to always be zero.
PoleSets whether the DAC emits a unipolar or bipolar signal.
ScaleScales the outgoing signal from the DAC.

ALAN sequences are also exported over the XPND interface. This allows one or more expanders to access the sequence and provide linked functionality.

Lock knob

Use of the lock knob is the primary way to control a Turing Machine sequencer. Rotating the knob places it in to a different “mode” which determines how much variation will be introduced to the existing sequence over time.

Beta side
sequence loops indefinitely.
around one in eight bits is changed.
approximately every other bit is flipped.
Alpha side
every bit is flipped.

There is a CV port beneath the lock kob. When a patch cable is connected to this, the knob is ignored and the control voltage takes its place. CV signals should be within [0V, 10V].


When the write switch is set, bits are always set to zero when they scroll past the right side of the display. This can be used to manually clean up a busy sequence or to clear the sequencer after enough steps pass.


When the bit on the far right of the display is set (the light is blue), gate will output a high signal. Otherwise gate will output a low signal.


The pole switch allows you to set the module output between unipolar [0V, 10V] or bipolar [-5V, 5V] modes.


The scale knob allows you to attenuate or boost the output signal. By default this is set to 1, which covers a single octave in unipolar mode.


Out will perform an analogue to digital encoding of the 8 visible bits on the display, scale the signal through the Scale knob and perform a polarity shift depending on the UNI/BI switch.


While a turing machine sequencer is not designed to hold on to state forever, ALAN does write its internal sequence to JSON. This means:

  • A locked sequence is saved along with your .vcv file, and,
  • You can right click and use Save preset or Open preset to keep a library of locked sequences.

Patching ideas

Turing sequencers can drive an entire synthesizer cabinet; an external clock feeds pulses in, while Out and Gate produce notes or rhythms. Connecting Out to a note quantizer and further to a VCO can produce melodies over time. Using two turing sequencers, you can have a separately generated melody and rhythm that are independently evolvable.

When an oscillator is used as the clock, turing sequencers are driven at audio rates and behave similar to 8-bit wavetable synthesizers. Placing the lock knob will then control the amount of “grit” present in the sound, from 8-bit white noise to a more normal waveform.

Volts (Turing Expander)

PortWhat it does
InFeeds signals to the mixer.
KnobsAttenuverts the respective input signal. Clamped to the range [-1V, 1V].
OutStereo output of the mixer. Clamped to the range [-5V, 5V].

Volts is an expander for the ALAN based on Tom Whitwell’s own “Volts” expansion module.

Volts reads the last eight bits of a sequence generated by ALAN. This means you need an ALAN (or ALAN XPND-compatible module) in conjunction with a Volts. Each bit corresponds to an LED on the faceplate.

Input signals are fed in through the audio ports, then attenuverted based on their corresponding knobs. Each knob also has two LEDs that display if that channel will be added to the left, right, or both output channels.

Pulses (Turing Expander)



When a clock signal is connected, outputs from this module only happen both at the correct steps and when the incoming clock signal is high. If you do not have a cable plugged in to this port the outputs operate as gates instead of pulses.


See XPND Ports.

Vactrol (Turing Expander)

The Vactrol mixer accepts four incoming signals, passes them through four independent attenuvators, then outputs them to the left and/or right output channels depending on the state of a turing machine connected via the XPND port.



See XPND Ports.


Single channel audio signals going in to the mixer.


The left and right output channels from the mixer.


Each knob controls an internal attenuvator; the knobs from top to bottom represent the same input as the input jacks from top to bottom.

XPND Ports

The expansion port encodes the internal 16-bit sequence of an ALAN to a [0V, 10V] control voltage. XPND does not obey any scale or pole settings. You can use this to drive other modules in your patch, but its primary purpose is connecting to expanders.

Internally an unsigned 16-bit integer is converted to a double and divided against 65,535.0 and then normalized to 10V. Expansion modules perform these steps in reverse to regain access to individual rhythm bits.

Note that Volts only reads the five least significant bits of the sequence regardless of however many are live.


PortWhat it does
AllTriggers all channels to sample new noise.
TurbulenceControls amount of noise added to each channel.
InCV to have noise added.
SailTriggers a single channel to sample new noise.
BIPWhether noise is bipolar.
OutInput CV with attenuverted noise added.

ADRIFT is based on the idea of using a sample and hold, connected to a noise source, as a means of adding minor amounts of flavor to notes. It simplifies the need for multiple Kinks, VCAs and mixers when all you want is just a little bit of drift to your attacks.

DetunersSample & Holds
Continue to change V/Oct CVs throughout a note.Lock the noise added during a note.
Usually allow a single input with multiple separately detuned outputs.Usually a single input, single output.

Sail is always handled prior to coloring and outputting signals throughout each channel. This means you can connect the Gate or Retrig from note inputs to Sail and attacks will appropriately receive detuned input.

ADRIFT does not sample new noise unless explicitly told to (via a high pulse to either All or a Sail port.) Retriggering while a note is probably fun but will be abrupt–you will need to bring your own slew limiter if smoothness is desired.


Skylights itself is available under the BSD license.

Custom graphics were designed by github user @infamedavid (David Rodriguez), provided under CC-BY.

Skylights is based on the Rack plugin template, which was provided under CC-0.

You can’t perform that action at this time.