I'm pretty sure it was this Sequential Circuits Model 800 Sequencer Demo that piqued my interest in obtaining one. I eventually did, and it's become one of my favorite pieces of studio gear. Despite its age and lack of non-volatile memory, for me it's still one of the coolest sequencers I've used. I encourage you to check out Synthesizer Keith's YouTube channel where he has a few videos showing what it can do.
One of the things that intrigued me right off the bat was the abundance of I/O on the backside of the device, particularly the variety of jacks intended for external control or for daisy-chaining multiple Model 800s. It was all very mysterious when I first got it, and the manual only made reference to an accessory cable that seemed lost to the mists of time. I knew there was an accessory foot pedal, but I wasn't really interested in that, and it seemed like unobtainium anyway.
My focus was initially on how to send external clock signals from my modular synth to the Model 800. I eventually got the information I needed to make my own cables for that, but for a while all I could do was probe the funny old Cinch-Jones jacks on the back, determined to learn what I could in hopes that someday I could interface the Model 800 with my other equipment. We were all in COVID lockdown anyway, so what else was I going to do?
In the process, I found I could get some unexpected and unexplained clocking behavior out of this old sequencer, and what's more, I could replicate it. I felt like a hacker (in the non-nefarious sense of the word):
"... to expose or add functionality to a device that was unintended for use by end users by the company who created it." --Wikipedia entry for 'hacker culture'
Types of Clock
There are a couple flavors of "clocks" and "clocking" on the Model 800, and those are clock references and clock sources. A clock reference is a static oscillating signal that's recorded and stored along with a sequence, and read when playing back the sequence. A clock source is any oscillating signal or pulse train that advances the sequence. A clock reference is not required to advance a sequence, but a clock source is.
The 800 makes it possible to perform sequences in real-time and have the performance faithfully reproduced. This is accomplished by recording a clock reference along with the sequence, and this provides the 800 a backdrop against which the stored notes can be placed in time. If you fumble the timing of a note while performing the sequence, that fumble lands in a specific location in time, relative to the clock reference, and it will be reproduced exactly as it occurred. There's no concept of quantization when creating sequences in this way.
On the other hand, rather than using an oscillator as a reference, there's a procedure you can follow whereby you manufacture a clock reference, and by extension a quantization, by defining a unit of count and constructing a sequence in terms of counts rather than steps. In this way, one can create sequences of differently timed notes with absolute precision. Also, it feels a little bit like programming an analog computer, so that's pretty neat.
Alternatively, a sequence can be created without a clock reference at all, in which case any playback oscillator can drive it. With no timing backdrop to reference, the sequence is simply a string of notes where the timing of all notes is identical. When driven by an oscillator as the clock source, a sequence such as this plays back as a rigid string of notes. Recording without a clock reference is actually an ideal way to record sequences like this.
Whether or not the sequences are created with a clock reference, when it comes to playing them back, timing is important. The Model 800 supports internal and external clock sources to handle that.
Internal Clock
With the Clock switch turned on while recording, a clock reference is stored with the programmed sequence. This serves two purposes: 1) it provides a guide for faithful playback, and 2) it maintains the relative distance between events. These are both true even if the sequence is played back faster or slower than it was recorded.
That means you could, for example, record a sequence with the internal clock, and then play it back with an external oscillator, like a VCO -- which creates interesting possibilities since the VCO can itself be frequency modulated.
A clock reference can also facilitate recording an irregularly timed sequence and have it played back just as you performed it.
Per the Model 800 manual, the internal clock has a range of about 10 or 15Hz to 4.5kHz (my unit has a range of 16Hz to 3kHz). A slower clock stored with the sequence allows for longer note durations and decreased timing precision, while a faster clock reference forces shorter note durations and increased precision.
With the SPEED knob at 12:00 and the range switch set to NORM, the clock frequency is about 200Hz. Again per the manual, when recording sequences with a clock reference, 200Hz strikes a balance with a "timing accuracy of approximately 0.3% and a maximum note length of approximately 15 seconds."
It should be noted that the reference clock's frequency establishes the minimum frequency required to play back the recorded sequence at the same tempo. How much faster or slower than the original tempo the sequence is to be played back is a linear relationship: to hear it played back at half the recorded tempo, the playback clock's frequency should be half that of the original.
A more pertinent example: If you recorded a sequence with a 3kHz clock reference, and then decide you want to hear it played back at twice the tempo, the internal clock wouldn't be up to the task since it maxes out at somewhere from 3-4kHz. Instead, you'd need an external clock source capable of cycling at 6kHz.
A sequence recorded without a clock reference is handled differently. With no guideposts, all an oscillator can do is force march the sequence one step at a time, with each step taking one oscillator cycle. For example, an 8-step sequence would require 8 oscillator cycles, so if the steps are intended to be 8th notes at 120 BPM, then the oscillator should cycle at 4Hz.
As we've seen, the slowest rate the internal clock can go is in the 10-15Hz range, which is still quite fast. With the example above, even at 16Hz (in my case), an 8-step sequence would play through four times per measure in 4/4 time -- i.e. as 32nd notes -- which is way too fast for most types of sequencing.
On the other hand, if we go the other way and crank up the playback clock into the audio range, the 800 can now perform as a waveform generator. I'll come back to that in an upcoming post.
The bottom line is that the internal clock's frequency range is somewhat limited, depending on how the sequence was recorded or how it's to be played back. If external clocks with lower and/or higher frequency ranges are easy to come by in your setup, they'll likely provide more flexibility.
External Clock(s)
The manual discusses driving the 800 with an external clock using a "Sequential Circuits Model 824 connector cable", which featured a 4-pin Cinch-Jones plug on one end, and (I suspect) a 1/4" TRS plug on the other.
With the Cinch-Jones plug inserted in the EXT IN jack, the 800's internal clock and front panel rate controls are disabled, and the 800 now expects clocking to be externally provided. The front panel Clock switch now controls whether the external clock is on or off.
Next to the EXT IN jack is the oddly labeled STOP switch, which has two positions: INT and EXT. And next to that is a LEVEL pot for adjusting the threshold of an internal comparator that governs the incoming clock signal. This can be helpful for dialing in exactly which transients should trigger the 800, if (say) you're using an audio track or some other noisy signal as a clock source.
The only thing the manual has to say about the switch is: "Set the STOP switch to internal position and leave it there. The only time external position is used is in multi-sequencer arrays. The 800 will not work properly if the switch is in external position." [emphasis theirs]
STOP refers to the stop code appended to a sequence when the STOP RECORDING button is pressed. So under normal operating conditions, with the STOP switch set to INT, when the end of the currently playing sequence is reached, the stop code tells the 800 what to do next: If the front panel ONE/ALL switch is in the ALL position, it switches to the next bank and begins playing the sequence stored there. In the ONE position, it simply loops the current sequence.
The manual never revisits the topic of "multi-sequencer arrays", and so it doesn't say anything further about this switch.
Going deeper
Shortly after acquiring my Model 800, I reached out to Sequential Technical Support to see if they had any information about it. I didn't expect that they'd support a 40-year-old piece of gear, and I was right about that. But they were kind enough to put me in touch with a former SCI repair technician by the name of Riley Smith, who was kind enough to provide schematics that included pinout details for various jacks on the back of the unit. These diagrams provided many answers, but the first one I was interested in dealing with was the EXT IN jack.
By applying pulses to each of the four pins in this jack, I determined that the 800 responds to signals on two of them. The service schematics call those pins "CLOCK IN" and "STOP IN". So that was one answer: the STOP switch specifies where the command to change to the next bank will come from: inside or outside.
The schematics include a diagram of a 1/4" TRS plug to be used with the EXT 2 OUT jack, with ring and tip labeled "CLOCK OUT" and "STOP OUT", respectively. So that was another answer: Very likely, the Model 824 cable provided a way for one to connect one Model 800 via its 1/4" EXT 2 OUT jack to another Model 800 via its Cinch-Jones EXT IN jack, and voila: "multi-sequencer array".
Well, that's fine, but I was certain I'd be able to use the EXT IN jack with external control voltages from my modular in some way since I could get a different response from the 800 depending on which of those two pins I was hitting with clock signals. And I could even get something out of it with the STOP switch in the EXT position, despite the manual's stern warning. So this definitely seemed worth investigating.
For my note-taking, "CLOCK IN" seemed clear enough, but at the time the "STOP IN" label seemed... oblique. So I thought of it as the more intuitive "BANK CHANGE". Later on (for reasons that I hope will make more sense shortly), I began to see these two signals as merely two different types of clock, and so I settled on CLOCK 1 and CLOCK 2, which is how I'll refer to them for the remainder of this article.
With that in mind, here's that same jack, switch, and pot from earlier as viewed from the inside, with the important bits labeled:
Once I confirmed I could get a response from the 800 using either CLOCK 1 or CLOCK 2, I built the cable pictured below with the intention of using a Y-splitter on the 1/4" end. I ended up wiring tip and ring to be the opposite of what the schematic indicated for EXT 2 OUT, probably because for my purposes it made more sense to me to have CLOCK 1 be the tip and CLOCK 2 be the ring.
On the Cinch-Jones end, CLOCK 1 goes to pin 4 and CLOCK 2 goes to pin 2. I knew pin 1 should go to ground (sleeve), but I wasn't so sure about pin 3 (which the schematic labels "SLAVE SELECT"). The jack wiring shorts the VOLTAGE IN jack to that pin when the STOP switch is in the EXT position. And there's a hand-written note next to where pin 3 is circled on the schematic that says, "Must be grounded for ext clock in". That seemed like a good place to start, so I shorted pin 1 to pin 3 and I haven't ever needed to change it.
With a solid cable to use for further testing, I chipped away at understanding what the 800 was doing while using different clock signals. I reported my early successes to Riley, who replied: "Wow! You're exploring new territory with the 800. I've never heard of anyone else doing what you are."
I've spent a lot of time with the 800 in the few years since then, and have come to understand a lot of what's going on when clocking this thing. The rest of this article is the fruit of that labor, and I want to share what I've found.
If you have a Model 800 and want to follow along with your own unit, you'll need a cable like the one above. Here's how it's wired:
* CLOCK 2: ring to pin 2
* GROUND: sleeve to pins 1 and 3
"...will not work properly..." :D
From this point, the custom cable should be plugged in to the rear panel EXT IN jack. Just remember that it needs to be unplugged to use the internal clock.
As one might expect from a CV-based sequencer, the 800 responds to a clock pulse by generating a trigger at TRIGGER OUT and a voltage at VOLTAGE OUT. For simplicity, I'll refer to these output signals synonymously with the external CLOCK X source that caused them to be created (e.g. "CLOCK 1's pitch voltage").
The following table summarizes which external clock causes the 800 to generate triggers & voltages at its outputs based on the indicated switch positions:
ON INT 1
OFF EXT 2
External clock: CLOCK 1
Note that when the 800 manual discusses "External Clock", they're referring to this one.
Sequence playback using only CLOCK 1 requires the rear panel STOP switch set to INT, and the front panel Clock switch turned on.
Like the internal clock, CLOCK 1 produces triggers and voltage events on its rising edge, advancing through each step in the active bank (up to 16 steps). In a way, the internal clock and CLOCK 1 could be thought of as the Model 800's Y-axis.
CLOCK 1 cycles endlessly through the programmed steps only in the active bank when the ONE/ALL switch is set to ONE. When it's set to ALL, it cycles once through the current bank's programmed steps, switches to the next bank and plays through its programmed steps, and so on, repeating this as it moves successively through each enabled bank. There are 16 banks (only one of which must be enabled), with each containing up to 16 steps. So a sequence can be anywhere from 1 to 256 steps.
In the scope image below, the 800 is in STOP: INT mode and cycles between two banks, where the ascending sequence is one bank and the descending sequence is the other.
Yellow: CLOCK 1
Pink: VOLTAGE OUT
Blue: TRIGGER OUT
External clock: CLOCK 2
The simplest way to drive the 800 using only CLOCK 2 is to turn off the front panel Clock switch and set the STOP switch to the EXT position.
CLOCK 2 is treated more like a gate in that it produces triggers on its rising edge and voltage events on its falling edge. And since this clock signal hits the "STOP IN" pin, each clock cycle triggers the stop code and forces a bank change -- which means that with each clock cycle the 800 only processes the first step in each bank before it's forced to switch to the next bank. If CLOCK 1 is like the Y-axis, CLOCK 2 is very much the X-axis.
In the scope image below, the 800 is in STOP: EXT mode and switches between four banks, playing only the first note of each. Notice where the bank/voltage changes and output triggers occur with respect to the incoming 50% duty cycle clock.
Aqua: CLOCK 2
Pink: VOLTAGE OUT
Blue: TRIGGER OUT
That the voltage/bank change occurs on the clock's falling edge is especially interesting since its distance from the previous (or next) rising-edge trigger can be voltage controlled (PWM). In other words, CLOCK 2's pulse could be made to be so narrow (e.g. 10% duty cycle) or so wide (e.g. 90% duty cycle) that these separate events appear at the outputs as one event, or it could have a medium-length duty cycle to create two distinct events as in the image above.
The ONE/ALL switch plays an interesting role when using CLOCK 2. In the ALL position, the 800 switches banks and plays the first note of each, as already described. But in the ONE position, it does one of two things, depending on the state of the first bank: If the first bank is active, CLOCK 2 hammers endlessly against the first note. If the first bank is inactive, and any other bank is active, the 800 will toggle between them (even though the first bank is inactive) -- bank 1 on CLOCK 2's rising edge; the next active bank on the falling edge. So if CLOCK 2 is a square wave (50% duty cycle), this switching will occur at twice CLOCK 2's frequency.
This odd but predictable behavior can be a useful performance tool: for example, you could use the first ONE mode to "hold down" the sequence to the first note of bank 1 while enabling/disabling other banks. Or you could switch between both ONE modes to create interesting rhythms and sub-sequences by enabling/disabling banks on the fly.
External clocks: Using both CLOCK 1 & CLOCK 2
Sequence playback using both CLOCK 1 and CLOCK 2 requires the front panel Clock switch to be turned on (which enables CLOCK 1), the rear panel STOP switch set to EXT (which enables CLOCK 2), and (at least) a CLOCK 2 signal to be present.
If both clocks are present and then CLOCK 2 is subsequently shut off upstream of the 800, CLOCK 1 will hang in there for a few moments -- I suspect long enough for some capacitor to drain -- before dying off, sometimes with an amusing whimper.
Triggers and voltage events from both clocks are combined at the outputs, but CLOCK 2 is dominant and has a big impact on what CLOCK 1 can do. How much so depends on CLOCK 2's pulse width and the interplay of the clocks' respective frequencies.
In the scope image below, the two clock frequencies are the same, and the same sequences from the two previous examples are used. The change from STOP: INT mode to STOP: EXT mode occurs at the midpoint in the image. The extra output trigger at that spot is from the inexact timing of my left hand enabling two additional banks on the front panel and my right hand flicking the STOP switch from INT to EXT on the back panel.
Yellow: CLOCK 1
Aqua: CLOCK 2
Pink: VOLTAGE OUT
Blue: TRIGGER OUT
Dual clocks behavior
When both CLOCK 1 and CLOCK 2 are enabled, their outputs are merged in a quasi logical OR at the outputs. In the previous examples, the two clocks are operating at the same frequency, so moving the STOP switch from INT to EXT is essentially an either/or proposition. When switched to EXT mode, CLOCK 1 basically "disappears" behind CLOCK 2, even when the front panel Clock switch is left on.
But when the clocks' frequencies are unrelated -- and when one is not a simple subdivision of the other -- a new behavior is revealed.
I alluded to this above, when I said that CLOCK 2 affects what CLOCK 1 can do. This is manifested in a few ways, which I've found easiest to remember with a somewhat silly mnemonic: CLOCK 2 is selfish, a bully, and a brat: it only allows CLOCK 1 to be heard while CLOCK 2 isn't talking, and it reacts harshly if CLOCK 1 speaks out of turn.
Let's break that down:
A) CLOCK 1 generates triggers and voltage changes on its rise, but these are only passed to the outputs if they occur while CLOCK 2 is low. Meanwhile, CLOCK 2 generates a trigger on its rise and a voltage change on its fall, and these events are always passed to the outputs.
B) If a CLOCK 1 pulse arrives while CLOCK 2 is high, not only is CLOCK 1's pulse ignored, but CLOCK 2 requires one full uninterrupted reset cycle of its own following this "offense" before CLOCK 1 is heard from again. Thus CLOCK 2's pulse width plays an outsize role in how much CLOCK 1 can contribute. Note that CLOCK 1's pulse width is not a factor in these collisions; only the timing of its rise is.
C) If the last successful CLOCK 1 pulse preceding a CLOCK 2 pulse lands on a voltage that deviates from CLOCK 2's last seen voltage, CLOCK 2 will yank the voltage back to its earlier voltage on its next rising edge following this "offense". (I think of this scenario as CLOCK 2 yelling "AS I WAS SAYING..." when it notices the offense). The "yank back" needn't occur if CLOCK 1 happens to land on CLOCK 2's earlier voltage by the time CLOCK 2 is ready to go again (this appears to be the only way CLOCK 1 can participate while avoiding CLOCK 2's wrath). This is all in addition to CLOCK 2's usual falling-edge bank change.
Dual clocks - examples
The scope image below captures most of the interactions just described. The two clock signals are centered and superimposed to make the relationships clearer. CLOCK 1 operates at an awkward rate of 2.63 times that of CLOCK 2, and CLOCK 2 has a modest pulse width in order to allow more of CLOCK 1's pulses through.
Yellow: CLOCK 1Aqua: CLOCK 2
Pink: VOLTAGE OUT
Blue: TRIGGER OUT
Here's that same image with the A, B, and C behaviors described above indicated where they occur:
It can be seen in this example that CLOCK 2 sends a trigger and forces a bank change once per second (the aqua colored "A" events at top and bottom). CLOCK 1 is only able to sneak in 2 or 3 steps between bank changes (the yellow "A" events at top and bottom).
On two occasions CLOCK 1 interrupts CLOCK 2 (the "B" events), resulting in a gap in activity while CLOCK 1's triggers are ignored. Once CLOCK 2 gets its required uninterrupted reset pulse, CLOCK 1's triggers can rejoin the party.
The "C" events (in aqua along the top) indicate CLOCK 2's rising-edge "yank back" voltage changes, which occur because CLOCK 1 didn't return in time to CLOCK 2's last seen voltage (indicated by the aqua arrows). These are always immediately followed by a normal falling-edge bank change.
So that's one way to work with two clocks on the 800: mashing them together and adjusting pulse width and frequency to see what shakes out.
Another way is to avoid having the two clocks interact at all, and rather set them up to speak at different times. In the example below, the clocks are provided by two other sequencers upstream of the 800. One sequencer clocks the other so that they stay synced, and the one being synced is set up to fire off one-shot bursts of pulses each time a single pulse from the first sequencer kicks it into motion.
Yellow: CLOCK 1
Aqua: CLOCK 2
Pink: VOLTAGE OUT
Blue: TRIGGER OUT
On the 800 end, the two upstream sequencers' triggers arrive as CLOCK 1 and CLOCK 2, and are OR'd into a single TRIGGER OUT stream. During CLOCK 1's turn, the 800 advances with a regular rhythm through a few steps in the active bank. During CLOCK 2's turn, the 800 shifts through several banks, playing the first note of each (the same note each time, but with an irregular rhythm). This back and forth handoff creates a longer syncopated sequence.
This latter example might even be a scenario that Sequential Circuits had in mind for multi-sequencer arrays.
Clock quality
To close out this first installment, I want to consider clock quality, which has an important effect on how the Model 800 responds to external clock signals. Not all pulses are created equal, as it happens, and it took some experimenting to find which pulse generators in my arsenal work best for driving the 800. Once again, I found some unexpected and useful behavior in the pursuit.
In general, CLOCK 1 is pretty forgiving when it comes to triggering the 800. Any sufficiently fast-rising signal will do -- and it doesn't have to be a pulse. Any of the usual wave shapes found on a typical oscillator can be used. Even audio signals with clean, simple transients will work.
One quirk, however, is that a sufficiently slow-falling CLOCK 1 signal will often (but inconsistently) cause a trigger as well -- e.g. a sawtooth ( |\ ) will likely double-trigger, as will a triangle wave. Other shapes, like a sine wave, may cause double-triggers depending on where the comparator threshold is set (adjustable with the LEVEL pot on the back of the unit). Besides a square or pulse wave, a ramp wave ( /| ) is the next most ideal wave shape for stable, single CLOCK 1 triggers.
This is captured nicely in the following image:
Yellow: CLOCK 1
Blue: TRIGGER OUT
CLOCK 2, on the other hand (surprise, surprise), is a bit more unruly, perhaps because the rear panel EXT IN jack was intended for use with multi-sequencer arrays as opposed to end-user clocking.
A signal introduced to the STOP IN pin is subjected to a fixed +1V comparator threshold, and I surmise that a very clean trigger is presumed since it's evident that hysteresis (which prevents rapid switching around the threshold) wasn't a priority. If the device plugged into EXT IN is another Model 800, a nice trigger is exactly what it gets since the rear panel jack intended for this purpose (EXT 2 OUT) sends a very clean trigger indeed (2.5µs rise time).
Some pulse generators work better than others for clean CLOCK 2 shifting. In some cases, rather than shifting neatly from bank to bank as has been described, the 800 will jump around randomly from bank to bank -- sometimes with clean hops, or sometimes with bursts of rapid bank switching in between random selections.
It can be seen when examining the pulses responsible for these different behaviors that clean sequential bank changes are associated with very short rise and fall times; clean random bank changes typically have a rise or fall time that's slightly longer; and erratic bank switching is accompanied by even longer times.
It turns out that just above CLOCK 2's comparator threshold is an approximately 0.25V region of instability where rapid switching occurs. A pulse with extremely short (<3µs) rise- and fall-times will pass through unscathed. But when a sloped signal passes through this region too slowly (in either direction), chaos ensues.
To illustrate this for the images below, I manually moved a static DC signal up and down to purposely pass slowly through CLOCK 2's threshold region. The spikes in the pink VOLTAGE OUT trace are the most obvious sign of rapid switching, but it's evident in the noisy blue TRIGGER OUT trace as well.
Aqua: CLOCK 2
Pink: VOLTAGE OUT
Blue: TRIGGER OUT
This behavior can be harnessed by controlling the amount of time the clock signal's rise or fall spends in the threshold region. I happened upon an oscillator (synthesizers.com Q106A) whose pulse has an extremely fast rise (<1µs), but a considerably slower fall (350µs) -- slow enough that it causes an extra trigger, but fast enough that there's only one extra trigger. By adjusting its pulse width to the longest possible duty cycle, the two output triggers merge into one, and the resulting clock signal provides stable, single triggers where each pulse cleanly shifts to a random bank.
Aqua: CLOCK 2
Pink: VOLTAGE OUT
Blue: TRIGGER OUT
Here's a closeup of a single pulse, where the difference between fall/rise times is clearly evident. The pink voltage/bank change occurs on CLOCK 2's fall as expected. The blue output trigger also changes there because of the long fall time, but there's no double-trigger since CLOCK 2's long duty cycle has merged the output triggers into a single longer output trigger -- i.e. the clock's rise doesn't cause a re-trigger because TRIGGER OUT is already high.
Of course, as previously discussed, this mostly-on clock pulse would block out all pulses from CLOCK 1. So if both clocks are to be used, a shorter (not longer) CLOCK 2 pulse is needed. Depending on the slopes of its rise and fall, results will vary -- don't be surprised if it takes some massaging to get what you want out of two clocks.
And there might just be some happy accidents along the way.
Up next...
Clocks aren't the only thing on the Model 800 that lend themselves to CV control. In the next installment, I'll provide details on how to build a specialized cable to gain CV control over other functions that further expand the usefulness of this nearly 50 year old piece of kit!
Thanks to Riley Smith for his early guidance, which jumpstarted me on this work!
Deep dive time! What a fun ride, looking forward to the next one.
ReplyDelete