AO G.E.A.R. Sequencer (rhythm generator)

This is a voltage controlled trigger sequencer or, perhaps a better term, trigger sequence generator. It can function as a Euclidean rhythm generator, but it can also create other rhythms via different means. It is designed in Kosmo format, though it can presumably be adapted to any other format capable of supplying enough positive voltage for 5 V voltage regulators.

What it does

Rather than sending triggers in a sequence that is completely specified by the user, the G.E.A.R. Sequencer creates sequences based on user specified parameters.

It offers a choice of four algorithms:

  • Gap sequence
  • Euclidean sequence
  • ADC sequence
  • Random sequence

(Hence the name G.E.A.R. Sequencer.) Each algorithm is governed by up to four parameters whose values the user can dial in on potentiometers, or they can be set and dynamically altered using control voltages.

Within limits of program memory and programmer sanity, there is no reason more algorithms could not be added, but these are the four implemented so far.

Algorithms

Euclidean sequencing is familiar and I won’t go into the details here — see http://cgm.cs.mcgill.ca/~godfried/publications/banff-extended.pdf if you need them. The sequence pattern is determined by two parameters: Repetition period (P) and number of triggers (T). The algorithm distributes the T triggers as uniformly as possible among the P sequence steps. A third parameter, the offset (O), governs not the pattern itself but where the pattern starts/stops relative to where the period starts/stops.

A more novel algorithm is the gap sequence, based on the procedure underlying linear scales in tuning theory and the Three-gap Theorem in mathematics — not that you need to know that. I’m not aware of any prior use of this idea for trigger sequencing although I would be quite surprised if no one else has done it before. In a gap sequence the pattern is defined by three parameters: P, T, and the generator (G). For a given P and T there is exactly one Euclidean sequence, but there are up to P/2 gap sequences corresponding to different generators. Again, the position of the sequence start relative to the period can be specified by O. You can find details of the algorithm here.

An ADC sequence uses a pattern based on digitization of an analog control voltage. You specify P and a value to digitize, V, as well as, again, O. The sequence pattern is the first P bits in the digitization of V. This is similar to something the Barton Musical Circuits BMC006 Voltage To Rhythm Converter does (though the BMC006 does a lot more with the idea).

A random sequence is fairly self explanatory. For a given P and T, the algorithm distributes T triggers randomly within P steps. The random pattern is then repeated indefinitely, offset by O as with the other types, until a new sequence is requested. Another “parameter” is the throw (Th). The value of the throw is not used to determine the pattern, but if it changes, a new random pattern will be chosen.

Photos

Demo

Documentation

GitHub repository

Schematics, KiCad design files, Gerbers, docs here:


A few extra boards and panels will be available on Tindie fairly soon.

13 Likes

Woah, you’re going to challenge Hagiwo for output at this rate!

5 Likes

Props for a voltage-controlled trigger sequencer, very cool!

6 Likes

Hey, this does look very interesting. I would be interested in a pcb…

(@analogoutput your github link on the post is broken, just sayin :blush:)

2 Likes

Have you got a better video to demo it for us?
Id like a talk through and demo of each algorithm, even if its a 20minute indulgence…

4 Likes

There’ll be one eventually. I have several videos to do, but I keep putting other things first.

1 Like

Video’s up!

And a supplementary video about the gap algorithm:

(second video re-uploaded to correct title)

9 Likes

Nice work!!

I’ll think about including the gap algorithm on my euclidean generator :thinking::thinking:

PS I think you forgot to change the title screen on that video :wink:

3 Likes

Really cool ! i project to make one one day :slight_smile: thx for sharing !

2 Likes

Imma have to give this one the Eurorack treatment. Really nice idea and execution!

3 Likes

Should be very doable, the Kosmo PCB’s pretty sparse! Keep us posted!

2 Likes

I’m sure it will be in my JLCPCB cart by the weekend :slight_smile:

2 Likes

PCB Prototype & PCB Fabrication Manufacturer - JLCPCB

5 Likes

It’s here, it works, but I still need to get the screens. I was able to test it with one I have with a different pinout.

EDIT: Just realized that I can probably change the pinout in the software…

EDIT, EDIT: Actually no, since it’s the power pins that are different.

I am very pleased with this one. Thanks @analogoutput for the great idea!






10 Likes

Wow that’s awesome! Looks great!

2 Likes

Part of why I did mine like this:

image

Yours looks great!

7 Likes

Well stranger…nice to see you again. :slight_smile:

I would be interested in one of your Eurorack versions if you have a spare pcb/panel handy? I could also use a couple more of your bus boards :slight_smile:

7 Likes

Hi there! I have an improved version of the bus boards coming and I will have the G.E.A.R. Ready for sale some time next week. I’ll let you know.

5 Likes

I was able to find a screen locally, though not a bicolor one, while I wait for the rest to turn up. Here’s a few pics of the assembled module:



8 Likes