Programmatically edit MIDI events via ALSA and reactive-banana http://www.haskell.org/haskellwiki/Reactive-balsa
|Latest on Hackage:||0.4|
MIDI is the Musical Instrument Digital Interface,
ALSA is the Advanced Linux Sound Architecture.
This package allows to manipulate a sequence of MIDI events via ALSA.
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
or the C packages
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.