Resonant Frequency

Multi-Pattern Percussion Sequencer



Project Overview:

     I've been playing with analog drum sounds from my modular synth, and realized that I need a good percussion sequencer.  Since I have a lot of MIDI gear in my home studio, I decided that this sequencer would need to sync to MIDI clock.   Luckily, I found the MIDI to DIN-Sync IC for sale from Blacet Labs.  This is a very inexpensive chip that has MIDI inputs, and a 24ppqn (pulses per quarter note) DIN-Sync output.  Using a clock divider, you can divide this clock down to more useful tempos.  For example, using a divide by 3 circuit you get 8ppqn, or 32nd notes.  Dividing again by 2, 4, 8 and 16 gives you 16ths, 8ths, quarter and half notes... nearly all of the divisions you should ever need.

    Next, you need to couple the clock dividers to a gate sequencer.  It's basically an 8 or 16 step sequence, and you can set the output on or off for each step.  There's a gate length adjustment at the output, allowing you to tailor the output to whatever circuit you're driving.   The best part about this project is it's potential for expansion or customization.  In my particular design, I'll be building a total of four 8-step sequencers in a 3U rack chassis.  Each sequencer will have it's own tempo control, allowing them to run from any of the outputs from the divider circuit, or an external gate input.  In addition, two adjacent sequencers can be cascaded into 16 steps if needed.  Each sequencer has it's own separate output that can then be routed to analog drum voices, envelope generators, etc.

    As a bonus, I've opted to add 24ppqn DIN-Sync and MIDI-Thru outputs.  These can be used to slave a variety of Roland x0x boxes, or anything else with a DIN-Sync input.  Also, it can be used anywhere in the MIDI chain, because there is a thru available. 

     This is still a work in progress.  As of yet, these circuits have not been tested, and are shown here just for explanation and discussion.   Currently, I don't plan to have a PCB house create boards, however, if there ends up being enough demand, I may decide to have them made in the end.  For now, I plan to make PCB layouts that will fit on standard Radio Shack pad-per-hole project boards.  Here are links to documents about the project:


MIDI Clock Divider:

      The incoming MIDI signal is first run through a 6N138 to isolate it from the adjoining circuitry.  It is then buffered through 2 stages of a 74LS14 inverter and mirrored to the MIDI THRU output.   The output of the 6N138 also feeds the input of the Blacet chip. I have a 6N138 datasheet if you need more info.   This is a very typical MIDI isolation circuit.

     The entire MIDI circuit is based on the aforementioned IC from Blacet Labs.  The chip provides a multitude of outputs: 24ppqn clock, start, run/stop and inverted versions of each.  Please check the Blacet Labs website for datasheets and applications for the custom MIDI to Din-Sync chip.  The Run/Stop output and it's inverted counterpart are used to reset each IC in  the counter and divider portions of the circuit to assure that each chip is reset to it's zero state each time the MIDI clock is restarted.   The Run/Stop line is held at logic high while the MIDI clock is running, and low when it stops.  Generally, chips reset on a logic high on their reset pin, so more often than not, the inverted Run/Stop line will be used to trigger a reset when the sequencer stops.

      The 24ppqn output of the MIDI to DIN-Sync chip then feeds both halves of a 74HC4538.  This IC is used to stretch the 5uS clock signals from the Blacet chip to something a little wider (to prevent missed triggers).  The 4538 is a pair of precision monostable vibrators... when it receives a positive-going pulse on it's A1 input, it triggers a positive pulse on it's Q output.   There is also an inverting (A0) input and an inverting output, but we don't need them in this application.  Checking the 74HC4538 datasheet, you'll see there's also C and RC inputs.  By using the equation from the datasheet you can set the output pulse length  by changing the values of the resistor and capacitor connected. 

     For one half of the 4538 IC, I used 100K resistor and .01uF cap as John Blacet recommends on his applications schematic, for a pulse width of approximately 1mS.  This signal is sent to pin 3 of a DIN-Sync output jack (5 pin circular DIN... same as a MIDI jack).  Pin 1 of the output gets connected to the Run/Stop output of the Blacet chip. As an option, you can also connect Pin 4 to the Start output from the Blacet chip... this is a function used by some DIN-Sync machines.   Finally, Pin 2 is grounded.

    The remaining half of the 4538 is used to drive the clock dividers and sequencers.  Here, I changed the value of the resistor at the RC input to allow a larger pulse width.  I also added a trimmer so I can fine tune the best output.  Ideally you want a symmetrical pulse to feed the clock divider that has equal on and off states.  We'll have a fixed length for the "on" pulse from the 4538, but the clock speed may vary from 50BPM to 250BPM, therefore changing the ratio of the on/off cycles on the clock.  To test the circuit I will probably feed it a 250BPM MIDI clock, and look at the clock signal on an oscilloscope.  I'll then adjust the trimmer to give about a 60% pulse width.  I'm hoping this will be a good compromise, and allow it to trigger reliably down to 50BPM.

     The output of the 4538 is routed to a 4018 adjustable divide-by-n counter.  As shown on the 4018 datasheet, there's a way to perform divide by 3 by running outputs Q1 and Q2 through an AND gate, and back to the Data input.  The output is taken from pin 4.     Up to this point, all of the circuitry has been running at a MIDI-compatible +5V logic level.  The next stages of the circuit will be preparing gate signals, so I've increased the logic level to +12V for the rest of the circuit.  You can see two simple transistor based inverting amplifiers that push up the logic levels of for the divided-by-three clock and the Run/Stop line.  Since the transistor amplifier is inverting, we needed to add a stage of a 74LS14 inverting buffer to the clock line, before the amplifier.  Also, I ran the  Run/Stop line from the Blacet IC  through the second amplifier for the same reason... the next stages expect a logic high to reset their chips, so an inverted Run/Stop is needed.

     After the logic signals for the divide-by-3 signal and Run/Stop  have been raised to +12V, they are ready to be sent to the final divider stage.  This section divides the clock again by 2, 4, 8 and 16 with an HEF4516 binary up/down counter.   The incoming divide-by-3 signal is 32nd notes, and the new outputs generated by the 4516 will be 16ths, 8ths, quarter and half notes.


The Sequencer Section

   I've chosen to use the 4017 decade counter as the heart of each sequencer.   As noted above, this section of the circuit runs at +12V logic levels.  I've chosen this because many synths like to have +10V gate signals, and this will make my sequencer compatible with almost any device.  I've also opted to utilize the carryout output of each counter to allow a pair of them to be cascaded to create 16 step sequences if needed.  Each sequencer has it's own independent 6 position tempo control, allowing you to set the tempo from any of the 5 divided signals (32nd, 16th, 8th, quarter or half notes), as well as providing an external input so it can run independently from the incoming MIDI signal. 

     In addition to be able to control the tempo of each sequencer, you can also use a second 6 position switch to select the desired sequence length.  I've opted for sequence lengths of 3,4,5,6,7 or 8 steps, and this is achieved by running the gate output of the desired last step back to the Reset input of the counter.  When two sequencers are cascaded, it will allow for lengths of 6 to 16 steps.  If you decide to use 8 position rotary switches, instead of 6, you can set sequence lengths to any value between 1 and 8 steps in single mode, or 2-16 steps in cascade mode. 

    Additional controls on each sequencer will include a Run/Stop switch to allow you to halt any sequencer.  A Reset button will allow you to start each sequencer over from it's first step, and a Gate Length control will allow you to customize the gate output of each sequencer.  Also, each step has an LED indicator so you know which step the sequencer is on.  These LEDs are driven from a single transistor emitter-follower design to avoid taxing the CMOS outputs on the 4017 counter.   Finally, each sequencer can have an independent 9 pin output on the rear panel that can be used to drive additional circuitry.  These 9 pins will be ground, and a direct gate output for each step.   Likewise, you may opt to put these direct outputs on 1/4" or 1/8" jacks on the front panel.  These outputs could be used to drive one-shot events (to fire an envelope generator, for example) or to drive an external CV summing circuit.  They can also be used with external logic circuits to create even more complex patterns.

     I'd like to add some notes about running this unit in cascade mode.  First, to make this as flexible as possible, I opted to allow the two sequencers to continue running at independent speeds.  Also, the "Last Step" control is still active on each sequencer.  For example, you can opt to have the first sequence run at quarter notes for 6 steps, then it will cascade into the second sequencer that could run 8 steps at 32nd notes.  Again, to give flexibility, I also allow each sequencer to have it's own gate length control.  You could have staccato notes fired from one half, and longer notes from the other.  Also note that using some logic OR gates, I made it so the combined output of the two sequencers appears at BOTH outputs.  So cascading A->B will give identical A+B outputs on both jacks.  


Potential Modifications

  This project is extremely flexible.  First, an almost unlimited number of sequencers can be chained to the clock divider.  I chose 4 sequencers for my own design, but 8 or 12 should easily be possible.  Additionally, any sequencer design can be used instead of the gate sequencer I've chosen.  A more typical 16 step sequencer with a CV output could be used (like the SEQ2 board from EFM).   I've opted to use mine specifically for percussion patterns, and don't currently need the CV controls.  In the event that I need CV controls, I'm adding a 9-pin D-SUB connector on the rear panel for each of the 4 sequencers.  These are 12V gates that can be used to feed an external CV summing circuit.  More info concerning this modification will follow  as the project progresses.

      I've also opted to put direct clock outputs for each of the 5 tempo divisions on the faceplate.  Now it'll be possible to chain my pair of SEQ2 boards to the MIDI clock divider, and have them slaving along nicely.  Likewise, there are also "Start", "Reset" and "Run/Stop" outputs that can be used to trigger the external sequencers.

     Some of you may decide to add more MIDI Thru outputs.  This is a simple addition, requiring only some buffering with another pair of 74LS14 inverters.  If there is space on the board (and spare inverters), I may add circuitry for a second thru output.

     If you only want 5V gate outputs (instead of +12V gates provided) it is possible to slightly redesign the circuit for your needs.   You'd simply omit the pair of single transistor amplifiers on the clock divider board.  Then, the Reset signal for the 4516 counter would need to come from the inverted Run/Stop output on the Blacet chip, and you can omit the inverter stage between the 4018 divider and the clock input of the 4516.  All ICs on both the divider and sequencer boards could then be run on +5V Vdd.  Lastly, you will need to rescale the current limiting resistors on the LED driver circuits.



The Resonant Frequency website is designed and maintained by

Dave Magnuson

Copyright 1999 - 2006