74 lines
2.1 KiB
Plaintext
74 lines
2.1 KiB
Plaintext
:generative:
|
|
= start =
|
|
to start tidal cycles:
|
|
run 'scide' (or run the SuperCollider IDE) in terminal to start SuperCollider server
|
|
execute the following code in scide:
|
|
include("SuperDirt")
|
|
SuperDirt.start
|
|
|
|
open a new terminal and run tidalvim
|
|
you should now be running tidal, use ctrl+E to pass lines to tidal from vim
|
|
|
|
= basics =
|
|
when you add more sounds to each cycle, it speeds up, the time of the cycle remains constant
|
|
|
|
----- is the buffer to super collider, there are 9 opened by default in tidal
|
|
/ --- the "command" to run
|
|
v v
|
|
d1 $ sound "bd:2 bd bd ~"
|
|
^ ^ ^
|
|
\ \ --- is a rest note
|
|
\ --- is the sound that is going to be played; play the 3rd (0 indexed) sound in bd
|
|
--- magical $ notation
|
|
|
|
= subsequences =
|
|
using [] we can create sub sequences that run "together" in the same step of each cycle
|
|
this can be done recursively
|
|
|
|
using this we can achieve nice compound time signatures:
|
|
d1 $ n "[0 2 1] [4 4 5]" # s "drum"
|
|
|
|
alternative notation:
|
|
d1 $ n "0 2 1 . 4 4 5" # s "drum"
|
|
|
|
= speeding, slowing, repeating =
|
|
* is the same as a subsequence (s "kick*2" == s "[kick kick]")
|
|
! is the same as repeating the sound (s "kick!2" == s "kick kick")
|
|
/ "divides" the step into n steps and alternates them
|
|
|
|
we can combine these to shorten lengthy things:
|
|
|
|
s "[kick [lo hi]/2]*2" == s "kick lo kick hi"
|
|
|
|
= polyphony =
|
|
, allows us to have multiple "tracks" in the same pattern but they must be in a subsequence!
|
|
|
|
d1 $ s "[bd sn, lo hi lo lo]"
|
|
|
|
d1 $ s "bd ~ sn ~"
|
|
d2 $ s "lo hi lo lo"
|
|
|
|
are the same
|
|
|
|
{} changes tidalcycles to make the steps align instead of the cycles aligning
|
|
|
|
= effects & commands =
|
|
|
|
stut - create echos
|
|
example
|
|
d1 $ stut 4 0.5 (-0.1) $ s "bd sn"
|
|
|
|
= adding a samples directory =
|
|
File > Open Start Up File > Add line ~dirt.loadSoundFiles("path/to/directory/*");
|
|
|
|
= pipes =
|
|
|> is the same as #, it takes values from the right and structure from the left
|
|
| indicates which side to take structure from
|
|
and the arrow indicates which side to take values from
|
|
hence with the following combinations
|
|
|>
|
|
<|
|
|
|<
|
|
>|
|
|
we can mix and match any combinations
|