Process MIDI events via reactive-banana and JACK.
MIDI is the Musical Instrument Digital Interface, JACK is the JACK Audio Connection Kit. This package allows to manipulate a sequence of MIDI events via JACK. It is intended to be plugged as a playing assistant between a MIDI input device (e.g. a keyboard or a controller bank) and a MIDI controlled synthesizer (e.g. a software synthesizer or an external synthesizer). For software synthesizers see the Haskell packages synthesizer-alsa
, synthesizer-llvm
, supercollider-midi
, hsc3
, YampaSynth
or the C packages fluidsynth
and Timidity
.
Applications include: Remapping of channels, controller, instruments, keys, Keyboard splitting, Conversion from notes to controllers, Latch mode, Convert parallel chords to serial patterns, Automated change of MIDI controllers, Delay and echo.
It is intended that you write programs for MIDI stream manipulation. It is not intended to provide an executable program with all the functionality available in a custom programming interface. It is most fun to play with the stream editors in GHCi. However we provide an example module that demonstrates various effects.