synthesizer-midi-0.6.0.1: Render audio signals from MIDI files or realtime messages

Safe HaskellNone

Synthesizer.MIDI.PiecewiseConstant.ControllerSet

Contents

Description

Treat a stream of MIDI events as parallel streams of MIDI controller events.

Synopsis

Documentation

data T key a Source

Constructors

Cons 

Fields

initial :: Map key a
 
stream :: T StrictTime [(key, a)]
 

Instances

(Show key, Show a) => Show (T key a) 
Monoid (T key y) 
Ord key => Transform (T key y)

For reverse you must make sure, that all controller events have an corresponding initial value. Controllers that miss an initial value their last constant piece will be undefined.

Read (T key a) 
(NFData key, NFData a) => NormalForm (T key a) 

mapStream :: (T StrictTime [(key, a)] -> T StrictTime [(key, a)]) -> T key a -> T key aSource

maybeController :: C event => Channel -> event -> Maybe (Controller, Int)Source

controllerLinear :: C y => Controller -> (y, y) -> y -> Filter (T y)Source

controllerExponential :: C y => Controller -> (y, y) -> y -> Filter (T y)Source

pitchBend :: C y => y -> y -> Filter (T y)Source

pitchBend channel range center: emits frequencies on an exponential scale from center/range to center*range.

channelPressure :: C y => y -> y -> Filter (T y)Source

bendWheelPressure :: (C y, C y) => Int -> y -> y -> Filter (T (T y))Source

bendWheelPressureZip :: (C y, C y) => Int -> y -> y -> Filter (T (T y))Source

internal data needed in synthesizer-llvm