synthesizer-dimensional-0.8.1.1: Audio signal processing with static physical dimensions
Safe HaskellSafe-Inferred
LanguageHaskell2010

Synthesizer.Dimensional.Sample

Synopsis

Documentation

data T amp yv Source #

The constructor is only needed for arr, which is a kind of a hack.

Constructors

Cons amp yv 

Instances

Instances details
C q yv => C AllpassCascadeGlobal (Parameter q) (T amp yv) (T amp yv) Source # 
Instance details

Defined in Synthesizer.Dimensional.Causal.FilterParameter

Methods

process :: C u => T0 s u t (T1 s (T AllpassCascadeGlobal (RateDep s (Parameter q)), T amp yv) (T amp yv)) Source #

C q yv => C FirstOrderGlobal (Parameter q) (T amp yv) (T amp (Result yv)) Source # 
Instance details

Defined in Synthesizer.Dimensional.Causal.FilterParameter

Methods

process :: C u => T0 s u t (T1 s (T FirstOrderGlobal (RateDep s (Parameter q)), T amp yv) (T amp (Result yv))) Source #

C q yv => C MoogLowpassGlobal (Parameter q) (T amp yv) (T amp yv) Source # 
Instance details

Defined in Synthesizer.Dimensional.Causal.FilterParameter

Methods

process :: C u => T0 s u t (T1 s (T MoogLowpassGlobal (RateDep s (Parameter q)), T amp yv) (T amp yv)) Source #

(Storable q, Storable yv, C q yv) => C SecondOrderCascadeGlobal (Parameter q) (T amp yv) (T amp yv) Source # 
Instance details

Defined in Synthesizer.Dimensional.Causal.FilterParameter

Methods

process :: C u => T0 s u t (T1 s (T SecondOrderCascadeGlobal (RateDep s (Parameter q)), T amp yv) (T amp yv)) Source #

C q yv => C UniversalGlobal (Parameter q) (T amp yv) (T amp (Result yv)) Source # 
Instance details

Defined in Synthesizer.Dimensional.Causal.FilterParameter

Methods

process :: C u => T0 s u t (T1 s (T UniversalGlobal (RateDep s (Parameter q)), T amp yv) (T amp (Result yv))) Source #

C q yv => C AllpassPhaserGlobal (q, Parameter q) (T amp yv) (T amp yv) Source # 
Instance details

Defined in Synthesizer.Dimensional.Causal.FilterParameter

Methods

process :: C u => T0 s u t (T1 s (T AllpassPhaserGlobal (RateDep s (q, Parameter q)), T amp yv) (T amp yv)) Source #

Build (T amp yv) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

Methods

build :: Amplitude (T amp yv) -> Displacement (T amp yv) -> T amp yv Source #

Inspect (T amp yv) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

Methods

amplitude :: T amp yv -> Amplitude (T amp yv) Source #

displacement :: T amp yv -> Displacement (T amp yv) Source #

type Amplitude (T amp yv) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

type Amplitude (T amp yv) = amp
type Displacement (T amp yv) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

type Displacement (T amp yv) = yv

cons :: C amp => amp -> yv -> T amp yv Source #

type Dimensional v y yv = T (Dimensional v y) yv Source #

type Numeric amp yv = T (Numeric amp) yv Source #

type Flat y = T (Flat y) y Source #

type family Amplitude sample Source #

When you define additional instances, take care that displacements and amplitudes cannot be brought out of order!

Instances

Instances details
type Amplitude (T amp yv) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

type Amplitude (T amp yv) = amp
type Amplitude (sample0, sample1) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

type Amplitude (sample0, sample1) = (Amplitude sample0, Amplitude sample1)
type Amplitude (sample0, sample1, sample2) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

type Amplitude (sample0, sample1, sample2) = (Amplitude sample0, Amplitude sample1, Amplitude sample2)

type family Displacement sample Source #

Instances

Instances details
type Displacement (T amp yv) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

type Displacement (T amp yv) = yv
type Displacement (sample0, sample1) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

type Displacement (sample0, sample1) = (Displacement sample0, Displacement sample1)
type Displacement (sample0, sample1, sample2) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

type Displacement (sample0, sample1, sample2) = (Displacement sample0, Displacement sample1, Displacement sample2)

class Build sample where Source #

Methods

build :: Amplitude sample -> Displacement sample -> sample Source #

Instances

Instances details
Build (T amp yv) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

Methods

build :: Amplitude (T amp yv) -> Displacement (T amp yv) -> T amp yv Source #

(Build sample0, Build sample1) => Build (sample0, sample1) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

Methods

build :: Amplitude (sample0, sample1) -> Displacement (sample0, sample1) -> (sample0, sample1) Source #

(Build sample0, Build sample1, Build sample2) => Build (sample0, sample1, sample2) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

Methods

build :: Amplitude (sample0, sample1, sample2) -> Displacement (sample0, sample1, sample2) -> (sample0, sample1, sample2) Source #

class Inspect sample where Source #

Methods

amplitude :: sample -> Amplitude sample Source #

displacement :: sample -> Displacement sample Source #

Instances

Instances details
Inspect (T amp yv) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

Methods

amplitude :: T amp yv -> Amplitude (T amp yv) Source #

displacement :: T amp yv -> Displacement (T amp yv) Source #

(Inspect sample0, Inspect sample1) => Inspect (sample0, sample1) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

Methods

amplitude :: (sample0, sample1) -> Amplitude (sample0, sample1) Source #

displacement :: (sample0, sample1) -> Displacement (sample0, sample1) Source #

(Inspect sample0, Inspect sample1, Inspect sample2) => Inspect (sample0, sample1, sample2) Source # 
Instance details

Defined in Synthesizer.Dimensional.Sample

Methods

amplitude :: (sample0, sample1, sample2) -> Amplitude (sample0, sample1, sample2) Source #

displacement :: (sample0, sample1, sample2) -> Displacement (sample0, sample1, sample2) Source #