Last active
August 15, 2024 14:40
-
-
Save mxactvtd/bf3fb357a419c7f063b98dfd9a66cf78 to your computer and use it in GitHub Desktop.
TidalCycles Quick Reference compiled and partially rewritten documentation from various sources
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
---- TidalCycles QUICK REFERENCE ---- | |
---------------------------------------------------------------- | |
-- To use in your editor after or alongside your code for quick reference | |
-- Work in progress, mostly to be used as basis for further documnentation work, sorry for the errors and omissions | |
-- designed with atom - monokai one dark vivid as theme | |
-- https://gist.github.com/mxactvtd/bf3fb357a419c7f063b98dfd9a66cf78 - check for update, I keep updating this quite often atm | |
---------------------------------------------------------------- | |
-- Some sources of Documentation -- | |
-- https://tidalcycles.org/patterns.html | |
-- https://tidalcycles.org/functions.html | |
-- https://github.com/yaxu/tidal-workshop/blob/master/academy.tidal | |
-- https://github.com/tidalcycles/Tidal/blob/1d05c6119aba8c7547bbf1512ce1f901e38e1d6c/doc/book/index.md | |
-- https://github.com/tidalcycles/Tidal/blob/master/tutorial/tutorial.md | |
-- https://www.youtube.com/watch?v=g8nJaoh7ZhY&list=PLKgxw7RG3hcRHyBFsPr5opr1iu8wbNIgP | |
-- https://github.com/musikinformatik/SuperDirt | |
-- https://github.com/tidalcycles/Tidal/ | |
-- https://github.com/tidalcycles/Tidal/tree/master/Sound/Tidal | |
-- https://github.com/lvm/awesome-livecoding#libraries-and-tools | |
-- https://toplap.org | |
-- https://github.com/topics/tidalcycles | |
-- https://talk.lurk.org/channel/tidal | |
-- http://lib.tidalcycles.org/pattern/ | |
-- http://www.eulerroom.com | |
-- https://github.com/musikinformatik/SuperDirt/blob/master/used-parameters.scd | |
---------------------------------------------------------------- | |
-- Oficially Documented TidalCycles functions -- | |
palindrome degrade degradeBy fast fit iter jux juxBy linger rev scramble shuffle slow smash spread toScale trunc zoom loopAt gap chop striate striateL stut someCyclesBy foldEvery ifp mask every sometimesBy swingBy when whenmod within seqP cat fastcat interlace randcat append spin stack superimpose weave wedge anticipate clutch histpan jump jumpIn jumpIn' jumpMod mortal superwash wait wash xfade hcutoff bandf bandq begin coarse crush cut cutoff delay delayfeedback delaytime end gain accelerate hresonance legato loop nudge pan resonance room size shape sound speed sustain unit vowel choose irand pequal rand run scale up | |
---------------------------------------------------------------- | |
-- Provide minimal one line explanations with argument ranges and or short example code, see if words can be removed or replaced by shorter synomnyms to make as concise a list as possible, useful for live-coding and tinkering | |
---------------------------------------------------------------- | |
-- Pattern Transformers -- | |
fast -- alias: density - speed up a pattern n times - (density 2) | |
fastGap -- alias: densityGap - a fast that maintains cyclic alignment - undcoumented | |
slow -- slow down a pattern n times - (slow 4) | |
hurry -- speed up also changes pitch | |
rev -- reverse every cycle of a pattern | |
palindrome -- reverse a pattern every other cycle | |
zoom -- plays a portion of a pattern, specified by the beginning and end of a time span - zoom (0.25, 0.75) | |
degrade -- alias: ? - randomly removes events from a pattern 50% of the time | |
degradeBy -- allows you to control the percentage of events that are removed - range: 0-1 | |
spread -- spreads a function across several values - spread slow [2,4/3]) = slow "<2 4/3>" :obsolete | |
fastspread -- squeezes all the variations into one cycle | |
spread ($) -- spreads functions iteratively across cycles - spread ($) [fast 2, rev, slow 2] | |
spreadr -- alias: spreadChoose - spreads functions randomly across cycles | |
iter -- creates subdivisions, plays them in order, but increments the starting subdivision each cycle | |
iter' -- decrements the starting subdivision - undcoumented | |
jux -- juxtapose a pattern with a functional transform only the right-hand channel | |
jux' -- | |
jux4 -- | |
jux' -- | |
juxcut -- | |
juxcut' -- | |
juxBy -- has an additional parameter, which brings the channel closer to the centre | |
fit -- takes a pattern of integer numbers, which are used to select values from the given list | |
fit' -- using another integer pattern to slice up a given pattern - fit' 1 2 "0 1" "1 0" "bd sn" | |
trunc -- range:0-1 - truncates, so that only a fraction of the pattern is played - trunc 0.75 | |
linger -- truncates a pattern, repeateating the last part - linger 0.25 | |
scramble -- n p divides the pattern p into n equal parts, randomly selecting from the parts | |
shuffle -- n p divides the pattern p into n equal parts, selecting a random permutation of parts | |
smash -- cuts the samples into bits, playing the loop at different speeds from a list - smash 3 [2,3,4] | |
brak -- squashing the pattern to fit half a cycle, and offsetting it by a quarter of a cycle. | |
toScale -- lets you turn a pattern of notes within a scale - toScale [0, 4, 7] "0 1 2 3") | |
toScale' -- for more than one octave - toScale' 24 [0,4,7,10,14,17] (run 8) | |
-- Sample Transformers -- | |
loopAt -- makes sample fit the given number of cycles - loopAt 4 | |
gap -- it granualizes every sample in place as it is played, but every other grain is silent - gap 8 | |
chop -- granualizes every sample in place as it is played - chop 32 | |
striate -- granulator, cutting samples into bits in a similar to (chop)[#chop] - striate 16 | |
striate' -- a variant of striate with an extra parameter, which specifies the length of each part | |
striateL -- loops each sample chunk a number of times specified in the second argumen | |
stut -- applies a type of delay to a pattern with depth, feedback and time - stut 4 0.5 0.2 | |
stut' -- allows to apply a function for each step and overlays the result delayed by the given time | |
off -- like stut' 1 | |
-- Conditional Transformers -- | |
every -- transforms a pattern with a function every ‘n’th cycle - every 3 (fast 2) | |
every' -- with an offset - see also whenmod and foldEvery | |
sometimesBy -- range:0-1 - probability for applying a function - sometimesBy 0.25 (fast 2) | |
-- litteral aliases: almostNever 0.1 - rarely 0.25 - sometimes 0.5 - often 0.75 - almostAlways 0.9 | |
someCyclesBy -- similar to sometimesBy, but for cycles | |
foldEvery -- similar to chaining multiple every functions together | |
ifp -- decide whether to apply one or another function depending on the result of a test function that is passed the current cycle as a number - ifp ((== 0).(flip mod 2))(fast 4)(# coarse "24 48") | |
mask -- removes events from second pattern that don’t start during an event from first (mask ("1 1 1 ~ 1 1 ~ 1" :: Pattern Bool) | |
swingBy -- alias: swing - slices and delays events in the second half of each slice by the amount x - swingBy (1/3) 4 | |
when -- only when the given test function returns true the given pattern transformation is applied. The test function will be called with the current cycle as a number. - when ((elem '4').show) (fast 4) | |
whenmod -- applies the function to the pattern, when the remainder of the current loop number divided by the first parameter, is greater or equal than the second parameter. | |
within -- apply a function to only a part of a pattern - within (0.75, 1) | |
-- Compositions -- | |
seqP -- allows you to define when a sound within a list starts and ends - seqP[(0,12,s "bd"),(4,12,s "hh")] | |
seqPLoop -- will keep looping the sequence when it gets to the end | |
cat -- alias: slowcat - concatenates a list of patterns into a new pattern - cat [s "bd", s "sn"] | |
fastcat -- concatenates a list of patterns into a single cycle | |
interlace -- shifts between the two given patterns - interlace (s "bd sn")(s "hh hh") | |
randcat -- picks a random pattern from a list - randcat [s "bd", s "sn"] | |
append -- appends patterns within a single cycle - append (s "bd") (s "sn") | |
append' -- does the same as append, but over two cycles, so that the cycles alternate between the two patterns. | |
spin -- will “spin” a layer up a pattern the given number of times, with each successive layer offset in time by an additional 1/n of a cycle, and panned by an additional 1/n - spin 4 | |
stack -- takes a list of patterns and combines them into a new pattern by playing all of the patterns in the list simultaneously - stack [s "bd", s "sn"] | |
superimpose -- plays a modified version of a pattern at the same time as the original pattern, resulting in two patterns being played at the same time - superimpose (fast 2) | |
weave -- applies one parameter pattern to an list of other parameter patterns | |
weave' -- is similar in that it blends functions at the same time at different amounts over a pattern | |
wedge -- squashing two patterns into a single pattern cycle with a ratio for the first pattern | |
-- Transitions -- | |
anticipate -- build up some tension, culminating in a drop to the new pattern after 8 cycle | |
anticipateIn -- allows you to specify the number of cycles until dropping to the new pattern | |
clutch -- degrades the current pattern while undegrading the next | |
clutchIn -- change the number of cycles the transition takes t1 (clutchIn 8) $ s "bd" | |
histpan -- pans the last n versions of the pattern across the field | |
jump -- jumps directly into the given pattern, this is essentially the no transition-transition | |
jumpIn -- jump transition after the specified number of cycles | |
jumpIn' -- jump but only transitions at a cycle boundary (e.g. when the cycle count is an integer) | |
jumpMod -- jump but next time the cycle count modulo the given integer is zero | |
mortal -- degrade the new pattern over time until it ends in silence | |
superwash -- washes away the current pattern after a certain delay by applying a function to it over time, then switching over to the next pattern to which another function is applied | |
wait -- just stop for a bit before playing new pattern | |
wash -- wash away the current pattern by applying a function to it over time, then switching over to the next | |
xfade -- crossfade between old and new pattern over the next two cycles | |
xfadeIn -- crossfades between old and new pattern over given number of cycles | |
-- Synth / SuperDirt Parameters -- | |
sound "" -- alias: s "" -- a pattern of strings representing sound sample names (required) | |
note -- alias: n - select sample number if SuperDirt or midi note from middle C if midi | |
gain -- a pattern of numbers that specify volume | |
pan -- range:0-1 - from left to right (assuming stereo) | |
speed -- changes the speed of sample playback, "-1" is backwards, polyphony with "[,]" | |
room and size -- amount of input into the reverb unit, and notional size of the room respectively | |
delay -- range:0-1 - sets the level of the delay signal | |
delayfeedback -- alias: delayt - range:0-1 - sets the amount of delay feedback | |
delaytime -- alias: delayfb - range:0-1 - Sets the length of the delay | |
cutoff -- alias: lpf - range:Hz - applies the cutoff frequency of the low-pass filter | |
resonance -- range:0-1 - applies the resonance of the low-pass filter | |
bandf -- alias: bpf - range:Hz - sets the center frequency of the band-pass filter | |
bandq -- range:0-1 - Sets the q-factor of the band-pass filter | |
hcutoff -- alias: hpf - range:Hz - applies the cutoff frequency of the high-pass filter | |
hresonance -- range:0-1 - applies the resonance of the high-pass filter | |
vowel -- formant filter with - a e i o u ~ - (requires Vowel superCollider Quark) | |
coarse -- fake-resampling, lowering the sample rate, i.e. 1 for original 2 for half, 3 for a third and so on. | |
crush -- bit crushing for drastic reduction in bit-depth to 16 for barely no reduction. | |
cut -- provide cut groups to reduce overlap of sounds, "-1" to only affect same folder | |
accelerate -- speed up (or slow down) samples while they play | |
legato -- controls the length of the sound (called sustain) relative to its “space” in the patter | |
loop -- loops the sample (from begin to end) the specified number of times | |
nudge -- pushes things forward or backwards within built-in latency in time, allows for swing | |
shape -- wave shaping distortion, a pattern of numbers from 0 for no distortion up to 1 for loads of distortion (watch your speakers!) | |
sustain -- sets the duration of the sound in seconds. Primarily used in SuperDirt for softsynths, but can be used for samples as well | |
unit -- controls how the speed parameter is interpreted, can either be 'rate (the default, percentage playback rate), 'cycle' (cycle/n), or 'secs' (n seconds), accepts values of “r” (default), “c”, or “s” | |
begin -- range:0-1 - Skips the beginning of each sample, e.g. 0.25 to cut off the first quarter from each sample. | |
end -- the same as begin, but cuts the end off samples, shortening them; e.g. 0.75 to cut off the last quarter of each sample. | |
phaserdepth | |
phaserrate | |
attack | |
hold | |
release | |
tremolodepth | |
tremolorate | |
buffer | |
delta | |
channel | |
endSpeed | |
lag | |
latency | |
offset | |
synthGroup | |
delayAmp | |
leslie | |
lrate | |
lsize | |
length | |
amp | |
lock | |
dryBus | |
effectBus | |
numChannels | |
server | |
dirtOut | |
i_out | |
instrument | |
unitDuration | |
buffer | |
fadeTime | |
fadeInTime | |
-- Utility -- | |
choose -- choose[1, 5, 7] randomly choose from a list | |
wchoose -- choose with weights - needs to be added manually | |
-- wchoose implementation | |
let wchoose pairs = choose $ concatMap (\x -> replicate (fst x) (snd x)) pairs | |
wchoose [(2,'a'),(1,'b')] | |
cycleChoose -- is like `choose` but only picks a new item from the list once each cycle | |
irand -- random integers - (irand 8) | |
pequal -- test if the first and the second given pattern are the same in the given number of cycles | |
rand -- random floats | |
run -- count up like an arpeggiator or for loop | |
scale -- (scale 0.1 0.5 rand) to scale the i.e. random function | |
up -- changes the speed of playback, but conforming to a 12-tone scale | |
orbit -- SuperDirt audio channel | |
-- LFOS -- | |
sine | |
tri | |
saw | |
square | |
-- MIDI / OSC -- | |
note -- alias: n - +60 offsetted midi note number for 0 middle C | |
midinote -- midi note number | |
-- Combining Parameters -- | |
#, |=| -- They mean the same thing: they merge ParamPatterns together | |
|+|, |*|, |-|, |/| -- Operate on ParamPatterns, and perform the arithmetic operation if the two parameters are the same (such as speed and speed), or simply merge the parameters just as # would if the parameters are different. | |
###, ***, +++, /// -- These take a list of ParamPatterns as their second argument, and merge them all together with the relevant arithmetic operator. | |
-- Operators -- | |
() -- haskell parentheses functional composition | |
$ -- An alternative to parentheses, means “evaluate everything on the right first” | |
. -- Function composition, needs functions with only a single argument unspecified | |
[,] -- haskell list | |
" " -- tidal pattern language | |
"bd" -- alias: "bd:0" - SuperDirt, play the first sample from the folder named bd | |
"~" -- rest | |
"[ ]" -- alias: "." - rhytmic grouping | |
"[,]" -- polyrhythm, polyphony | |
"{,}" -- polymeter | |
"{}%" -- polymeter with wrapping beat number | |
"< >" -- iterated pattern choice, where only one step is played per cycle | |
"<,>" -- | |
"bd(3,4,5)" -- alias: e - björklund euclidian rhythms with optional rotation | |
":" -- select a specific sample number from folder - sound "bd:3" | |
"*" -- fill, repeat + speedup sample or group by n times | |
"/" -- play sample or group only every n cycles | |
<~, ~> -- These time-shift the pattern on the RHS by the number of cycles on the LHS. (0.25 <~) | |
<~> -- Pattern replacement: takes the elements of the second pattern and makes a new pattern using the structure of the first | |
<<~, ~>> -- Pattern rotation, these move the elements of the pattern without changing the structure of the pattern | |
!!! -- List indexing with built-in modulo so you can’t go past the end of the list | |
<$> -- A synonym for fmap, useful for mapping numerical functions so they work on patterns. | |
<*> -- A synonym for ap, useful for promoting functions to work with patterns. | |
!! -- Haskell’s way of doing list indexing | |
-- Channels / DAW -- | |
d1,d2,d3... -- channels for SuperDirt | |
m1,m2,m3... -- convention for channel names for MIDI | |
d1 silence -- silence a channel | |
hush -- silence all sound | |
solo $ d1 $ sound "bd:1 sn:6" -- solo a sound | |
cps 1 -- cycles per second - cps (140/60/4) | |
bps (133/120) -- BPM | |
-- kindohm special functions | |
-- https://www.youtube.com/watch?v=BWqh15urAPw | |
let rip a b p = within (0.25 0.75) (slow 2 . rev . stut 8 a b) p | |
let rip' a b c d e p = within (a b) (slow 2 . rev . stut c d e) p | |
-- Libraries -- | |
-- SpectralTricks | |
-- https://github.com/datamads/SpectralTricks | |
freeze --Magnitude freeze - Accepts integers: 1 freezes the audio, 0 doesn't. | |
smear -- Magnitude smearing- Accepts floats to determine the amount of smearing. | |
comb -- A spectral comb filter - Number of teeth and width of the comb are all controlled using one floating point number | |
scram -- Bin scrambling - Accepts floats to control the width and placement of the scrambling in the spectrum | |
binshift -- Bin shifting - Both the stretching and shifting of bins are controlled by supplying this parameter with floats. | |
hbrick -- Spectral high pass filter - Accepts floats in values ranging from 0.0 to 1.0 | |
lbrick -- Spectral low pass filter - Accepts floats in values ranging from 0.0 to 1.0 | |
-- https://github.com/fp4me/tidal-chord | |
-- Custom Environments, server and livestreaming -- | |
-- Troop - https://github.com/Qirky/Troop | |
-- Siren - https://github.com/cannc4/Siren | |
-- https://www.youtube.com/watch?time_continue=6&v=g2dINLvLr1g | |
-- https://github.com/d0kt0r0/extramuros | |
-- https://github.com/d0kt0r0/estuary/ | |
-- https://github.com/lvm/tida1vm | |
-- https://github.com/DoubleDensity/tidebox | |
-- https://github.com/efairbanks/supertidebox | |
-- https://cockos.com/ninjam/ | |
-- https://www.artsmesh.com | |
-- Interfaces to other systems | |
-- Processing - https://github.com/yecto/s2hs2-TidalCycles-0.8- | |
-- https://github.com/moxuse/tidal-unity | |
-- https://github.com/lvm/Tidal-Unity | |
-- Automatic Code Generation | |
-- Tidal-Autocode https://atom.io/packages/tidal-autocode | |
-- more https://github.com/lvm/awesome-livecoding#libraries-and-tools | |
--That's not quite the same as a weighted randcat, but the cheesy version of that to just use replicate, I think this works: | |
randcat $ ["bd sn"] ++ replicate 3 "~" | |
-- Eric Fairbanks Heirarchical Variation -- | |
-- https://www.youtube.com/watch?v=zHyXtzpEEKc | |
-- applies the modifier to the pattern serially and conditionally, multiple times, dependent on the supplied speeds and whenmod parameters | |
whenmodr speeds numerators denominators modifier pattern | |
| done = modifiedpattern | |
| otherwise = whenmodr rests restn restd modifier modifiedpattern | |
where modifiedpattern = inside speed (whenmod numerator denominator (modifier)) $ pattern | |
numerator = (head numerators) | |
denominator = (head denominators) | |
speed = (head speeds) | |
done = (null $ tail speeds) && (null $ tail numerators) && (null $ tail denominators) | |
restn = if null (tail numerators) then [numerator] else (tail numerators) | |
restd = if null (tail denominators) then [denominator] else (tail denominators) | |
rests = if null (tail speeds) then [speed] else (tail speeds) | |
whenmods' speeds numerators denominators modifier pattern | |
| done = modifiedpattern | |
| otherwise = whenmods' rests restn restd modifier modifiedpattern | |
where modifiedpattern = inside speed (whenmod numerator denominator ((slow speed).(modifier))) $ pattern | |
numerator = (head numerators) | |
denominator = (head denominators) | |
speed = (head speeds) | |
done = (null $ tail speeds) && (null $ tail numerators) && (null $ tail denominators) | |
restn = if null (tail numerators) then [numerator] else (tail numerators) | |
restd = if null (tail denominators) then [denominator] else (tail denominators) | |
rests = if null (tail speeds) then [speed] else (tail speeds) | |
whenmods speeds numerators denominators newpattern pattern = | |
whenmods' speeds numerators denominators (const newpattern) pattern | |
-- replaces the pattern conditionally, multiple times, dependent on the supplied speeds and whenmod parameters | |
do | |
let fx = ((|*| gain 0.9).(superimpose (|*| speed 2) $).(fast 2).(|*| up 1).(|*| release 0.5)) | |
d1 $ stack [ | |
whenmods [1,2,4] [8] [7] (s "[bd bd sn:3]*8%3") $ s "[bd(2,2),sn:3(1,2,1),hh(2,4,1)]", | |
whenmodr [0.5,1,2,4] [8] [7] fx $ s "bass:3(1,1)" | |
] | |
---- More undocumented functions ---- | |
whenT | |
playWhen | |
playFor | |
filterValues | |
filterJust | |
filterOnsets | |
filterStartInRange | |
filterOnsetsInRange | |
seqToRelOnsetDeltas | |
segment | |
segment' | |
points | |
groupByTime | |
timeToRand | |
unDegradeBy | |
splitQueries | |
substruct | |
stripe -- n p@: repeats pattern @p@, @n@ times per cycle. So | |
-- similar to @fast@, but with random durations. The repetitions will | |
-- be continguous (touching, but not overlapping) and the durations | |
-- will add up to a single cycle. @n@ can be supplied as a pattern of | |
-- integers. | |
slowstripe -- n p@: The same as @stripe@, but the result is also | |
-- @n@ times slower, so that the mean average duration of the stripes | |
-- is exactly one cycle, and every @n@th stripe starts on a cycle | |
-- boundary (in indian classical terms, the @sam@). | |
parseLMRule -- Lindenmayer patterns, these go well with the step sequencer | |
-- general rule parser (strings map to strings) | |
parseLMRule' -- specific parser for step sequencer (chars map to string) | |
-- ruleset in form "a:b,b:ab" | |
unwrap' | |
chunk -- n f p@ treats the given pattern @p@ as having @n@ chunks, and applies the function @f@ to one of those sections per cycle, running from left to right | |
chunk' -- works much the same as `chunk`, but runs from right to left | |
inside | |
outside | |
loopFirst | |
timeLoop | |
ur | |
ur' | |
inhabit | |
repeatCycles | |
spaceOut -- @spaceOut xs p@ repeats a pattern @p@ at different durations given by the list of time values in @xs@ there is a kindohm video about this and nudge about flex tempo | |
flatpat | |
layer | |
breakUp -- | @breakUp@ finds events that share the same timespan, and spreads them out during that timespan, so for example @breakUp "[bd,sn]"@ gets turned into @"bd sn"@ | |
fill -- | @fill@ 'fills in' gaps in one pattern with events from another. For example @fill "bd" "cp ~ cp"@ would result in the equivalent of `"~ bd ~"`. This only finds gaps in a resulting pattern, in other words @"[bd ~, sn]"@ doesn't contain any gaps (because @sn@ covers it all), and @"bd ~ ~ sn"@ only contains a single gap that bridges two steps. | |
stutter | |
echo = stutter 2 | |
triple = stutter 3 | |
quad = stutter 4 | |
double = echo | |
samples -- to use numbers for rhythm instead? | |
-- samples "jvbass [~ latibro] [jvbass [latibro jvbass]]" ((1%2) `rotL` slow 6 "[1 6 8 7 3]") | |
spreadf ts p = spread ($) | |
scalex -- exponential scale | |
_off | |
offadd | |
ghost | |
ghost' | |
ghost'' | |
slice | |
randslice | |
tabby | |
striateO | |
_striate' | |
_striateO | |
striateL | |
striateL' | |
_striateL | |
durPattern | |
durPattern' | |
stutx | |
soundToOrbit | |
sieveToList | |
sieveToString | |
sieveToInts | |
sieveToPat | |
stepSieve | |
slowstepSieve | |
scaleSieve | |
cyclePos | |
sam | |
nextSam | |
enumerate | |
mapFst | |
mapFsts | |
mapSnd | |
mapSnds | |
-- found in the documentation task management list -- | |
e' en compress unDegradeBy discretise enumerate envL envLR envEq envEqR fadeIn fadeIn' fadeOut fadeOut' ghost grp inside index jux4 jux' juxcut lindenmayer stutter echo double triple quad spreadf protate prr prrw prw prot preplace, prep preplaceWith off offadd slice randslice scan stretch striateO stackwith step steps permstep pick overlay samples samples' struct weave' begin "-1" loop offset make merge mergelists metronome points segment sig split tom unwrap sinerat sawrat trirat spreadChoose | |
-- Pattern -- | |
e' | |
en | |
compress | |
unDegradeBy | |
discretise | |
enumerate | |
envL -- envL is a pattern of continuous Double values, representing | |
-- a linear interpolation between 0 and 1 during the first cycle, then | |
-- staying constant at 1 for all following cycles. Possibly only | |
-- useful if you're using something like the retrig function defined | |
-- in tidal.el. | |
envLR -- like envL but reversed. | |
envEq -- 'Equal power' for gain-based transitions | |
envEqR -- Equal power reversed | |
fadeIn | |
fadeIn' -- The 1 <~ is so fade ins and outs have different degredations | |
fadeOut | |
fadeOut'-- Alternate versions where you can provide the time from which the fade starts | |
ghost | |
grp | |
inside | |
index | |
jux4 | |
jux' | |
juxcut | |
lindenmayer --l indenmayer 1 "a:b,b:ab" "ab" -> "bab" | |
stutter | |
echo/double | |
triple | |
quad | |
spreadf | |
protate | |
prr | |
prrw | |
prw | |
prot | |
preplace, prep | |
preplaceWith | |
off | |
offadd | |
slice | |
randslice | |
scan | |
stretch | |
-- Sample -- | |
striateO | |
-- Compositions -- | |
stackwith | |
step | |
steps | |
permstep | |
pick | |
overlay -- combines two @Pattern@s into a new pattern, so that their events are combined over time. This is the same as the infix operator `<>` | |
samples | |
samples' | |
struct | |
weave' | |
spreadChoose | |
-- Synth Params -- | |
begin "-1" | |
loop | |
offset | |
-- Utility -- | |
make | |
merge | |
mergelists | |
metronome | |
points | |
segment | |
sig | |
split | |
tom | |
unwrap | |
-- Continuous Patterns -- | |
sinerat | |
sawrat | |
trirat | |
-- SuperDirt Samples whitout sample amount numbers as body and list text -- | |
" | |
808 808bd 808cy 808hc 808ht 808lc 808lt 808mc 808mt 808oh 808sd ab ade ades2 ades3 ades4 alex alphabet amencutup armora arp arpy auto baa baa2 bass bass0 bass1 bass2 bass3 bassdm bassfoo battles bd bend bev bin birds3 bleep blip blue bottle breaks125 breaks152 breaks157 breaks165 breath bubble can casio cc chin chink circus clak click co cosmicg cp cr crow d db diphone diphone2 dist dork2 dorkbot dr dr2 dr55 dr_few drum drumtraks e east electro1 erk f feel feelfx fest fire flick foo future gab gabba gabbaloud gabbalouder glasstap glitch glitch2 gretsch h hand hardcore haw hc hh hh27 hit hmm ho house ht if ifdrums incoming industrial insect invaders jazz jungbass jungle jvbass koy kurt latibro led less lighter lt made made2 mash mash2 metal miniyeah moan monsterb moog mouth mp3 msg mt mute newnotes noise noise2 notes numbers oc odx off pad padlong pebbles perc peri pluck print proc procshort psr rave rave2 ravemono rm sax seawolf sequential sf sheffield short sid sine sitar sn space speech speechless speedupdown stab stomp subroc3d sugar sundance tabla tabla2 tablex tacscan tech techno tink tok toys trump ul ulgab uxay v voodoo wind wobble world xmas yeah | |
808 | |
808bd | |
808cy | |
808hc | |
808ht | |
808lc | |
808lt | |
808mc | |
808mt | |
808oh | |
808sd | |
ab | |
ade | |
ades2 | |
ades3 | |
ades4 | |
alex | |
alphabet | |
amencutup | |
armora | |
arp | |
arpy | |
auto | |
baa | |
baa2 | |
bass | |
bass0 | |
bass1 | |
bass2 | |
bass3 | |
bassdm | |
bassfoo | |
battles | |
bd | |
bend | |
bev | |
bin | |
birds3 | |
bleep | |
blip | |
blue | |
bottle | |
breaks125 | |
breaks152 | |
breaks157 | |
breaks165 | |
breath | |
bubble | |
can | |
casio | |
cc | |
chin | |
chink | |
circus | |
clak | |
click | |
co | |
cosmicg | |
cp | |
cr | |
crow | |
d | |
db | |
diphone | |
diphone2 | |
dist | |
dork2 | |
dorkbot | |
dr | |
dr2 | |
dr55 | |
dr_few | |
drum | |
drumtraks | |
e | |
east | |
electro1 | |
erk | |
f | |
feel | |
feelfx | |
fest | |
fire | |
flick | |
foo | |
future | |
gab | |
gabba | |
gabbaloud | |
gabbalouder | |
glasstap | |
glitch | |
glitch2 | |
gretsch | |
h | |
hand | |
hardcore | |
haw | |
hc | |
hh | |
hh27 | |
hit | |
hmm | |
ho | |
house | |
ht | |
if | |
ifdrums | |
incoming | |
industrial | |
insect | |
invaders | |
jazz | |
jungbass | |
jungle | |
jvbass | |
koy | |
kurt | |
latibro | |
led | |
less | |
lighter | |
lt | |
made | |
made2 | |
mash | |
mash2 | |
metal | |
miniyeah | |
moan | |
monsterb | |
moog | |
mouth | |
mp3 | |
msg | |
mt | |
mute | |
newnotes | |
noise | |
noise2 | |
notes | |
numbers | |
oc | |
odx | |
off | |
pad | |
padlong | |
pebbles | |
perc | |
peri | |
pluck | |
proc | |
procshort | |
psr | |
rave | |
rave2 | |
ravemono | |
rm | |
sax | |
seawolf | |
sequential | |
sf | |
sheffield | |
short | |
sid | |
sine | |
sitar | |
sn | |
space | |
speech | |
speechless | |
speedupdown | |
stab | |
stomp | |
subroc3d | |
sugar | |
sundance | |
tabla | |
tabla2 | |
tablex | |
tacscan | |
tech | |
techno | |
tink | |
tok | |
toys | |
trump | |
ul | |
ulgab | |
uxay | |
v | |
voodoo | |
wind | |
wobble | |
world | |
xmas | |
yeah | |
-- SuperDirt Samples whith sample amount numbers as body and list text | |
808 (6) 808bd (25) 808cy (25) 808hc (5) 808ht (5) 808lc (5) 808lt (5) 808mc (5) 808mt (5) 808oh (5) 808sd (25) 909 (1) ab (12) ade (10) ades2 (9) ades3 (7) ades4 (6) alex (2) alphabet (26) amencutup (32) armora (7) arp (2) arpy (11) auto (11) baa (7) baa2 (7) bass (4) bass0 (3) bass1 (30) bass2 (5) bass3 (11) bassdm (24) bassfoo (3) battles (2) bd (24) bend (4) bev (2) bin (2) birds3 (19) bleep (13) blip (2) blue (2) bottle (13) breaks125 (2) breaks152 (1) breaks157 (1) breaks165 (1) breath (1) bubble (8) can (14) casio (3) cc (6) chin (4) chink (1) circus (3) clak (2) click (4) co (4) cosmicg (15) cp (2) cr (6) crow (4) d (4) db (13) diphone (38) diphone2 (12) dist (16) dork2 (4) dorkbot (2) dr (42) dr2 (6) dr55 (4) dr_few (8) drum (6) drumtraks (13) e (8) east (9) electro1 (13) erk (1) f (1) feel (7) feelfx (8) fest (1) fire (1) flick (17) foo (27) future (17) gab (10) gabba (4) gabbaloud (4) gabbalouder (4) glasstap (3) glitch (8) glitch2 (8) gretsch (24) h (7) hand (17) hardcore (12) haw (6) hc (6) hh (13) hh27 (13) hit (6) hmm (1) ho (6) house (8) ht (16) if (5) ifdrums (3) incoming (8) industrial (32) insect (3) invaders (18) jazz (8) jungbass (20) jungle (13) jvbass (13) koy (2) kurt (7) latibro (8) led (1) less (4) lighter (33) lt (16) made (7) made2 (1) mash (2) mash2 (4) metal (10) miniyeah (4) moan (1) monsterb (6) moog (7) mouth (15) mp3 (4) msg (9) mt (16) mute (28) newnotes (15) noise (1) noise2 (8) notes (15) numbers (9) oc (4) odx (15) off (1) pad (3) padlong (1) pebbles (1) perc (6) peri (15) pluck (17) print (11) proc (2) procshort (8) psr (30) rave (8) rave2 (4) ravemono (2) rm (2) sax (22) seawolf (3) sequential (8) sf (18) sheffield (1) short (5) sid (12) sine (6) sitar (8) sn (52) space (18) speech (7) speechless (10) speedupdown (9) stab (23) stomp (10) subroc3d (11) sugar (2) sundance (6) tabla (26) tabla2 (46) tablex (3) tacscan (22) tech (13) techno (7) tink (5) tok (4) toys (13) trump (11) ul (10) ulgab (5) uxay (3) v (6) voodoo (5) wind (10) wobble (1) world (3) xmas (1) yeah (31) | |
808 (6) | |
808bd (25) | |
808cy (25) | |
808hc (5) | |
808ht (5) | |
808lc (5) | |
808lt (5) | |
808mc (5) | |
808mt (5) | |
808oh (5) | |
808sd (25) | |
909 (1) | |
ab (12) | |
ade (10) | |
ades2 (9) | |
ades3 (7) | |
ades4 (6) | |
alex (2) | |
alphabet (26) | |
amencutup (32) | |
armora (7) | |
arp (2) | |
arpy (11) | |
auto (11) | |
baa (7) | |
baa2 (7) | |
bass (4) | |
bass0 (3) | |
bass1 (30) | |
bass2 (5) | |
bass3 (11) | |
bassdm (24) | |
bassfoo (3) | |
battles (2) | |
bd (24) | |
bend (4) | |
bev (2) | |
bin (2) | |
birds3 (19) | |
bleep (13) | |
blip (2) | |
blue (2) | |
bottle (13) | |
breaks125 (2) | |
breaks152 (1) | |
breaks157 (1) | |
breaks165 (1) | |
breath (1) | |
bubble (8) | |
can (14) | |
casio (3) | |
cc (6) | |
chin (4) | |
chink (1) | |
circus (3) | |
clak (2) | |
click (4) | |
co (4) | |
cosmicg (15) | |
cp (2) | |
cr (6) | |
crow (4) | |
d (4) | |
db (13) | |
diphone (38) | |
diphone2 (12) | |
dist (16) | |
dork2 (4) | |
dorkbot (2) | |
dr (42) | |
dr2 (6) | |
dr55 (4) | |
dr_few (8) | |
drum (6) | |
drumtraks (13) | |
e (8) | |
east (9) | |
electro1 (13) | |
erk (1) | |
f (1) | |
feel (7) | |
feelfx (8) | |
fest (1) | |
fire (1) | |
flick (17) | |
foo (27) | |
future (17) | |
gab (10) | |
gabba (4) | |
gabbaloud (4) | |
gabbalouder (4) | |
glasstap (3) | |
glitch (8) | |
glitch2 (8) | |
gretsch (24) | |
h (7) | |
hand (17) | |
hardcore (12) | |
haw (6) | |
hc (6) | |
hh (13) | |
hh27 (13) | |
hit (6) | |
hmm (1) | |
ho (6) | |
house (8) | |
ht (16) | |
if (5) | |
ifdrums (3) | |
incoming (8) | |
industrial (32) | |
insect (3) | |
invaders (18) | |
jazz (8) | |
jungbass (20) | |
jungle (13) | |
jvbass (13) | |
koy (2) | |
kurt (7) | |
latibro (8) | |
led (1) | |
less (4) | |
lighter (33) | |
lt (16) | |
made (7) | |
made2 (1) | |
mash (2) | |
mash2 (4) | |
metal (10) | |
miniyeah (4) | |
moan (1) | |
monsterb (6) | |
moog (7) | |
mouth (15) | |
mp3 (4) | |
msg (9) | |
mt (16) | |
mute (28) | |
newnotes (15) | |
noise (1) | |
noise2 (8) | |
notes (15) | |
numbers (9) | |
oc (4) | |
odx (15) | |
off (1) | |
pad (3) | |
padlong (1) | |
pebbles (1) | |
perc (6) | |
peri (15) | |
pluck (17) | |
print (11) | |
proc (2) | |
procshort (8) | |
psr (30) | |
rave (8) | |
rave2 (4) | |
ravemono (2) | |
rm (2) | |
sax (22) | |
seawolf (3) | |
sequential (8) | |
sf (18) | |
sheffield (1) | |
short (5) | |
sid (12) | |
sine (6) | |
sitar (8) | |
sn (52) | |
space (18) | |
speech (7) | |
speechless (10) | |
speedupdown (9) | |
stab (23) | |
stomp (10) | |
subroc3d (11) | |
sugar (2) | |
sundance (6) | |
tabla (26) | |
tabla2 (46) | |
tablex (3) | |
tacscan (22) | |
tech (13) | |
techno (7) | |
tink (5) | |
tok (4) | |
toys (13) | |
trump (11) | |
ul (10) | |
ulgab (5) | |
uxay (3) | |
v (6) | |
voodoo (5) | |
wind (10) | |
wobble (1) | |
world (3) | |
xmas (1) | |
yeah (31) | |
" | |
-- bonus code to randombly hear all the SuperDirt Samples -- | |
d1 $ density (irand 4) $ s (randcat ["808","808bd","808cy","808hc","808ht","808lc","808lt","808mc","808mt","808oh","808sd","ab","ade","ades2","ad","es3","ades4","alex","alphabet","amencutup","armora","arp","arpy","auto","baa","baa2","bass","bass0","bass1","bass2","bass3","bassdm","bassfoo","battles","bd","bend","bev","bin","birds3","bleep","blip","blue","bottle","breaks125","breaks152","breaks157","breaks165","breath","bubble","can","casio","cc","chin","chink","circus","clak","click","co","cosmicg","cp","cr","crow","d","db","diphone","diphone2","dist","dork2","dorkbot","dr","dr2","dr55","dr_few","drum","drumtraks","e","east","electro1","erk","f","feel","feelfx","fest","fire","flick","foo","future","gab","gabba","gabbaloud","gabbalouder","glasstap","glitch","glitch2","gretsch","h","hand","hardcore","haw","hc","hh","hh27","hit","hmm","ho","house","ht","if","ifdrums","incoming","industrial","insect","invaders","jazz","jungbass","jungle","jvbass","koy","kurt","latibro","led","less","lighter","lt","made","made2","mash","mash2","metal","miniyeah","moan","monsterb","moog","mouth","mp3","msg","mt","mute","newnotes","noise","noise2","notes","numbers","oc","odx","off","pad","padlong","pebbles","perc","peri","pluck","print","proc","procshort","psr","rave","rave2","ravemono","rm","sax","seawolf","sequential","sf","sheffield","short","sid","sine","sitar","sn","space","speech","speechless","speedupdown","stab","stomp","subroc3d","sugar","sundance","tabla","tabla2","tablex","tacscan","tech","techno","tink","tok","toys","trump","ul","ulgab","uxay","v","voodoo","wind","wobble","world","xmas","yeah"]) # n (irand 46) | |
# delay (slow 8 $ scale 0.1 0.4 rand) | |
# delaytime (slow 6 $ scale 0.001 0.2 rand) | |
# delayfeedback (slow 4 $ scale 0.1 0.8 rand) | |
# room 0.7 | |
# size 0.4 | |
# gain 1.8 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment