Skip to content

Instantly share code, notes, and snippets.

@alienlebarge
Last active November 3, 2021 11:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alienlebarge/24b923129a0349489314049c9986a98a to your computer and use it in GitHub Desktop.
Save alienlebarge/24b923129a0349489314049c9986a98a to your computer and use it in GitHub Desktop.
16 steps sequencer for droid
# ==================================================
# 16 step sequencer
# ==================================================
# Description :
# An attempte to do a 16 steps sequencer becauaw `sequencer` has only 8
# [Master]
# Input 1 : Clock
# Input 2 : Reset
# Input 3 :
# Input 4 :
# Input 5 :
# Input 6 :
# Input 7 :
# Input 8 :
# Output 1 : Clock
# Output 2 : Reset
# Output 3 :
# Output 4 :
# Output 5 : Trigger
# Output 6 :
# Output 7 :
# Output 8 :
# --------------------------------------------------
# Clock
# --------------------------------------------------
# A 120bpm lfo is normalized to N1 so when no clock is patched into I1, there's
# a default bpm of 120
[lfo]
hz = 2
square = N1
[copy]
input = I1
output = O1
[clocktool]
clock = O1
multiply = 4
output = _CLOCK
# --------------------------------------------------
# Sequencer Switch
# --------------------------------------------------
# Generate a clock that is used to mute sequencer 1 during steps 9 to 16 and
# sequencer 2 during steps 1 to 8
# | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
# |----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|
# | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
[clocktool]
clock = _CLOCK
divide = 16
output = N2
[copy]
input = I2
output = _CLOCK_SWITCH_SEQ
[logic]
input = _CLOCK_SWITCH_SEQ
negated = _CLOCK_SWITCH_SEQ_NEGATED
# --------------------------------------------------
# 16 step sequencer
# --------------------------------------------------
# Sequencers
#
# | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
# |----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|
# Seq 1 | X | X | | | | | | |
# Seq 2 | X | X | X | | | | | |
# Sequencer 1 is in charge of steps 1 to 8
[sequencer]
clock = _CLOCK
reset = _CLOCK_SWITCH_SEQ
gateoutput = _SEQ1_TRIGGER
gate1 = 1 # step 1
gate2 = 1 # step 2
gate3 = 0 # step 3
gate4 = 0 # step 4
gate5 = 0 # step 5
gate6 = 0 # step 6
gate7 = 0 # step 7
gate8 = 0 # step 8
# Output triggers only in the first part of the sequence
[logic]
input1 = _SEQ1_TRIGGER
input2 = _CLOCK_SWITCH_SEQ
and = _TRIGGER_1_TO_8
# Sequencer 2 is in charge of steps 9 to 16
[sequencer]
clock = _CLOCK
reset = _CLOCK_SWITCH_SEQ
gateoutput = _SEQ2_TRIGGER
gate1 = 1 # step 9
gate2 = 1 # step 10
gate3 = 1 # step 11
gate4 = 0 # step 12
gate5 = 0 # step 13
gate6 = 0 # step 14
gate7 = 0 # step 15
gate8 = 0 # step 16
# Output triggers only in the second part of the sequence
[logic]
input1 = _SEQ2_TRIGGER
input2 = _CLOCK_SWITCH_SEQ_NEGATED
and = _TRIGGER_9_TO_16
# Merge first and second part of the sequence
[logic]
input1 = _TRIGGER_1_TO_8
input2 = _TRIGGER_9_TO_16
or = O5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment