Wherein we present intimate details of the AbcSequencer node. You can cut to the chase and copy the example to your workspace by right-clicking.
AbcSequencer is a NoteStream whose notes are described in abc notation. First, you create one or more sequences. Next, you arrange them into an interesting pattern. As usual, NoteStreams are connected to Players and routed to Instruments.
A common use for AbcSequencer is to produce rhythm tracks. In that usage, the notes you specify are mapped to different percussion sounds - either through A Soundfont or a Bank of Soundfiles.
From the outside looking in, AbcSequencer is a simple node. Its interface comprises a small handful of parameters.
The Arrangement is an abc pattern string that is built-up of references to individual sequences. At right you can see this arrangement:
((A4BC3)3)50
The syntax for the arrangement is actually quite simple and powerful.
A
four timesThese simple rules applied to the expression above yield:
AAAABCCCAAAABCCCAAAABCCC
repeated 50 times.
Sequences are abc snippets that are automatically assembled into a multipart abc tune. Each sequence is one or more measures made up of notes, rests, decorators and bars. Measures don't have to adhere to a standard rule for measure length but often do. When measure lengths don't match the TimeKeeper's Signature you may see runtime warnings like:
warning: abc track 0 bar 3 has 3/2 units instead of 4 warning: abc track 0 bar 3 has 3/2 units instead of 4
These messages can be helpful if you want all measures to be equal length or can be ignored if you are going for a phasing effect.
In our example:
Pattern | Value | Meaning |
---|---|---|
A | ^D,,,z^G |
3 time units: a low D#, a rest, a middle G# |
B | C/2z/2D/2z/2E/2z/2 |
6 half-time units: middle C, rest, D, rest, E, rest |
C | AxBx |
4 time-units: A, rest, B, rest |
Above we were careful in the use of the term time units because the
NoteLength
parameter governs the conversion of time units to beats.
Here the use of the value 8 (indicating 1/8th note), means that an abc note
with no explicit duration as in sequence C represents an eighth-note. Now
if the TimeKeeper signature is 4/4, the length of
sequence C will be 2 beats. When using abc to produce interesting rhythms
remember a few shortcuts:
C/
, C/2
and C1/2
are equivalentA>B
and A<B
are shorthand for dotting. The result is that half the
duration of a note on one side is transferred to the other. Thus
A>B
is shorthand for A3/2B/
.