synthesizer-alsa-0.3: Control synthesizer effects via ALSA/MIDI

Synthesizer.PiecewiseConstant.ALSA.MIDIControllerSet

Description

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

Synopsis

Documentation

data T key a Source

Instances

(Show key, Show a) => Show (T key a) 
Monoid (T key y) 
Read (T key a) 
(NFData key, NFData a) => NormalForm (T key a) 
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.

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

data BendModulation a Source

Constructors

BendModulation a a 

Instances

shiftBendModulation :: C a => a -> BendModulation a -> BendModulation aSource

Multiply the pitch bend by a given factor. This way you can e.g. shift the pitch bend from around 1 to the actual frequency.

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