Seq16
Seq16 is a simple step sequencer for the grid.
Setup and Creation
Make sure monolith is started.
(monolith:start)
Make a new page with monolith:seq16-new
(monolith:seq16-new "seq")
Select it with monolith:page-select
.
(monolith:page-select "seq")
Import seq16 wrappers into scheme with:
(monolith:load "seq16.scm")
Before the seq16 page can be used, it must be
clocked by an external clock source via seq16clk
.
(seq16clk (clock 0 120 4) "seq")
Main Signals
There are two kinds of signals provided: the value
and the gate. These are provided with seq16val
and
seq16gt
. All that's needed is the page name here.
Be sure to call these after seq16clk
.
Playhead is turned off by default. Turn it on with
monolith:seq16-playhead
.
(monolith:seq16-playhead "seq" 1)
Multiplying the main clock signal with seq16gt
gets
a trigger signal.
Using this trigger signal with a samphold
will make it
suitable when using it for gated/articulated notes. Note
that this means the signal output will go from 1-8, with
0 being ignored.
(samphold (mul (seq-clk) (seq16gt "seq")) (seq16val "seq"))
Resetting the Sequence
It is often useful to snap seq16 back to the beginning. Do
this with monolith:seq16-reset
.
Column Getter
Sometimes seq16
is better used as a way to store 16 values
with 8 states. This signal can be extracted using
seq16col
.
(seq16col 0 "seq") ;; get value from column 0
(add zz 1) ;; bias by to put in range 1-8
(mul zz 60) ;; multiply by 60hz
(port zz 0.01) ;; add portamento smoothing
(sine zz 0.3) ;; feed frequency into sine
(out zz) ;; sine sine to output
Note: be sure to load the main ugens with:
(monolith:load "ugens.scm")