Goals:
- discover
stack
for building multiplesound
statements in the same cell - apply
n
notation to reference different sample indexes within a set - understand euclidean rhythms and their notation and usage within tidal
Reference:
!presetview twocolumns
Choose MiniTidal from the language dropdown for both cells
Two cells are not a lot to work with when you're introducing layers of sounds. We can always add more cells, or more parallel sequences using [
]
, but this can also get unwieldy quickly - and may not even be possible if you are jamming with a large group.
Introducing stack
which allows us to stack multiple sound
statements in the one cell
stack [
sound "bd sd",
sound "hh*8",
sound "[~ ho]!2"
]
Note that each subsequent line must be separated by a comma ,
It's also possible to prefix a comma on a new line (and in many cases this is preferable when commenting lines in and out)
stack [
sound "bd sd"
, sound "hh*8"
, sound "[~ ho]!2"
]
In 1-1
we learned that different samples can be chosen from the sample folders using :N
where N
is the index or numbered position of the sample within the folder name specified
sound "bd:3 hc sd:1 hc bd bd:3 hc sd ho:4"
If all the sounds come from the same folder, it's easier to pattern using n
notation - sprvibe
is a series of ascending notes sampled from the "supervibe" synth
n "0 3 [4 5] [8 7]" # sound "sprvibe"
This is equivalent to:
sound "sprvibe:0 sprvibe:3 [sprvibe:4 sprvibe:5] [sprvibe:8 sprvibe:7]"
...but much more concise! Also, we can do some funky arithmetic with n
and round brackets
n ("0 3 [4 5] [8 7]" + "0 2") # sound "sprvibe"
Try changing the additional section and modifying/evaluating changes live
-- example
n ("0 3 [4 5] [8 7]" + "2 4 ~") # sound "sprvibe"
Because we're putting our additional section in " "
, we can also use mini-notation. Try using different brackets in there
-- example
n ("0 3 [4 5] [8 7]" + "<2 4 ~>") # sound "sprvibe"
For example, we can divide a cycle into 8
pieces, then fit 4
sample events evenly between the pieces
sound "bd(4,8)"
That is, 4
sample events (in this case, bd
) fitted into a sequence length of 8
which has a pattern that looks like
|x.x.x.x.|x.x.x.x.|
yawn right?
Euclidean patterns get rhythmically interesting when you use numbers that don't fit evenly into the sequence. This example fits 5
bd
events into an 8
slot sequence
sound "bd(5,8)"
Which has a pattern that looks like
|x.xx.xx.|x.xx.xx.|
You can optionally offset or shift the euclidean pattern using a third number (or parameter) which indicates the number of steps to shift:
sound "bd(5,8,1)"
Which has a pattern that looks like this (compare it to the non-offset pattern above)
|.xx.xx.x|.xx.xx.x|
Of course we can also pattern them with mininotation
sound "bd(<3 5>,<8 8 16>,<0 2>)"
- Using
n
notation, investigate theglitch
and/orjazz
soundbanks
n "<[0 1 2 3] [4 5 6 7]>" # sound "glitch"
- Investigate using multiple samples at a time with a euclidean pattern, what happens?
sound "[bd sd](3,8)"
- Investigate
stack
ing multiple samples at a time with euclidean patterns
stack [
sound "bd(5,8)",
sound "sd(3,8,2)",
sound "hh(11,16)"
]
- Using
stack
, investigate dropping sounds in and out using comment syntax (--
)
stack [
sound "bd(5,8)",
-- sound "sd(3,8,2)",
sound "hh(11,16)"
]
- Samples can be pitch adjusted using
note
in the same format asn
notation, investigate using the singlegtr:0
sample
note ("0 3 [4 5] [8 7]" + "<0!3 2>") # sound "gtr:0"