Safe Haskell | None |
---|---|
Language | Haskell2010 |
- grp :: [Param] -> Pattern String -> ParamPattern
- sound :: Pattern String -> ParamPattern
- s :: Pattern String -> ParamPattern
- pF :: String -> Maybe Double -> (Pattern Double -> ParamPattern, Param)
- pI :: String -> Maybe Int -> (Pattern Int -> ParamPattern, Param)
- pS :: String -> Maybe String -> (Pattern String -> ParamPattern, Param)
- accelerate :: Pattern Double -> ParamPattern
- attack :: Pattern Double -> ParamPattern
- bandf :: Pattern Double -> ParamPattern
- bandq :: Pattern Double -> ParamPattern
- begin_p :: Param
- channel_p :: Param
- legato_p :: Param
- clhatdecay_p :: Param
- coarse_p :: Param
- crush_p :: Param
- begin :: Pattern Double -> ParamPattern
- legato :: Pattern Double -> ParamPattern
- clhatdecay :: Pattern Double -> ParamPattern
- crush :: Pattern Double -> ParamPattern
- channel :: Pattern Int -> ParamPattern
- coarse :: Pattern Int -> ParamPattern
- cut :: Pattern Int -> ParamPattern
- cutoff :: Pattern Double -> ParamPattern
- cutoffegint :: Pattern Double -> ParamPattern
- decay :: Pattern Double -> ParamPattern
- delay :: Pattern Double -> ParamPattern
- delayfeedback :: Pattern Double -> ParamPattern
- delaytime :: Pattern Double -> ParamPattern
- detune :: Pattern Double -> ParamPattern
- dry :: Pattern Double -> ParamPattern
- end :: Pattern Double -> ParamPattern
- gain :: Pattern Double -> ParamPattern
- gate :: Pattern Double -> ParamPattern
- hatgrain :: Pattern Double -> ParamPattern
- hcutoff :: Pattern Double -> ParamPattern
- hold :: Pattern Double -> ParamPattern
- hresonance :: Pattern Double -> ParamPattern
- kriole :: Pattern Int -> ParamPattern
- lagogo :: Pattern Double -> ParamPattern
- lclap :: Pattern Double -> ParamPattern
- lclaves :: Pattern Double -> ParamPattern
- lclhat :: Pattern Double -> ParamPattern
- lcrash :: Pattern Double -> ParamPattern
- lfo :: Pattern Double -> ParamPattern
- lfocutoffint :: Pattern Double -> ParamPattern
- lfodelay :: Pattern Double -> ParamPattern
- lfoint :: Pattern Double -> ParamPattern
- lfopitchint :: Pattern Double -> ParamPattern
- lfoshape :: Pattern Double -> ParamPattern
- lfosync :: Pattern Double -> ParamPattern
- lhitom :: Pattern Double -> ParamPattern
- lkick :: Pattern Double -> ParamPattern
- llotom :: Pattern Double -> ParamPattern
- lock :: Pattern Double -> ParamPattern
- loop :: Pattern Double -> ParamPattern
- lophat :: Pattern Double -> ParamPattern
- lsnare :: Pattern Double -> ParamPattern
- n :: Pattern Int -> ParamPattern
- degree :: Pattern Double -> ParamPattern
- mtranspose :: Pattern Double -> ParamPattern
- ctranspose :: Pattern Double -> ParamPattern
- harmonic :: Pattern Double -> ParamPattern
- stepsPerOctave :: Pattern Double -> ParamPattern
- octaveRatio :: Pattern Double -> ParamPattern
- degree_p :: Param
- mtranspose_p :: Param
- ctranspose_p :: Param
- harmonic_p :: Param
- stepsPerOctave_p :: Param
- octaveRatio_p :: Param
- nudge :: Pattern Double -> ParamPattern
- octave :: Pattern Int -> ParamPattern
- offset :: Pattern Double -> ParamPattern
- ophatdecay :: Pattern Double -> ParamPattern
- orbit :: Pattern Int -> ParamPattern
- pan :: Pattern Double -> ParamPattern
- panspan :: Pattern Double -> ParamPattern
- pansplay :: Pattern Double -> ParamPattern
- panwidth :: Pattern Double -> ParamPattern
- panorient :: Pattern Double -> ParamPattern
- pitch1 :: Pattern Double -> ParamPattern
- pitch2 :: Pattern Double -> ParamPattern
- pitch3 :: Pattern Double -> ParamPattern
- portamento :: Pattern Double -> ParamPattern
- release :: Pattern Double -> ParamPattern
- resonance :: Pattern Double -> ParamPattern
- room :: Pattern Double -> ParamPattern
- sagogo :: Pattern Double -> ParamPattern
- sclap :: Pattern Double -> ParamPattern
- sclaves :: Pattern Double -> ParamPattern
- scrash :: Pattern Double -> ParamPattern
- semitone :: Pattern Double -> ParamPattern
- shape :: Pattern Double -> ParamPattern
- size :: Pattern Double -> ParamPattern
- slide :: Pattern Double -> ParamPattern
- speed :: Pattern Double -> ParamPattern
- s' :: Pattern String -> ParamPattern
- stutterdepth :: Pattern Double -> ParamPattern
- stuttertime :: Pattern Double -> ParamPattern
- sustain :: Pattern Double -> ParamPattern
- tomdecay :: Pattern Double -> ParamPattern
- unit :: Pattern String -> ParamPattern
- velocity :: Pattern Double -> ParamPattern
- vcfegint :: Pattern Double -> ParamPattern
- vcoegint :: Pattern Double -> ParamPattern
- voice :: Pattern Double -> ParamPattern
- vowel :: Pattern String -> ParamPattern
- dur :: Pattern Double -> ParamPattern
- modwheel :: Pattern Double -> ParamPattern
- expression :: Pattern Double -> ParamPattern
- sustainpedal :: Pattern Double -> ParamPattern
- tremolorate :: Pattern Double -> ParamPattern
- tremolodepth :: Pattern Double -> ParamPattern
- tremolorate_p :: Param
- tremolodepth_p :: Param
- phaserrate :: Pattern Double -> ParamPattern
- phaserdepth :: Pattern Double -> ParamPattern
- phaserrate_p :: Param
- phaserdepth_p :: Param
- att :: Pattern Double -> ParamPattern
- chdecay :: Pattern Double -> ParamPattern
- ctf :: Pattern Double -> ParamPattern
- ctfg :: Pattern Double -> ParamPattern
- delayfb :: Pattern Double -> ParamPattern
- delayt :: Pattern Double -> ParamPattern
- lbd :: Pattern Double -> ParamPattern
- lch :: Pattern Double -> ParamPattern
- lcl :: Pattern Double -> ParamPattern
- lcp :: Pattern Double -> ParamPattern
- lcr :: Pattern Double -> ParamPattern
- lfoc :: Pattern Double -> ParamPattern
- lfoi :: Pattern Double -> ParamPattern
- lfop :: Pattern Double -> ParamPattern
- lht :: Pattern Double -> ParamPattern
- llt :: Pattern Double -> ParamPattern
- loh :: Pattern Double -> ParamPattern
- lsn :: Pattern Double -> ParamPattern
- ohdecay :: Pattern Double -> ParamPattern
- pit1 :: Pattern Double -> ParamPattern
- pit2 :: Pattern Double -> ParamPattern
- pit3 :: Pattern Double -> ParamPattern
- por :: Pattern Double -> ParamPattern
- sag :: Pattern Double -> ParamPattern
- scl :: Pattern Double -> ParamPattern
- scp :: Pattern Double -> ParamPattern
- scr :: Pattern Double -> ParamPattern
- sld :: Pattern Double -> ParamPattern
- std :: Pattern Double -> ParamPattern
- stt :: Pattern Double -> ParamPattern
- sus :: Pattern Double -> ParamPattern
- tdecay :: Pattern Double -> ParamPattern
- vcf :: Pattern Double -> ParamPattern
- vco :: Pattern Double -> ParamPattern
- voi :: Pattern Double -> ParamPattern
- bpf :: Pattern Double -> ParamPattern
- bpf_p :: Param
- bpq :: Pattern Double -> ParamPattern
- bpq_p :: Param
- det :: Pattern Double -> ParamPattern
- gat :: Pattern Double -> ParamPattern
- hg :: Pattern Double -> ParamPattern
- hpf :: Pattern Double -> ParamPattern
- hpf_p :: Param
- hpq :: Pattern Double -> ParamPattern
- hpq_p :: Param
- lag :: Pattern Double -> ParamPattern
- lpf :: Pattern Double -> ParamPattern
- lpf_p :: Param
- lpq :: Pattern Double -> ParamPattern
- lpq_p :: Param
- rel :: Pattern Double -> ParamPattern
- note :: Pattern Int -> ParamPattern
- midinote :: Pattern Int -> ParamPattern
- drum :: Pattern String -> ParamPattern
- drumN :: String -> Int
Documentation
sound :: Pattern String -> ParamPattern Source #
A pattern of strings representing sounds or synth notes.
Internally, sound
or its shorter alias s
is a combination of the samplebank name and number when used with samples, or synth name and note number when used with a synthesiser. For example `bd:2` specifies the third sample (not the second as you might expect, because we start counting at zero) in the bd
sample folder.
- Internally,
sound
/s
is a combination of two parameters, the hidden parameters'
which specifies the samplebank or synth, and then
parameter which specifies the sample or note number. For example:
d1 $ sound "bd:2 sn:0"
is essentially the same as:
d1 $ s' "bd sn" # n "2 0"
n
is therefore useful when you want to pattern the sample or note
number separately from the samplebank or synth. For example:
d1 $ n "0 5 ~ 2" # sound "drum"
is equivalent to:
d1 $ sound "drum:0 drum:5 ~ drum:2"
accelerate :: Pattern Double -> ParamPattern Source #
a pattern of numbers that speed up (or slow down) samples while they play.
attack :: Pattern Double -> ParamPattern Source #
a pattern of numbers to specify the attack time (in seconds) of an envelope applied to each sample. Only takes effect if release
is also specified.
bandf :: Pattern Double -> ParamPattern Source #
a pattern of numbers from 0 to 1. Sets the center frequency of the band-pass filter.
bandq :: Pattern Double -> ParamPattern Source #
a pattern of numbers from 0 to 1. Sets the q-factor of the band-pass filter.
a pattern of numbers from 0 to 1. Skips the beginning of each sample, e.g. `0.25` to cut off the first quarter from each sample.
Using `begin "-1"` combined with `cut "-1"` means that when the sample cuts itself it will begin playback from where the previous one left off, so it will sound like one seamless sample. This allows you to apply a synth param across a long sample in a way similar to chop
:
cps 0.5 d1 $ sound "breaks125*8" begin "-1" coarse "1 2 4 8 16 32 64 128"
This will play the breaks125
sample and apply the changing coarse
parameter over the sample. Compare to:
d1 $ (chop 8 $ sounds "breaks125") coarse "1 2 4 8 16 32 64 128"
which performs a similar effect, but due to differences in implementation sounds different.
a pattern of numbers from 0 to 1. Skips the beginning of each sample, e.g. `0.25` to cut off the first quarter from each sample.
Using `begin "-1"` combined with `cut "-1"` means that when the sample cuts itself it will begin playback from where the previous one left off, so it will sound like one seamless sample. This allows you to apply a synth param across a long sample in a way similar to chop
:
cps 0.5 d1 $ sound "breaks125*8" begin "-1" coarse "1 2 4 8 16 32 64 128"
This will play the breaks125
sample and apply the changing coarse
parameter over the sample. Compare to:
d1 $ (chop 8 $ sounds "breaks125") coarse "1 2 4 8 16 32 64 128"
which performs a similar effect, but due to differences in implementation sounds different.
a pattern of numbers from 0 to 1. Skips the beginning of each sample, e.g. `0.25` to cut off the first quarter from each sample.
Using `begin "-1"` combined with `cut "-1"` means that when the sample cuts itself it will begin playback from where the previous one left off, so it will sound like one seamless sample. This allows you to apply a synth param across a long sample in a way similar to chop
:
cps 0.5 d1 $ sound "breaks125*8" begin "-1" coarse "1 2 4 8 16 32 64 128"
This will play the breaks125
sample and apply the changing coarse
parameter over the sample. Compare to:
d1 $ (chop 8 $ sounds "breaks125") coarse "1 2 4 8 16 32 64 128"
which performs a similar effect, but due to differences in implementation sounds different.
clhatdecay_p :: Param Source #
a pattern of numbers from 0 to 1. Skips the beginning of each sample, e.g. `0.25` to cut off the first quarter from each sample.
Using `begin "-1"` combined with `cut "-1"` means that when the sample cuts itself it will begin playback from where the previous one left off, so it will sound like one seamless sample. This allows you to apply a synth param across a long sample in a way similar to chop
:
cps 0.5 d1 $ sound "breaks125*8" begin "-1" coarse "1 2 4 8 16 32 64 128"
This will play the breaks125
sample and apply the changing coarse
parameter over the sample. Compare to:
d1 $ (chop 8 $ sounds "breaks125") coarse "1 2 4 8 16 32 64 128"
which performs a similar effect, but due to differences in implementation sounds different.
a pattern of numbers from 0 to 1. Skips the beginning of each sample, e.g. `0.25` to cut off the first quarter from each sample.
Using `begin "-1"` combined with `cut "-1"` means that when the sample cuts itself it will begin playback from where the previous one left off, so it will sound like one seamless sample. This allows you to apply a synth param across a long sample in a way similar to chop
:
cps 0.5 d1 $ sound "breaks125*8" begin "-1" coarse "1 2 4 8 16 32 64 128"
This will play the breaks125
sample and apply the changing coarse
parameter over the sample. Compare to:
d1 $ (chop 8 $ sounds "breaks125") coarse "1 2 4 8 16 32 64 128"
which performs a similar effect, but due to differences in implementation sounds different.
a pattern of numbers from 0 to 1. Skips the beginning of each sample, e.g. `0.25` to cut off the first quarter from each sample.
Using `begin "-1"` combined with `cut "-1"` means that when the sample cuts itself it will begin playback from where the previous one left off, so it will sound like one seamless sample. This allows you to apply a synth param across a long sample in a way similar to chop
:
cps 0.5 d1 $ sound "breaks125*8" begin "-1" coarse "1 2 4 8 16 32 64 128"
This will play the breaks125
sample and apply the changing coarse
parameter over the sample. Compare to:
d1 $ (chop 8 $ sounds "breaks125") coarse "1 2 4 8 16 32 64 128"
which performs a similar effect, but due to differences in implementation sounds different.
clhatdecay :: Pattern Double -> ParamPattern Source #
crush :: Pattern Double -> ParamPattern Source #
bit crushing, a pattern of numbers from 1 (for drastic reduction in bit-depth) to 16 (for barely no reduction).
channel :: Pattern Int -> ParamPattern Source #
choose the physical channel the pattern is sent to, this is super dirt specific
coarse :: Pattern Int -> ParamPattern Source #
fake-resampling, a pattern of numbers for lowering the sample rate, i.e. 1 for original 2 for half, 3 for a third and so on.
cut :: Pattern Int -> ParamPattern Source #
In the style of classic drum-machines, cut
will stop a playing sample as soon as another samples with in same cutgroup is to be played.
An example would be an open hi-hat followed by a closed one, essentially muting the open.
d1 $ stack [ sound "bd", sound "~ [~ [ho:2 hc/2]]" # cut "1" ]
This will mute the open hi-hat every second cycle when the closed one is played.
Using cut
with negative values will only cut the same sample. This is useful to cut very long samples
d1 $ sound "bev, [ho:3]" # cut "-1"
Using `cut "0"` is effectively _no_ cutgroup.
cutoff :: Pattern Double -> ParamPattern Source #
a pattern of numbers from 0 to 1. Applies the cutoff frequency of the low-pass filter.
cutoffegint :: Pattern Double -> ParamPattern Source #
delay :: Pattern Double -> ParamPattern Source #
a pattern of numbers from 0 to 1. Sets the level of the delay signal.
delayfeedback :: Pattern Double -> ParamPattern Source #
a pattern of numbers from 0 to 1. Sets the amount of delay feedback.
delaytime :: Pattern Double -> ParamPattern Source #
a pattern of numbers from 0 to 1. Sets the length of the delay.
gain :: Pattern Double -> ParamPattern Source #
a pattern of numbers that specify volume. Values less than 1 make the sound quieter. Values greater than 1 make the sound louder.
hcutoff :: Pattern Double -> ParamPattern Source #
a pattern of numbers from 0 to 1. Applies the cutoff frequency of the high-pass filter.
hresonance :: Pattern Double -> ParamPattern Source #
a pattern of numbers from 0 to 1. Applies the resonance of the high-pass filter.
lfocutoffint :: Pattern Double -> ParamPattern Source #
lfopitchint :: Pattern Double -> ParamPattern Source #
lock :: Pattern Double -> ParamPattern Source #
A pattern of numbers. Specifies whether delaytime is calculated relative to cps. When set to 1, delaytime is a direct multiple of a cycle.
degree :: Pattern Double -> ParamPattern Source #
Pushes things forward (or backwards within built-in latency) in time. Allows for nice things like _swing_ feeling:
d1 $ stack [ sound "bd bd/4", sound "hh(5,8)" ] # nudge "[0 0.04]*4"
- -pitch model
mtranspose :: Pattern Double -> ParamPattern Source #
Pushes things forward (or backwards within built-in latency) in time. Allows for nice things like _swing_ feeling:
d1 $ stack [ sound "bd bd/4", sound "hh(5,8)" ] # nudge "[0 0.04]*4"
- -pitch model
ctranspose :: Pattern Double -> ParamPattern Source #
Pushes things forward (or backwards within built-in latency) in time. Allows for nice things like _swing_ feeling:
d1 $ stack [ sound "bd bd/4", sound "hh(5,8)" ] # nudge "[0 0.04]*4"
- -pitch model
harmonic :: Pattern Double -> ParamPattern Source #
Pushes things forward (or backwards within built-in latency) in time. Allows for nice things like _swing_ feeling:
d1 $ stack [ sound "bd bd/4", sound "hh(5,8)" ] # nudge "[0 0.04]*4"
- -pitch model
stepsPerOctave :: Pattern Double -> ParamPattern Source #
Pushes things forward (or backwards within built-in latency) in time. Allows for nice things like _swing_ feeling:
d1 $ stack [ sound "bd bd/4", sound "hh(5,8)" ] # nudge "[0 0.04]*4"
- -pitch model
octaveRatio :: Pattern Double -> ParamPattern Source #
Pushes things forward (or backwards within built-in latency) in time. Allows for nice things like _swing_ feeling:
d1 $ stack [ sound "bd bd/4", sound "hh(5,8)" ] # nudge "[0 0.04]*4"
- -pitch model
mtranspose_p :: Param Source #
ctranspose_p :: Param Source #
harmonic_p :: Param Source #
ophatdecay :: Pattern Double -> ParamPattern Source #
orbit :: Pattern Int -> ParamPattern Source #
a pattern of numbers. An orbit
is a global parameter context for patterns. Patterns with the same orbit will share hardware output bus offset and global effects, e.g. reverb and delay. The maximum number of orbits is specified in the superdirt startup, numbers higher than maximum will wrap around.
pan :: Pattern Double -> ParamPattern Source #
a pattern of numbers between 0 and 1, from left to right (assuming stereo), once round a circle (assuming multichannel)
panspan :: Pattern Double -> ParamPattern Source #
a pattern of numbers between -inf and inf, which controls how much multichannel output is fanned out (negative is backwards ordering)
pansplay :: Pattern Double -> ParamPattern Source #
a pattern of numbers between 0.0 and 1.0, which controls the multichannel spread range (multichannel only)
panwidth :: Pattern Double -> ParamPattern Source #
a pattern of numbers between 0.0 and inf, which controls how much each channel is distributed over neighbours (multichannel only)
panorient :: Pattern Double -> ParamPattern Source #
a pattern of numbers between -1.0 and 1.0, which controls the relative position of the centre pan in a pair of adjacent speakers (multichannel only)
portamento :: Pattern Double -> ParamPattern Source #
release :: Pattern Double -> ParamPattern Source #
a pattern of numbers to specify the release time (in seconds) of an envelope applied to each sample. Only takes effect if attack
is also specified.
resonance :: Pattern Double -> ParamPattern Source #
a pattern of numbers from 0 to 1. Specifies the resonance of the low-pass filter.
room :: Pattern Double -> ParamPattern Source #
a pattern of numbers from 0 to 1. Sets the level of reverb.
shape :: Pattern Double -> ParamPattern Source #
wave shaping distortion, a pattern of numbers from 0 for no distortion up to 1 for loads of distortion.
size :: Pattern Double -> ParamPattern Source #
a pattern of numbers from 0 to 1. Sets the perceptual size (reverb time) of the room
to be used in reverb.
speed :: Pattern Double -> ParamPattern Source #
a pattern of numbers which changes the speed of sample playback, i.e. a cheap way of changing pitch. Negative values will play the sample backwards!
stutterdepth :: Pattern Double -> ParamPattern Source #
stuttertime :: Pattern Double -> ParamPattern Source #
unit :: Pattern String -> ParamPattern Source #
used in conjunction with speed
, accepts values of "r" (rate, default behavior), "c" (cycles), or "s" (seconds).
Using `unit "c"` means speed
will be interpreted in units of cycles, e.g. `speed "1"` means samples will be stretched to fill a cycle.
Using `unit "s"` means the playback speed will be adjusted so that the duration is the number of seconds specified by speed
.
vowel :: Pattern String -> ParamPattern Source #
formant filter to make things sound like vowels, a pattern of either a
, e
, i
, o
or u
. Use a rest (`~`) for no effect.
expression :: Pattern Double -> ParamPattern Source #
sustainpedal :: Pattern Double -> ParamPattern Source #
tremolorate :: Pattern Double -> ParamPattern Source #
tremolodepth :: Pattern Double -> ParamPattern Source #
phaserrate :: Pattern Double -> ParamPattern Source #
phaserdepth :: Pattern Double -> ParamPattern Source #
phaserrate_p :: Param Source #