Chaining Variable Step Sequencer Mk II
  • I kind of shelved my larger version of the the chaining sequencer for now. It was getting too complex and CPU heavy. I settled on a simpler version. There is a master module and any number of slave modules. Chain 1 out on the master needs to be connected to chain 1 in on the first slave, then chain 1 on the first slave to chain 1 on the second. etc. The same for chain 2. Chain 1 on the last slave needs to be looped back to the master. Each step has a value and a time length. The incoming clock is scaled by the knob on the lower left and sets the maximum number of clocks for each step. It ranges from 1 to 48. Why 48? If an eighth note gets 6 pulses then a whole note gets 48. A dotted eighth gets nine and a eighth triplet gets 4. The upper knob on the left sets the number of steps for each module. Each module can be set for 1 to 16 steps. The output is available as a modulation signal and also as a scale and offset adjustable audio signal. There is a gate pulse available when the sequencer changes steps.
    8/12 updated files - added text labels for Windows users
    Screen Shot 2017-08-12 at 8.07.39 AM.png
    1429 x 1005 - 346K
    chaining sequencer Mk II.audulus
  • Wow! I'm loving the design but I am confused about the gate output. The g output is sending triggers to an expr that is "a<=0." So the gate length is determined by the space between two trigger pulses?
  • I thought it would be useful to have a signal when the sequencer changes steps. The "note" signal is a narrow positive pulse sent at the transition between steps. It's width is actually determined by a sample and hold based pulse generator. It's the switching delay from input to output on the S&H node. I originally had it inverted within the sequencer so that the note signal stayed high and pulsed low, but I thought this might be more useful. In a more typical sequencer, filters and such are usually driven by the input clock, but that wouldn't work well on this since the step length is variable. The a<=0 node is just an inverter I put in line to drive the ADSR nodes. Not a very compelling demo, but I figured people would get the idea. I could could move the inverter inside if you think that would be more useful.