reactive-balsa

Programmatically edit MIDI events via ALSA and reactive-banana

http://www.haskell.org/haskellwiki/Reactive-balsa

Version on this page:0.4.0.1@rev:1
LTS Haskell 22.39:0.4.0.1@rev:1
Stackage Nightly 2024-10-31:0.4.0.1@rev:2
Latest on Hackage:0.4.0.1@rev:2

See all snapshots reactive-balsa appears in

BSD-3-Clause licensed and maintained by Henning Thielemann
This version can be pinned in stack with:reactive-balsa-0.4.0.1@sha256:8a9308be1e30c1d478f9c51f4c4ea27e5102d8cf5b918920f32b10fc1c41d8d1,2956

Module documentation for 0.4.0.1

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 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.