Sound.SC3.Common.Buffer.Gen

Contents

Description

Implementaion of server b_gen routines.

The naming scheme is: _p generates one partial, _l generates a list of partials, _nrm is the unit normalised form.

Synopsis

Documentation

sum_l :: Num n => [[n]] -> [n] Source #

Sum (mix) multiple tables into one.

nrm_u :: (Fractional n, Ord n) => [n] -> [n] Source #

Unit normalisation.

sine1

sine1_p :: (Enum n, Floating n) => Int -> (n, n) -> [n] Source #

sine1_l :: (Enum n, Floating n) => Int -> [n] -> [[n]] Source #

sine1 :: (Enum n, Floating n) => Int -> [n] -> [n] Source #

sine1_nrm :: (Enum n, Floating n, Ord n) => Int -> [n] -> [n] Source #

sine2

sine2_l :: (Enum n, Floating n) => Int -> [(n, n)] -> [[n]] Source #

sine2 :: (Enum n, Floating n) => Int -> [(n, n)] -> [n] Source #

sine2_nrm :: (Enum n, Floating n, Ord n) => Int -> [n] -> [n] Source #

sine3

sine3_p :: (Enum n, Floating n) => Int -> (n, n, n) -> [n] Source #

sine3_l :: (Enum n, Floating n) => Int -> [(n, n, n)] -> [[n]] Source #

sine3 :: (Enum n, Floating n) => Int -> [(n, n, n)] -> [n] Source #

cheby

gen_cheby :: (Enum n, Floating n, Ord n, Integral i) => i -> [n] -> [n] Source #

Generate Chebyshev waveshaping table, see b_gen_cheby.

import Sound.SC3.Plot
plotTable1 (gen_cheby 256 [1,0,1,1,0,1])

cheby :: (Enum n, Floating n, Ord n) => Int -> [n] -> [n] Source #