Add looptober-25.hs
This commit is contained in:
parent
a14f807a07
commit
73c3108cb9
1 changed files with 52 additions and 0 deletions
52
looptober-25.hs
Normal file
52
looptober-25.hs
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
-- sets the amount of operator 'op' in the superfm output mix
|
||||||
|
-- (1 <= op <= 6)
|
||||||
|
fmamp :: Int -> Pattern Double -> ControlPattern
|
||||||
|
fmamp op = pF ("amp" ++ show op)
|
||||||
|
|
||||||
|
-- sets the ratio for operator 'op'.
|
||||||
|
-- the frequency is note * ratio + detune Hz
|
||||||
|
-- (1 <= op <= 6)
|
||||||
|
fmratio :: Int -> Pattern Double -> ControlPattern
|
||||||
|
fmratio op = pF ("ratio" ++ show op)
|
||||||
|
|
||||||
|
-- set the detune for operator 'op'
|
||||||
|
fmdetune :: Int -> Pattern Double -> ControlPattern
|
||||||
|
fmdetune op = pF ("detune" ++ show op)
|
||||||
|
|
||||||
|
-- set the modulation of oerator opa by operator opb
|
||||||
|
-- if opa == opb, then the modulation amount is multiplied by the
|
||||||
|
-- 'feedback' parameter
|
||||||
|
fmmod :: Int -> Int -> Pattern Double -> ControlPattern
|
||||||
|
fmmod opa opb = pF ("mod" ++ show opa ++ show opb)
|
||||||
|
|
||||||
|
-- feedback
|
||||||
|
fmfeedback :: Pattern Double -> ControlPattern
|
||||||
|
fmfeedback = pF "feedback"
|
||||||
|
|
||||||
|
-- Envelope definition: each operator has an envelop with 4 steps
|
||||||
|
fmeglevel :: Int -> Int -> Pattern Double -> ControlPattern
|
||||||
|
fmeglevel op step = pF ("eglevel" ++ show op ++ show step)
|
||||||
|
|
||||||
|
-- Envelope definition: sets the rate at which the envelope moves
|
||||||
|
-- between steps. Low numbers are slow, high numbers are fast.
|
||||||
|
fmegrate :: Int -> Int -> Pattern Double -> ControlPattern
|
||||||
|
fmegrate op step = pF ("egrate" ++ show op ++ show step)
|
||||||
|
|
||||||
|
do
|
||||||
|
resetCycles
|
||||||
|
d1 $ sometimes (# fmmod 1 2 saw)
|
||||||
|
$ sometimesBy "<0.0625 0.125 0.25>" ((1/8) ~>)
|
||||||
|
$ n "d!4"
|
||||||
|
# s "superfm"
|
||||||
|
# fmamp 1 1
|
||||||
|
# fmdetune 1 (slow 2 sine * 1.4)
|
||||||
|
# pan (range (1/4) (3/4) $ slow 2 sine)
|
||||||
|
# amp 0.15
|
||||||
|
d2 $ stack [
|
||||||
|
s "akailinnbd*4"
|
||||||
|
, sometimes (while "f!2 t f" $ ply 4) $ s "akailinnsd*2"
|
||||||
|
, s "rolandtr909lt/2"
|
||||||
|
]
|
||||||
|
d3 $ slow 2 $ s "supernoise" # n "d4" # amp "<0 0.05 0>" # voice "<0!2 1 0>"
|
||||||
|
d4 $ s "[~ cpluck]*4" # lpf (range 300 450 $ slow 4 saw) # hpf 150
|
||||||
|
d5 $ s "<~!2 [~ cpluck:6*4] ~>" # up "d6"
|
||||||
Loading…
Add table
Add a link
Reference in a new issue