Safe Haskell | None |
---|---|
Language | Haskell98 |
Tools to build Fm synthesis graphs
Example
f a = fmOut1 $ do x1 <- fmOsc 1 x2 <- fmOsc 2 x1 `fmod` [(a, x2)] return x1
- type Fm a = State St a
- data FmNode
- fmOsc' :: (Sig -> SE Sig) -> Sig -> Fm FmNode
- fmOsc :: Sig -> Fm FmNode
- fmSig :: Sig -> Fm FmNode
- fmod :: FmNode -> [(Sig, FmNode)] -> Fm ()
- fmOut :: Fm [(Sig, FmNode)] -> Sig -> SE [Sig]
- fmOut1 :: Fm FmNode -> Sig -> SE Sig
- fmOut2 :: Fm (FmNode, FmNode) -> Sig -> SE Sig2
- data FmSpec = FmSpec {}
- data FmGraph = FmGraph {
- fmGraph :: [(Int, [Int])]
- fmGraphOuts :: [Int]
- fmRun :: FmGraph -> FmSpec -> Sig -> SE Sig
- dx_1 :: FmGraph
- dx_2 :: FmGraph
- dx_3 :: FmGraph
- dx_4 :: FmGraph