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