let melody = slow 6 $ "0 2 [4 8 .] [3 4 3] 8 4 9"
scalePattern = slow 16 ""
d3
$ note
((scaleP scalePattern
$ (rotR 4)
$ (+ slow 8 "x" <~> ((0.25 ~>) generateMelodicSeed))
-- $ slow 4 \n
$ generateMelodicSeed
))#s "[pe-gtr:8,midi]" #gain 1.2 #orbit 2 #midichan 3
d4
-- $ rev \n
$ note
((scaleP scalePattern
-- $ off 4 ((+ 2 ).slow 2) \n
-- $ off 1 (inversion.slow 2) \n
$(rotR 1.5 )
$(+ slow 8 "x" <~> generateMelodicSeed)
-- $ inversion \n
$ generateMelodicSeed
))#s "[pe-gtr:12,midi]" #gain 1.2 #orbit 3 #midichan 4
index > /home/xinniw/Documents/garden/non-causal
filter.md
Non-Causal Filter
A non-causal filter is a digital filter that relies on future input values. (thus non-causal) It requires a system that has some latency to have future values in memory to work with. (it has no crystal ball) Non-causal equations can be used to model filters that would be impossible or too costly to implement as FIR or IIR filters
index > /home/xinniw/Documents/garden/non-causal
filter.md